- The test cases that are required to be executed for a particular build need to be identified.
- The test execution should essentially be lean.
- The QA and Dev need to sit together and identify the areas affected due to a particular build and execute those related test cases plus a sanity test pass.
- You also need to configure specialized code analysis and coverage tools to make sure that you achieve near 100% code coverage.
- The concept of executing all regression test cases for a test pass is soon becoming obsolete.
- The strategy around testing new features needs to be formalized and the interim builds can be supplied to QA who would, in turn, create test scripts and run these automation tests on the interim builds till the code becomes stable enough to be deployed onto the Production environment.
- All the environments required for testing need to be standardized and the deployments have to be automated.
- Using various automation techniques, QA should be able to fire Automation Testing runs across various cross-platform (and cross-browser in case of web applications) environments.
- Parallel execution of tests helps in reducing time-to-live, which in turn is the crux of a successful DevOps implementation.
- Exit criteria need to be set for each run so that when the results of the tests are fed back to the chain, a go/no-go decision to Production is taken.
- Blocker or Critical bugs found need to be reported & fixed and passed through the same chain of events before the code is deployed in the Production environment.