Regression testing comes in picture like any other software testing when you identify the bugs in the software by having a quick test or partial test after a program is tweaked or changed. This is why because to check the software basically if it still retains its features without any errors as just in case the software is modified. Simply put in the layman way of ensuring that there are no extra errors popped up as and when the software is being fixed for already identified problems. On the whole Regression testing
is a regular part of testing cycle, crafting a suite of test series
that are always common, sufficiently validating the potential set of
affected changes for the program changes should not take a negative
turn on the bug fixes. Now comes the next part of how a regression
test is performed? Yes it a repeated execution of test suites chosen as
a regular testing part mainly to eye on previously repaired bugs are
re-evolving or any other existing core functionality is getting
affected. Plus it is not just repeating the pre-defined tests, but also
analyzing if any bug is arising again or any other bug fix is impacting
the working features – simply to explain the testers and developers
should gather and do an impact
analysis on the re-emerging bugs – This impact analysis involves a
research on how a bug fix in one functionality or a simple change in
one part of code creates an echo on other features or functionalities
or flaws on the other part of program code.
“Also as a consequence of the introduction of new bugs, program
maintenance requires far more system testing per statement written than
any other programming. Theoretically, after each fix one must run the
entire batch of test cases previously run against the system, to ensure
that it has not been damaged in an obscure way. In practice, suchregression testing
must indeed approximate this theoretical idea, and it is very costly.”
– Frederick Brooks, the author of “Mythical Man Month” book onsoftware project management.
While regression testing
is a very broad term taking different avatars of testing including
function testing, unit testing etc validating the different aspects of
thesoftware, regression testing forms the core part of entire gamut of testing and quality assurance activities.