Test Prioritization

Test prioritization is ordering the test cases to be conducted eventually. Prioritizing test cases aids to meet two important constraints, namely time and budget in software testing to enhance the fault detection rate as early as possible. In simple terms: deciding which test cases to run first (or more often) when time and resources are limited.

How to prioritize tests? (Common factors)

  1. Risk & Impact – Features that affect many users (e.g., payments, login).

  2. Frequency of use – Functions used daily should be tested before rare ones.

  3. Recent changes – Test areas of code that were modified recently.

  4. Past defects – Modules that had bugs earlier may have them again.

  5. Critical business value – Core features (checkout, money transfer) before nice-to-have features.

Let’s use the ATM machine example:

  • High priority tests: Insert card, enter PIN, withdraw cash, update balance.

  • Medium priority tests: Change PIN, check mini statement.

  • Low priority tests: Language change, printing advertisement slips.

If you have limited time, you’ll test withdrawal & balance first (critical), not the ad slip.

Here’s a step-by-step Test Prioritization Checklist you can use in any project:

Test Prioritization Checklist

1. Identify critical functionalities

  • What features are core to business?

  • Example: Payments, login, data security.


2. Check recent changes in code

  • Which modules were updated in the latest build?

  • Prioritize tests around those changes (regression + new features).


3. Consider risk & impact

  • High-risk areas (security, financial transactions, data loss) get top priority.

  • Even small bugs here could cause big problems.


4. Look at usage frequency

  • Features used by most users daily → test earlier.

  • Rarely used features → lower priority.


5. Review past defect history

  • Modules with many past bugs are more likely to break again.

  • Prioritize tests in those areas.


6. Factor in test execution time

  • Quick tests that cover a lot should be prioritized.

  • Long, complex tests may be pushed later if not critical.


7. Business deadlines / customer needs

  • If a feature is about to be released → its tests get higher priority.