written 5.2 years ago by |
Let us first define the notations used in regression testing before defining the regression test problem.
$P =$ Denotes a program or procedure.
$P^{\prime}=$ Denotes a modified version of $P.$
$S =$ Denotes the specification for program $P.$
$S^{\prime} =$ Denotes the specification for program $P^{\prime}.$
$P(i) =$ Refers to the output of $P,$ on input $i.$
$P^{\prime}(i) =$ Refers to the output of $P^{\prime}$ on input $i.$
$T=\left\{t_{1}, \ldots . t_{n}\right\} =$ Denotes a test suite or test set for $P.$
Is Regression Testing a Problem?
Regression testing is considered a problem, as the existing test suite with probable additional test cases needs to be tested again and again whenever there is a modification. The following difficulties occur in retesting:
,- Large systems can take a long time to retest. - It can be difficult and time-consuming to create the tests. - It can be difficult and time-consuming to evaluate the tests. Sometimes, it requires a person in the loop to create and evaluate the results. - Cost of testing can reduce resources available for software improvements.
Regression Testing Problem
Given a program $P,$ its modified version $P^{\prime},$ and a test set $T,$ that was used earlier to test $P;$ find a way to utilize $T,$ to gain sufficient confidence in the correctness of $P^{\prime} .$