Regression test

from Wikipedia, the free encyclopedia

A regression test (from the Latin regredior , regressus sum , “ to step back”) is understood in software engineering to mean the repetition of test cases to ensure that modifications in parts of the software that have already been tested do not cause new errors (“regressions”). Such modifications occur regularly z. B. due to the maintenance, modification and correction of software. The regression test is one of the dynamic test techniques .

Because of the repetitive nature and frequency of these repetitions, it makes sense to use test automation for regression testing .

In practice, the term regression test stands for the pure repetition of test cases. The test cases themselves must be specified and given a target result, which is compared with the actual result of a test case. There is no direct reference to the results of a previous test run.

In contrast, Liggesmeyer classifies the regression test in the group of diversifying tests . In contrast to function-oriented test techniques, the correctness of the test results is not decided on the basis of the specification , but by comparing the outputs of the current version with the outputs of the predecessor. In the regression test , a test case is considered to have been passed if the outputs are identical.

Regression tests in real-time systems

The regression test is a major problem, particularly in nondeterministic real-time systems, since, strictly speaking, repetition of the test is not guaranteed in these systems. On the one hand, even minor changes to the hardware of the system typically lead to a change in behavior; on the other hand, manual interventions are generally necessary (e.g. in telephone systems or flight control systems ), which cannot be carried out in a “regression test-appropriate” manner due to human timing. One solution to this problem lies in the implementation of an automatic test system . However, the effort for this is usually avoided for the following reasons:

  1. the automatic test system must cover all functions of the test item
  2. the automatic test system must be developed parallel to the test item
  3. the automatic test system must be adapted parallel to the test item
  4. a hardware change leads to the test results being set up again to be compared against

literature