Does Hyfinity have any unit testing checklist or template. Though more general, but something similar to http://www.in.gov/fssa/files/Unit_Test_Checklist.pdf
Due to WebMaker's code-free nature much of the code-based unit testing is difficult to map directly onto WebMaker applications. Because WebMaker creates actual previews of each page using the actual CSS, HTML, Javascript and basic test data, many of your checklist items are satisfied during the build stage. Also, when you deploy/publish the application to a test server, you can use the Test Dashboard to view a full step-by-step trace of the application execution, including the navigation, data flow and state after each execution step.
Other aspects of your checklist, depend on the type of application you are building. For example, whether the application needs to be section 508 compliant, etc.
Although, not directly linked to unit testing, I have provided pointers against some of the test items in your document on the follow up post to highlight the areas to focus on and how some of these are met by WebMaker. As a summary:
Layout - WebMaker handles layout through CSS and the Skin file. You can see the effects during development.
Field Validations - Much of this is automated. How much depends on the quality of the data model used to create pages. If pages are created using the palettes then you can enter the validation parameters within the Field Details tab. These validations are reflected within the design previews and can be tested individually.
Driver/Navigation - The navigation is governed by the application map and the actions that are defined against various controls within each page.
Processing - Server processing is handled using rules within Controllers - there is no traditional code. Full data flow is visible by default during design with step-by-step trace of rule execution. You can use the Test Dashboard.
Functionality - Much of what you would code on the client-side using Javascript, etc. is automatically created for you as you drag-and-drop controls and data source items, including validation, server-data bindings, etc.
You should also be able to use automated web testing tools to hook up to WebMaker application pages. These execute as standard thin HTML,CSS and Javascript pages.
I hope this helps, but please let me know if I can help you further at this stage.
Kind Regards
Abdul[hr][/hr]
Hi There
I have reproduced selected test items from your initial post and provided comments against some of the items. Please read this with my earlier reply and let me know if I can assist you further.
Kind Regards
Abdul
Layout
Layout in WebMaker is handled using CSS. You also have a Skin file that affects the positioning of parts of each page. You will have default CSS and Skin files, which you can replace or change, but often you will modify the existing files. You can also include CSS files per page that cascade with the master CSS file. You can locate skin and CSS files under Advanced Options in the Application Map tab. [Search: CSS, Skin, Layout] within the Forum and WebMaker Documentation. An example use of the skin might be to eliminate a page header/menu if the page will reside within a container application such as CRM/BPM or show the header if the page will run standalone.
[tr][td]Correct page title is displayed below header and browser window[/td][/tr]
[tr][td]Page fits 800/600 resolution without horizontal scroll bars[/td][td]Change the CSS to ensure groups
repeats
etc fit within the required dimensions.[/td][/tr]
[tr][td]Mandatory fields are indicated with a '*' [/td][td]This will be automatically created for you if you have used a data source that defines fields as required/mandatory.[/td][/tr]
[tr][td]Formatting of page fonts text types is handled through CSS; Page should still be readable without CSS on. [/td][td]Automatic[/td][/tr]
[tr][td]All fields are properly formatted as per screen shots [/td][td]Use CSS[/td][/tr]
[tr][td]All images are correct and formatted [/td][td]Use CSS for alignment[/td][/tr]
[tr][td]All images have ALT tags [/td][td]Use the Accessibility Options under Field Details[/td][/tr]
[tr][td]Navigation Button text : 'Next'
"Exit" and 'Back' [/td][td]Use buttons with suitable events
together with the correct navigation paths in the App Map[/td][/tr]
[tr][td]Disclaimer about answers not being saved displays
[tr][td]Verify Text formatting and Spacing [/td][td]CSS[/td][/tr]
[tr][td]Verify Header
Footer and Nav Bar display correctly (includes)[/td][/tr]
[tr][td]Verify the appropriate links in Nav Bar are highlighted with the correct images [/td][td]CSS[/td][/tr]
[tr][td]Page functions correctly when Javascript is turned off [/td][td]Most forms controls degrade to ensure your page is functional without Javascript. Use caution when using controls from the composite controls group.[/td][/tr]
Driver, Navigation and Startup
For most of these navigational aspects, ensure the correct buttons are mapped to the appropriate actions and also the correct flow is modelled in the app map. WebMaker will handle the general navigation between pages automatically. If you need to write custom script to manage the browser buttons or pop-ups then you will need to include script files and link these under Events Options in Field Details.
[tr][td]Driver, Navigation and Startup[/td][td]Comments[/td][/tr]
[tr][td]Verify Back button takes user to previous page[/td][/tr]
[tr][td]Verify Next button takes user to next page and saves responses [/td][/tr]
[tr][td]Verify Exit button takes user back to welcome page after warning pop-up[/td][/tr]
[tr][td]Ensure Navigation Bar has the correct links active[/td][/tr]
[tr][td]Verify Nav bars take user back to the correct page[/td][/tr]
[tr][td]Verify Navigation Help Link[/td][/tr]
[tr][td]Verify all hyperlinks on page[/td][/tr]
[tr][td]Browser Buttons are disabled[/td][/tr]
[tr][td]Page Startup[/td][/tr]
[tr][td]Verify invoking page from previous page[/td][/tr]
[tr][td]Verify invoking page from following page[/td][/tr]
[tr][td]Processing[/td][/tr]
[tr][td]Verify cleanup of unrelated data [/td][td]Any transient data within Controllers is automatically cleaned after execution unless you cache it using the Cache actions. If you have persisted the data in a data source then you will need to make an appropriate SQL or Web Service call to ensure cleanup[/td][/tr]
[tr][td]Verify delete of application data[/td][/tr]
[tr][td]Verify insert of application data[/td][/tr]
[tr][td]Verify retrieval of application data[/td][/tr]
[tr][td]Verify update of application data[/td][/tr]
[tr][td]Functionality[/td][/tr]
[tr][td]Stick Figures display with correct Name and Age[/td][/tr]
[tr][td]Drop down boxes have correct values from reference tables[/td][td]Ensure you use the correct data bound controls. You can check that the information is bound correctly during design and deployment using the generated instance documents within the Data Bindings tab and also the actual data source during runtime under the Test Dashboard.[/td][/tr]
[tr][td]Client-side validations perform correctly [/td][td]Much of the validation will be handled automatically
especially if you used a data source with well-defined data models.[/td][/tr]
[tr][td]Correct error message from properties file displays [/td][td]Insert the file within a controller and dynamically bind to these on the required controls.[/td][/tr]
[tr][td]Server-side validations perform correctly - All validations must exist on server side [/td][td]You can encapsulate your rules within Controllers. You can check the step-by-step execution of your rules and the state of your data after each step within the Test Dashboard.[/td][/tr]
[tr][td]Default action occurs when user hits enter. Default action is 'Next'[/td][/tr]
[tr][td]Does the page correspond to the screen map and screen shots?[/td][/tr]
Coding Standards & Practices
This section is not really relevant for WebMaker because it is code-free by default and also much of the scripting on the client is automatically created as required. Also, server logic is in declarative format, contained within Controllers.
[tr][td]Ensure Proper usage of style sheets (.css) [/td][td]You can include CSS files as required for the overall app and individual pages.[/td][/tr]
[tr][td]Proper use of #INCLUDE files [/td][/tr]
[tr][td]JSP Template structure followed[/td][/tr]
[tr][td]Ensure removal of System.out.prinltn statement.(Usage of Debug.println's recommended) [/td][td]The Test Dashboard provides full trail of rule execution
together with instance data after each step. This is provided by default and you can change the level of the tracing required. You do not have to use any println or trace equivalents.[/td][/tr]
[tr][td]Session bean contains code to clean session[/td][/tr]
[tr][td]Maxlength property set on all textbox controls [/td][td]Automatic if well modelled data source is used.[/td][/tr]
[tr][td]Code is readable and easy to follow (proper indentation
RE: Unit Testing
Due to WebMaker's code-free nature much of the code-based unit testing is difficult to map directly onto WebMaker applications. Because WebMaker creates actual previews of each page using the actual CSS, HTML, Javascript and basic test data, many of your checklist items are satisfied during the build stage. Also, when you deploy/publish the application to a test server, you can use the Test Dashboard to view a full step-by-step trace of the application execution, including the navigation, data flow and state after each execution step.
Other aspects of your checklist, depend on the type of application you are building. For example, whether the application needs to be section 508 compliant, etc.
Although, not directly linked to unit testing, I have provided pointers against some of the test items in your document on the follow up post to highlight the areas to focus on and how some of these are met by WebMaker. As a summary:
Layout - WebMaker handles layout through CSS and the Skin file. You can see the effects during development.
Field Validations - Much of this is automated. How much depends on the quality of the data model used to create pages. If pages are created using the palettes then you can enter the validation parameters within the Field Details tab. These validations are reflected within the design previews and can be tested individually.
Driver/Navigation - The navigation is governed by the application map and the actions that are defined against various controls within each page.
Processing - Server processing is handled using rules within Controllers - there is no traditional code. Full data flow is visible by default during design with step-by-step trace of rule execution. You can use the Test Dashboard.
Functionality - Much of what you would code on the client-side using Javascript, etc. is automatically created for you as you drag-and-drop controls and data source items, including validation, server-data bindings, etc.
You should also be able to use automated web testing tools to hook up to WebMaker application pages. These execute as standard thin HTML,CSS and Javascript pages.
I hope this helps, but please let me know if I can help you further at this stage.
Kind Regards
Abdul[hr][/hr]
Hi There
I have reproduced selected test items from your initial post and provided comments against some of the items. Please read this with my earlier reply and let me know if I can assist you further.
Kind Regards
Abdul
Layout
Layout in WebMaker is handled using CSS. You also have a Skin file that affects the positioning of parts of each page. You will have default CSS and Skin files, which you can replace or change, but often you will modify the existing files. You can also include CSS files per page that cascade with the master CSS file. You can locate skin and CSS files under Advanced Options in the Application Map tab. [Search: CSS, Skin, Layout] within the Forum and WebMaker Documentation. An example use of the skin might be to eliminate a page header/menu if the page will reside within a container application such as CRM/BPM or show the header if the page will run standalone.
Driver, Navigation and Startup
For most of these navigational aspects, ensure the correct buttons are mapped to the appropriate actions and also the correct flow is modelled in the app map. WebMaker will handle the general navigation between pages automatically. If you need to write custom script to manage the browser buttons or pop-ups then you will need to include script files and link these under Events Options in Field Details.
Coding Standards & Practices
This section is not really relevant for WebMaker because it is code-free by default and also much of the scripting on the client is automatically created as required. Also, server logic is in declarative format, contained within Controllers.