Regression Testing

Software Testing Tutorial


[fblike]

Regression Testing : Introduction

  • Regression testing is the process of retesting the modified part of the software and ensuring that no new error have been introduced into previously tested code due to these modifications as whenever we modify any software, we need to retest it.

  • Thus, regression testing tests both the modified source code and other parts of the source code that may be affected by the change.

 

Regression Testing : Techniques

A. Regression Test Case Selection: In this, further techniques are available for the selection of test cases for the performing regression testing.

  1. Select all test cases: In this we need to test all the test cases for any change in the program. It is the simplest method of regression testing.

  2. Select test cases randomly: In this, we can select test cases randomly in order to reduce the size of test suit. The selection test cases is dependent on time and the resources available.

  3. Select modification traversing test cases: In this, only those test cases are selected that is responsible for execution of the modified portion of the program and the portion which is affected by the modification.

 

B. Test Case Reduction: Reduction of test cases is an essential activity and can be done using the following strategies.

  1. Minimization of test cases: In this technique redundant test cases are searched and are removed. A redundant test case is one which achieves an objective which has already been achieved by another test cases.

  2. Prioritization of test cases: In this technique, test cases are prioritized with highest and lowest rank and then are executed on the basis of priority factor. The prioritization is done on the basis of:

    • What functions of the software that must be tested?

    • What are the consequences, if some functions are not tested?

For Example:

Priority Code 1: Essential test case.

Priority Code 2: Important test case.

Priority Code 3: Execute, If possible.

Priority Code 4: Not important.

Priority Code 5: Redundant test case.

 

C. Code Coverage Prioritization Technique: This technique is based on version specific test case prioritization and selects Ta which is a subset of T (Here, T is the test suit and Ta is the subset). The guidelines for prioritization are based upon:

  1. What are the consequences, if some features are not tested.

  2. What features must be tested.