The idea of checklists has been summarized to carry out systematic software testing for many systems or units. For instance, a checklist of product specifications with each main specification item as a checklist item can be applied for the implementation of black-box testing.
By analogy, checklists of expected software features that should be used in software product or coding features that are supposed to be executed after the execution of the software features, can be used for different types of white-box testing.
The widespread testing strategy of assertion coverage in unit and component testing, or component coverage in integration and system testing, is also considered as checklist for white-box testing. Each point of such checklist is regarded as a specific assertion or component. Operational profiles, as a specific kind of checklist, where each item is associated with an operation, can be applied for usage-based statistical testing.
When applying such checklists, software testing, based on the specific checklist, can be stopped when all items in the list have been checked. Checked item implies that the appropriate test case has been performed, and follow-up activities, such as fixing discovered faults, have been executed successfully.
Some widespread checklists for black-box or white-box coverage testing are described below:
- Functional black-box checklists at different levels of abstraction and specification. It varies from the basic high-level functions for the entire system to specific low-level functions for the units.
- White-box checklists at different levels of specification. It varies from sub-systems and units at the high level to individual features at the low level.
- Checklists of different structures or statements that pass through the general information exchange module, the list of consumers and producers for some resources and other similar elements. Such lists are associated with the implementing, so they can be attributed to the white-box checklists.
- A checklist for the relational database products. It contains such items as backup and restore, co-existence, logging, recovery and locking, stress resistance etc. Every item is regarded to a specific high-level area or important function which can be refined into sub-areas using other specific checklists.
- Checklists concerning specific properties, such as standard of coding and others. They can be either considered as black-box or white-box.
It is also available to form a new checklist. A common way to get useful checklist is to take some items of the comprehensive lists and merge them by some criteria.