Quality Engineering Best Practices
Many reports state that more than 80% projects are unsuccessful either because they are over budget, late, missing functions or a combination of all three. We with our efforts try to increase the certainty of success by implementing new technologies, new management practices, taking risks, evaluating various options which might work in our favour or go vain.
All such actions which has worked for better are called as Best Practices. Just referring and applying of best practices doesn’t make us to move forward, re generation does so we should ever focus on generating best practices.
There is no hard list of best practices and it’s only a soft list of best practices which needs to be interpreted, blended and applied with wisdom. Here are the best practices in the area of Quality Assurance across Key dimensions/areas
- QA Participation in business requirements/review meetings
- Reverse traceability to avoid redundant test cases
- Better test coverage by using Bi-directional requirements traceability matrix and effective test design techniques like Static and dynamic techniques
- Two- Level formal review before Sign-off from Business team which will ensure test cases are not dead
- Automated test generation by leveraging model based testing
- Test cases should be clear, concise, correct and complete
- Categorise the test cases with proper prioritisation and level of testing that they need
- Focus on Dual Shift test approaches across CI/CD eco system
- Participation of QA teams in early SDLC cycles to gain application knowledge
- Teaming with developers/Business team helps in validating the actual results with expected behaviors with a quick turn around
- Formal Entry and Exit criteria (ETVX) by defining quality gates and checklists across the system
- Automating good percentage of feasible regression suite
- Early defect detection and mapping to test requirements
- Adopting practices like Multiple Platform testing, Frequent Builds(Nightly builds) and Internal Beta testing to ensure defect leakages
- Forming a team of expert testers to perform exploratory testing
- Deploy effective regression test strategies like Targeted based regression testing, Impact based regression testing to optimize testing efforts and reduce duration of testing cycles
- Leveraging focus groups for security , performance testing and Mobile testing with Labs and shared equipment
- Test execution strategies must be planned based on development methodology, plan for both Incremental testing and Big bang testing
- Enforce acceptance tests and Unit Tests on development servers and formal test readiness review meetings happens before QA starts testing
- Usage of Production Replica environment and test data to simulate customer environments
- Creating an effective Bug tracking template in tools or spreadsheets so that Key Parameter information (KPI) is captured which in turns helps to recreate problem and trace the error cause.
- Creating an Internal Defect Review board (DRB) and Guidelines to effectively manage Known issues, Invalid defects
- Training the test teams to understand customer usage patterns and find the defects that matter to increase the detection of high impact defects which will reduce the load to triage unimportant and invalid defects at peak times
- Identifying areas of defect clustering and revisiting the test strategy
- Designing effective test strategy to identify Masked Areas, Hard Areas(Probabilistic and deterministic) and Soft areas(sick but not yet dead)
- Analyzing the root causes for all the issues and built awareness across all the groups to drive RCA and ensure in defect reduction
- Focusing on Defect Prediction techniques to foresee the quality of the builds.
- Early stage automation which helps in validating the requirements early in the life cycle with API test coverage
- Including both functional and nonfunctional test cases in automation
- Automating majority of Unit testing with continuous integration in place and ensure to build test suite on every commit to main repository and measuring code coverage.
- Automating 90% of regression test suite and ensure regression tests are triggered automatically as when as builds are deployed with CI server. This should be ensured on every build even on frequent builds
- Designing of automation framework such that tests fail fast
- Automating Smoke and Sanity tests and execution is completed within 15 minutes
- Building Automation framework in such a way that there exists reusability , extensibility and data trend for test results reporting
- Providing for Fast Data-Reset Capabilities and having an option to re execute failed cases by a single click and Reduce the time to re execute failed cases
- Enhanced product knowledge through effective Knowledge Management Framework
- Formalized Statistical analysis and impact analysis to find vulnerable test areas
- Driving test efforts by analyzing and focusing on Defect Taxonomies used to drive testing efforts.
- Evaluating and improving the quality of requirements
- Creating of centralized testing solutions like TCoE with adoption of Test Accelerators and Drivers