The category-partition method for specifying and generating fuctional tests
Communications of the ACM
The AETG System: An Approach to Testing Based on Combinatorial Design
IEEE Transactions on Software Engineering
Model-based testing in practice
Proceedings of the 21st international conference on Software engineering
Data mining: practical machine learning tools and techniques with Java implementations
Data mining: practical machine learning tools and techniques with Java implementations
Machine Learning
Software Fault Interactions and Implications for Software Testing
IEEE Transactions on Software Engineering
Covering Arrays for Efficient Fault Characterization in Complex Configuration Spaces
IEEE Transactions on Software Engineering
Interaction Testing in Model-Based Development: Effect on Model-Coverage
APSEC '06 Proceedings of the XIII Asia Pacific Software Engineering Conference
Covering array sampling of input event sequences for automated gui testing
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Configuration-aware regression testing: an empirical study of sampling and prioritization
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
IEEE Transactions on Software Engineering
Incremental covering array failure characterization in large configuration spaces
Proceedings of the eighteenth international symposium on Software testing and analysis
A logic-based approach to combinatorial testing with constraints
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
An orchestrated survey of methodologies for automated software test case generation
Journal of Systems and Software
Hi-index | 0.00 |
The configuration spaces of modern software systems are too large to test exhaustively. Combinatorial interaction testing (CIT) approaches, such as covering arrays, systematically sample the configuration space and test only the selected configurations. The basic justification for CIT approaches is that they can cost-effectively exercise all system behaviors caused by the settings of t or fewer options. We conjecture, however, that in practice many such behaviors are not actually tested because of masking effects -- failures that perturb execution so as to prevent some behaviors from being exercised. In this work we present a feedback-driven, adaptive, combinatorial testing approach aimed at detecting and working around masking effects. At each iteration we detect potential masking effects, heuristically isolate their likely causes, and then generate new covering arrays that allow previously masked combinations to be tested in the subsequent iteration. We empirically assess the effectiveness of the proposed approach on two large widely used open source software systems. Our results suggest that masking effects do exist and that our approach provides a promising and efficient way to work around them.