Examples of Validation are one of the easier items to find as long as the definition referred to in the some of the earlier posts is used. Validation covers all active testing where code has been generated and we are able to run it actively.
So it includes at least the following list of Test Phases:
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
And the following list of Test Types:
- Initial Testing
- Configuration Testing
- Compatibility/Conversion Testing
- Installability Testing
- On-Going Testing
- Functionality Testing
- Facility Testing
- Security Testing
- Performance Testing
- Volume Testing
- Stress Testing
- Load Testing
- Speed of Response Testing
- Storage Testing
- Post Functional Testing
- Usability Testing
- Reliability Testing
- Recovery Testing
- Post Installation Testing
- Serviceability Testing
Despite the length of the two lists above, they are not that hard to deal with since they break the testing into several disparate groups and make it easier to ensure that everything is addressed and not omitted from consideration.
The two key points are to determining into which phase the Types of Testing fall and whether they are worth doing. The second question is much harder to answer than the first.
If you ask the stakeholders for most projects, they will simply answer that all Types of Testing should be full completed with all possible depth and speed. If you ask them to budget for it, you usually end up with a minimization statement asking for the cheapest testing. The best answer we have found to deal with this type of conundrum is to provide the following:
- Provide the above list of Validation testing types.
- Define each one briefly.
- List the recommended phase.
- Provide the recommendation for inclusion or exclusion.
- Provide the risk of failure to include them.
This provides the stakeholders with all the information they need to make the correct decision and weigh the various merits of completing the various types of testing. In the event that they still cannot come to a decision, then add a recommendation based on the project.