**1 Answer**

written 5.1 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} .$