Phase 3: Testing & Training
While Quality Assurance behaviors are practiced throughout the development process, an application must be tested in dozens of ways to ensure it is as near to free of bugs and aberrations as possible. Potential edge and corner cases are explored, stress testing is performed and hacking is attempted to ensure that all potential vulnerabilities are identified and rectified.
After internal unit testing is completed, the application will be deployed to a small subset of client users who can offer feedback about any logical or process issues. These are rare at this point, but this step helps ensure the system is developed to the client's satisfaction.
Phase 3 Details:
- Confirm all requirements listed in scope are completed to specification
- Walk through processes for all use case scenarios
- Attempt to "break" all functions, inputs, session/cookie elements, form elements, database interaction, SQL injection, etc.
- Attempt to illegally access systems
- Stress test server load capabilities and optimize server settings accordingly
- Test new version releases (major and minor) and version rollback scenarios
- Test backup restoration and system outage/redundant fail-over scenarios
- Prepare client training materials
- Schedule and perform training sessions for client
- Client interaction: beta testing of system prior to full release to identify any exception cases, uncaught issues, etc.
- As needed: Resolve outstanding issues and remaining client requests
Read on to Phase 4: Data Migration & Implementation
