Using eXtreme mutation testing to discover hidden test suite weaknesses
Introduction
Ever wondered if your test suite is truly good at finding bugs? What if there are hidden weaknesses that traditional testing methods miss? In the paper (Maton, Kapfhammer, and McMinn 2024a)
Understanding XMT
An XMT tool automatically detects deficiencies in a test suite by deleting method bodies in covered code and observing whether the test suite detects their absence. If a method deletion goes unnoticed, then the method is labeled as “pseudo-tested,” meaning that the test suite calls the method but its result isn’t checked by the assertions, indicating a potential blind spot in the test suite. As an extension to XMT, our paper explores the use of the statement deletion mutation operator (SDL) to uncover pseudo-tested statements within methods.
Research Insights
Using the PseudoSweep
tool (Maton, Kapfhammer, and McMinn 2024b)
Future Directions
While our research focused on Java programs, the concepts of XMT and pseudo-tested methods are broadly applicable. These techniques can be used in various programming languages to improve test suite effectiveness and ensure more robust software. We’re excited about the potential of combining XMT with other testing techniques to further enhance test suite robustness. Future work will involve extending our approach to different programming languages and exploring additional ways to detect and repair pseudo-tested methods.
As we continue to explore how mutation testing can support the detection and enhanced assessment of pseudo-tested methods, your insights and suggestions are appreciated! If you have ideas or experiences related to assessing the quality of a test suite or finding testing blind spots, please contact me. Or, if you want to stay informed about new developments and blog posts related to mutation testing and other software testing topics, you can subscribe to my mailing list.