Because of the diversity of test criteria, which of them should be used and how to use them in a complementary manner in order to get the best result with the lowest cost is a complicated issue. The embodiment of empirical studies looking for, by comparing the criteria, to obtain a strategy that is effective to detect the presence of errors in the program, while presenting a low cost of application.
Cost, effectiveness and difficulty of satisfaction (strength) are basic factors to compare the suitability of the test criteria.
Cost: refers to the effort required in using a criterion. Can be measured by the number of test cases required to meet the criteria or other dependent criterion metrics, such as the time required to perform all generated mutants or time spent to identify equivalent mutants, infeasible paths and associations manually build test cases and learn to use the testing tools.
Efficacy: refers to the ability of a test to detect a larger number of errors in relation to each other.
Difficulty satisfaction: refers to the probability of satisfying a criterion having satisfied the other; your goal is to see how much can be satisfied with an initial criterion satisfied a previous criterion.
Using such comparative factors, empirical and theoretical studies are conducted in order to find economic and productive ways to carry out the tests. The development of experiments required to produce a framework for their conduct. This framework consists basically of the following activities:
- Selection and preparation of the programs;
- Selection of testing tools;
- Generation of test cases sets;
- Implementation of programs with the generated test cases;
- Analysis of the results of the experiment.
The generation of sets of test cases is done in general randomly. The random generation as well as being easily automated and generate large sets of test cases at low cost, also eliminates possible influences of the tester lead to the generation of test cases according to the knowledge of the programs used. Typically, you define the input field of each program for the random generation and when it fails to meet the criteria, test cases manually created are added to the set.
Besides these activities, depending on the type of experiment being conducted, additional activities are required. When comparing the Mutation Analysis criterion to the criteria based on data flow analysis, for example, is necessary for the implementation of programs, identify equivalent mutants and paths / non-executable associations.