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