You are on page 1of 2

Specific Test Case Selection and Prioritization for Regression Testing

Regression testing is an important part of maintenance. It is performed when


the software is modified to ensure that it has not lost the desired functionality.
Regression test suites can be expensive to execute in full; thus test engineers
may adopt a suitable strategy to reduce the testing time. Many techniques are
proposed for minimizing cost related to regression testing. They include test
selection, test prioritization and a hybrid approach.
 Test case minimization approach is proposed in which reduce test suite
size to reduce the overall cost by discarding the tests permanently.
 A selective regression testing technique chooses a subset of test suite
that was used to test the software before modifications were made, and
then uses this subset to test the modified software.
 Prioritization is the process of scheduling test cases in an order to meet
some performance goal. There can be number of possible goals of test
case prioritization e.g., testers may wish to increase the rate of fault
detection, or to find the critical faults at the earliest or may wish to
cover the maximum code during testing at the earliest.
 There are two varieties of test case prioritization viz. general test
case prioritization and version specific test case prioritization.
 In general test case prioritization, for a given program
P and test suite T, prioritization is made over those test
cases that will be useful over a succession of
subsequent modified version of P without any
knowledge of modified version.
 In version-specific test case prioritization,
prioritization is done over the test cases when P is
modified to P’, with the knowledge of the changes
that have been made in P[10]. But all testers want to
increase their confidence in the system. So, testers
are interested in finding maximum number of faults
as well as the most critical faults at the earliest.

Test Case Selection and Prioritization


Basic principle behind the proposed algorithm is to select and prioritize
the original test suite to obtain a reduced and modified test suite.
1) We select all those variables which are there in the changed statements
and select only those test cases which are either for these variables or
for the variables computed from them recursively.
2) Then, we prioritize these selected test cases and assign multiple level
priorities as given in the proposed algorithm.
3) In the preparation of the test suite, we keep additional information
about the variable that is being tested by a particular test case.
4) This algorithm does not take care of the generation of now test cases
which may result due to the addition of new variable through any
changes i.e. insertion, deletion and any other modification in the original
program.

A new technique called CALL TREES was used to perform test suite reduction and
prioritization. A call tree contains nodes and edges that represent a program’s method
invocations.

The entire procedure can be shown with the help of this flowchart:-

You might also like