Experimentation in software engineering
IEEE Transactions on Software Engineering
Comparing the Effectiveness of Software Testing Strategies
IEEE Transactions on Software Engineering
An Applicable Family of Data Flow Testing Criteria
IEEE Transactions on Software Engineering
Theoretical comparison of testing methods
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Comparison of program testing strategies
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria
ICSE '94 Proceedings of the 16th international conference on Software engineering
Software unit test coverage and adequacy
ACM Computing Surveys (CSUR)
Comparing and combining software defect detection techniques: a replicated empirical study
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
An Integrated Approach to Software Engineering
An Integrated Approach to Software Engineering
A Formal Analysis of the Fault-Detecting Ability of Testing Methods
IEEE Transactions on Software Engineering
An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing
IEEE Transactions on Software Engineering
Provable Improvements on Branch Testing
IEEE Transactions on Software Engineering
Preliminary guidelines for empirical research in software engineering
IEEE Transactions on Software Engineering
An evaluation of required element testing strategies
ICSE '84 Proceedings of the 7th international conference on Software engineering
A Case Study Using the Round-Trip Strategy for State-Based Class Testing
ISSRE '02 Proceedings of the 13th International Symposium on Software Reliability Engineering
Reviewing 25 Years of Testing Technique Experiments
Empirical Software Engineering
Using Simulation to Empirically Investigate Test Coverage Criteria Based on Statechart
Proceedings of the 26th International Conference on Software Engineering
Is mutation an appropriate tool for testing experiments?
Proceedings of the 27th international conference on Software engineering
Hi-index | 0.00 |
In this paper, we describe the results of an experiment comparing the effectiveness of three structural coverage-testing methods, namely, block coverage, branch coverage and predicate coverage criteria on seeded faults. The implications of our work is two-fold: one, we describe a controlled simulation comparing the effectiveness of these criteria and two, we demonstrate a novel approach to generate minimal test suites for these coverage criteria so as to be able to predict relative performance of the three coverage-adequate test suites. Using a byte code coverage analyzer, five java programs of different sizes were tested. Faults were seeded in all five programs using a set of applicable mutation operators. Twenty-five different minimal JUnit test suites were then constructed for each coverage criteria-program pair and executed on program's mutants to compare the effectiveness. Results suggest that generally, branch coverage criterion performed consistently and was found to be most viable option for structural testing. However, in presence of composite conditions, predicate testing does better and its effectiveness increases with increase in the cardinality of the composite conditions.