e-Informatica Software Engineering Journal (Jul 2017)
Efficiency of Software Testing Techniques: A Controlled Experiment Replication and Network Meta-analysis
Abstract
Background: Common approaches to software verification include static testing techniques, such as code reading, and dynamic testing techniques, such as black-box and white-box testing. Objective: With the aim of gaining a~better understanding of software testing techniques, a~controlled experiment replication and the synthesis of previous experiments which examine the efficiency of code reading, black-box and white-box testing techniques were conducted. Method: The replication reported here is composed of four experiments in which instrumented programs were used. Participants randomly applied one of the techniques to one of the instrumented programs. The outcomes were synthesized with seven experiments using the method of network meta-analysis (NMA). Results: No significant differences in the efficiency of the techniques were observed. However, it was discovered the instrumented programs had a~significant effect on the efficiency. The NMA results suggest that the black-box and white-box techniques behave alike; and the efficiency of code reading seems to be sensitive to other factors. Conclusion: Taking into account these findings, the Authors suggest that prior to carrying out software verification activities, software engineers should have a~clear understanding of the software product to be verified; they can apply either black-box or white-box testing techniques as they yield similar defect detection rates.
Keywords