Test Case Prioritization
Features with critical functionality, business value, risk, and customer impact should be made high-priority and executed early.
Optimizes test efforts, focuses on the most important work first, and aligns with business priorities and goals.
Risk-based Prioritization
Address the most critical high-risk features first.
If you don’t prioritize them and then run out of time, leading to inadequate testing, the business could be severely negatively impacted.
Stakeholders are less worried about the low-risk features.
Ask stakeholders: what are the most critical features that have the most risk?
Prioritize test cases based on the potential impact of a failure on the business and its customers.
Example
A financial services company is building a new online banking platform.
Approach:
- Critical areas, including transactions, authentication, and data encryption, are identified as high-risk.
- Test cases focusing on these high-risk areas are prioritized.
- Less critical aspects, such as the user interface for viewing transaction history, are given lower priority.
Coverage-based Prioritization
Orders tests based on the coverage of code, with tests providing the highest statement or branch coverage executed initially.
Main benefit is it ensures a wide portion of the code base is tested early.
Real-life:
- Tests that exercise the most code paths are fun early
- Tests that validate new features are run early
- Tests that exercise core functions are also run early
- Tests for less frequently used features are executed later
Requirement-based Prioritization
Tests linked to the most vital requirements, as defined by stakeholders are done first.
Testing is aligned with business goals and customer needs/expectations, making the product more valuable to the customer.
Example: Test cases verifying new privacy controls for patient data tested first