? QA Design Gurus: Are you Prioritizing your test cases?

Mar 25, 2016

Are you Prioritizing your test cases?

Everyone knows the importance of prioritizing defects. The priority we place on bugs is crucial to the success of a project. Therefore, the priority assigned to a Test Case (test case) It is equally important.
One performance goal, an improved rate of fault detection (rate of fault detection is a measure of how quickly faults are detected within the testing process) can provide faster feedback on the system under test, and let software engineers begin locating and correcting bugs earlier than might otherwise be possible. Also, when the time required to run all test cases in the test suite is sufficiently long, the benefits offered by test case prioritization methods become more significant.

Prioritizing test cases based on perceived risks, customer’s requirements, time taken for a test to execute etc. There are many possible goals for prioritization, for example:
1.      Testers may wish to increase the rate of fault detection of test suites
2.      Testers may wish to increase the coverage of code in the system under test at a faster rate, allowing a code coverage criterion to be met earlier in the test process.
3.      Testers may wish to increase their confidence in the reliability of the system under test at a faster rate.
4.      Testers may wish to increase the likelihood of revealing faults related to specific code changes earlier in the testing process.

How do we prioritize test cases?
There are many techniques defined to help tester prioritize the test cases. But, it is up to the team to decide on what technique to follow, or if he really needs to mix and use multiple techniques to achieve best results. Here are few techniques:

1.      Customer Requirement-based techniques:
a.      Prioritize tests based on the customer usage
b.      Prioritize test cases based on requirement documents.
2.      Coverage-based techniques.
a.      Prioritize test cases based on coverage criteria, such as requirement coverage, total requirement coverage, additional requirement coverage and statement coverage.  Ie., Choosing the test which covers most of the source code by exercising it.
3.      Cost Effective-based techniques.
a.      Prioritize test cases based on costs, such as cost of analysis and cost of prioritization.
4.      Chronographic history-based techniques.
a.      prioritize test cases based on test execution history

Test case prioritization techniques prioritize and schedule test cases in an order that attempts to maximize some objective function. 

No comments:

Post a Comment