This step deals with verifying that the solution that has been built satisfies the needs/requirements identified during Discover, Analyze & Recommend and refined during Design, Develop & Integrate. It also deals with verifying that the solution has satisfied Quality Assurance thresholds and is ready for deployment into the production environment.
Some best practices pertaining to Test & Quality Assurance are as follows:
- Follow established organizational Change Management procedures.
- When scheduling a change there should be a clearly defined backout/recovery plan in case problems arise. Also someone capable of executing the backout/recovery plan should be available for at least the next 3 days (even if the 3 days fall outside the advertized or expected service level).
- When an immediate/emergency change is required, make only the minimum and necessary changes to remediate that emergency issue and deploy them following emergency change management process. All other non-emergency changes will be deployed separately and follow the non-emergency change management process.
- Maintain testing and Quality Assurance documentation
- Maintain testing and QA documentation (for applications, projects, services etc.) in the applicable code repository (e.g. UNL's Git repository) and/or team site (e.g. shareit.unl.edu). The testing and QA documentation should contain the following:
- List of best practices that are not being followed with justifications
- Results with dates of functionality, accessibility and security testing
- A testing template for verifying overall functionality at deployment and version upgrades
- The testing template should contain use cases drawn from the requirements documentation ( see Requirements Gathering)