The activity of selective regression testing is called safe if, under certain well-defined conditions, it does not exclude tests (from an accessible test suite) that would detect errors in the changed program, namely, it enables selecting all tests that detect changes. A change detection test is a test which output during a run on the program P’ is different from the output data when it is run on P: P (t) f. Tests, activating the modified code are called change implementation tests.
The technique for selecting all change implementation tests is considered safe, but some tests that do not detect changes are selected. A safe method can include in T ‘ (test set) a subset of tests whose output data for P and P’ do not differ under any circumstances. Since there is no methodology, except for the actual execution of the test, which makes it possible ‘to determine for any P whether the output of the test differs for P and P’, no method can be safe and absolutely accurate at the same time. T ‘is a safe subset of T if and only if:
P (t) f P \ t) => t ∈ T
If P and P ‘are run under identical conditions and T’ is a safe subset of T, the execution of T’ on P’ always reveals any associated errors in P that can be found by executing T. If there is an error detection test, the safe method always finds the error. Thus, no random method has the same error detection efficiency as the safe method.
Development of software project requires a lot of time and money but if you outsource software testing to overseas partners your manufacturing cost will be reduced.
Under certain conditions, safe methods due to identifying and assessing “security threats” ensure that all “detectable” errors will be found. Therefore, the relative effectiveness of all safe methods is equal to that of the method of running all tests repeatedly and is 100%. However, their efficiency falls off with increasing a testing interval. Note that the safe method is really safe only on the assumption that the initial set of T tests is correct, specifically, when executing all f £ 1′ the initial program F is completed with the correct values of the output data, and all obsolete tests were removed from T.
There are programs, modified versions and test suites for which the application of safe selection methods does not really make sense since they do not help to increase the test suite size. The characteristics of the source program, the modified version and the test suite can jointly or independently affect the test selection results.