Software testing is more than just a stage in the development process. Testing is a philosophy that should embrace the entire application management life cycle.
In order to achieve high quality for our products, we have to define what Releasing Quality Products means for us and turn it into our corporate culture.
Quality does not start at the testing stage, but as early as the project inception stage.
The following are a few items for discussion:
Requirements
- Analysis and grooming – project details, scope, preliminary test plan
- Validation- check whether the specification captures the customer’s needs
- User friendly
- Ensure all the use cases are covered in the requirements
- Dependencies/system taken into consideration
- Consistency between forms/modules is maintained (look and feel)
- Edge case/use frequency policy
Test coverage
- Unit test first (by DEV)
- Simulation/emulation vs. real life test
- End to end scenarios
- Test case writing convention
- Test case review
- Automation vs. manual
Test execution
- Verification- check whether the software meets the specification.
- Bug creation convention
- Bug monitoring workflow
- Test environment
- Sign-off
Definition of Done/Ready for deployment in production
- Bug-free vs. abide by the release deadline
Known issues (in DEV and Production)
- To fix or not to fix
Production validation – to improve customer retention and minimize support calls
- Dark deployment for production verification
- Sanity vs. Regression