Regression Testing
Regression Testing – Software Engineering
Regression
Testing is the process of testing the modified parts of the code and the parts
that might get affected due to the modifications to ensure that no new errors
have been introduced in the software after the modifications have been made.
Regression means the return of something and in the software field, it refers
to the return of a bug.
Table of Content
·
When to do
regression testing?
·
Process of
Regression testing
·
Techniques
for the selection of Test cases for Regression Testing
·
Tools for
Regression testing
·
Advantages
of Regression Testing
·
Disadvantages
of Regression Testing
When to do regression testing?
·
When
new functionality is added to the system and the code has been modified to
absorb and integrate that functionality with the existing code.
·
When
some defect has been identified in the software and the code is debugged to fix
it.
·
When
the code is modified to optimize its working.
Process of Regression testing
Firstly,
whenever we make some changes to the source code for any reason like adding new
functionality, optimization, etc. then our program when executed fails in the
previously designed test suite for obvious reasons. After the failure, the
source code is debugged to identify the bugs in the program. After
identification of the bugs in the source code, appropriate modifications are
made. Then appropriate test cases are selected from the already existing test
suite which covers all the modified and affected parts of the source code. We
can add new test cases if required. In the end, regression testing is performed
using the selected test cases.
Techniques for the selection of Test cases for
Regression Testing
·
Select all test cases: In this
technique, all the test cases are selected from the already existing test
suite. It is the simplest and safest technique but not very efficient.
·
Select test cases randomly: In this technique,
test cases are selected randomly from the existing test suite, but it is only
useful if all the test cases are equally good in their fault detection
capability which is very rare. Hence, it is not used in most of the cases.
·
Select modification traversing test
cases: In
this technique, only those test cases are selected that cover and test the
modified portions of the source code and the parts that are affected by these
modifications.
·
Select higher priority test cases: In this
technique, priority codes are assigned to each test case of the test suite
based upon their bug detection capability, customer requirements, etc. After
assigning the priority codes, test cases with the highest priorities are
selected for the process of regression testing. The test case with the highest
priority has the highest rank. For example, a test case with priority code 2 is
less important than a test case with priority code 1.
Tools for Regression testing
In
regression testing, we generally select the test cases from the existing test
suite itself and hence, we need not compute their expected output, and it can
be easily automated due to this reason. Automating the process of regression
testing will be very effective and time-saving. The most commonly used tools
for regression testing are:
·
Selenium
·
WATIR (Web Application Testing In Ruby)
·
QTP (Quick Test Professional)
·
RFT (Rational Functional Tester)
·
Winrunner
·
Silktest
Advantages of Regression Testing
·
It
ensures that no new bugs have been introduced after adding new functionalities
to the system.
·
As
most of the test cases used in Regression Testing are selected from the
existing test suite, and we already know their expected outputs. Hence, it can
be easily automated by the automated tools.
·
It
helps to maintain the quality of the source code.
Disadvantages of Regression Testing
·
It
can be time and resource-consuming if automated tools are not used.
·
It
is required even after very small changes in the code.
Comments
Post a Comment