Under a regression test (from the Latin regredior, regressus sum " regress " ) is understood in software engineering, the repetition of test cases that cause modifications in already tested parts of the software, no new error (" regression " ) to make sure. Such modifications occur regularly, for example, due to the maintenance, modification and correction of software. The regression test is one of the dynamic testing techniques.
Due to the repetition of character and the frequency of this repetition is useful if for regression testing Test automation is used.
In practice, the concept of regression tests for the mere repetition of test cases is. The test cases themselves must be specified and provided with a desired result, which is compared with the actual result of a test case. A direct reference to the results of a previous test run does not occur.
In contrast, assigns Liggesmeyer (Lit.: Liggesmeyer ) the regression test in the group of diversified tests a. Thus, the correctness of the test results will not be decided on the basis of the specification, but by comparing the outputs of the current version with the outputs of the predecessor in contrast to function -oriented test techniques. A test case is considered in the regression test as successful if the issues are identical.
Regression testing in real-time systems
The regression test is especially for non- deterministic real-time systems is a major problem since in these systems, a repetition of the test is not strictly guaranteed. For a typically minor changes to the hardware of the system already lead to changes in the behavior, on the other hand are here generally manual intervention (for example, telephone systems, or air traffic control systems ) is necessary, which can not be done " regression test just" because of human time behavior. A solution to this problem is the implementation of an automatic test system. The cost for this is, however, mostly shunned the following reasons: