Test Set Diameter: Quantifying the Diversity of Sets of Test Cases
arXiv:1506.03482 · doi:10.1109/ICST.2016.33
Abstract
A common and natural intuition among software testers is that test cases need to differ if a software system is to be tested properly and its quality ensured. Consequently, much research has gone into formulating distance measures for how test cases, their inputs and/or their outputs differ. However, common to these proposals is that they are data type specific and/or calculate the diversity only between pairs of test inputs, traces or outputs. We propose a new metric to measure the diversity of sets of tests: the test set diameter (TSDm). It extends our earlier, pairwise test diversity metrics based on recent advances in information theory regarding the calculation of the normalized compression distance (NCD) for multisets. An advantage is that TSDm can be applied regardless of data type and on any test-related information, not only the test inputs. A downside is the increased computational time compared to competing approaches. Our experiments on four different systems show that the test set diameter can help select test sets with higher structural and fault coverage than random selection even when only applied to test inputs. This can enable early test design and selection, prior to even having a software system to test, and complement other types of test automation and analysis. We argue that this quantification of test set diversity creates a number of opportunities to better understand software quality and provides practical ways to increase it.
In submission
References in corpus (2)
Cited by in corpus (21)
- Guiding Deep Learning System Testing using Surprise Adequacy
- Black-Box Testing of Deep Neural Networks Through Test Case Diversity
- Test Prioritization in Continuous Integration Environments
- Reducing DNN Labelling Cost using Surprise Adequacy: An Industrial Case Study for Autonomous Driving
- DeepGD: A Multi-Objective Black-Box Test Selection Approach for Deep Neural Networks
- Boundary Value Exploration for Software Analysis
- Adversarial Specification Mining
- A Survey of the Metrics, Uses, and Subjects of Diversity-Based Techniques in Software Testing
- Using mutation testing to measure behavioural test diversity
- Searching for test data with feature diversity
- Ahead of Time Mutation Based Fault Localisation using Statistical Inference
- Empirical Evaluation of Mutation-based Test Prioritization Techniques
- Reasoning-Based Software Testing
- Explaining Image Classifiers using Statistical Fault Localization
- Building Very Small Test Suites (with Snap)
- Finding a boundary between valid and invalid regions of the input space
- Towards Automated Boundary Value Testing with Program Derivatives and Search
- Test Case Prioritization Using Test Similarities
- Tester Interactivity makes a Difference in Search-Based Software Testing: A Controlled Experiment
- Faster SAT Solving for Software with Repeated Structures (with Case Studies on Software Test Suite Minimization)
- Automated Support for Unit Test Generation: A Tutorial Book Chapter