# Can Pairwise Testing Perform Comparably to Manually Handcrafted Testing   Carried Out by Industrial Engineers?

**Authors:** Peter Charbachi, Linus Eklund, Eduard Enoiu

arXiv: 1706.01636 · 2017-06-07

## TL;DR

This study compares pairwise combinatorial testing with manual testing by engineers on 45 industrial programs, showing pairwise testing is nearly as effective in fault detection and code coverage.

## Contribution

It provides empirical evidence that pairwise testing can perform comparably to manual testing in industrial software contexts.

## Key findings

- Pairwise testing achieves high code coverage in most cases.
- Pairwise testing detects faults nearly as well as manual testing.
- It is effective for 64% of the programs examined.

## Abstract

Testing is an important activity in engineering of industrial software. For such software, testing is usually performed manually by handcrafting test suites based on specific design techniques and domain-specific experience. To support developers in testing, different approaches for producing good test suites have been proposed. In the last couple of years combinatorial testing has been explored with the goal of automatically combining the input values of the software based on a certain strategy. Pairwise testing is a combinatorial technique used to generate test suites by varying the values of each pair of input parameters to a system until all possible combinations of those parameters are created. There is some evidence suggesting that these kinds of techniques are efficient and relatively good at detecting software faults. Unfortunately, there is little experimental evidence on the comparison of these combinatorial testing techniques with, what is perceived as, rigorous manually handcrafted testing. In this study we compare pairwise test suites with test suites created manually by engineers for 45 industrial programs. The test suites were evaluated in terms of fault detection, code coverage and number of tests. The results of this study show that pairwise testing, while useful for achieving high code coverage and fault detection for the majority of the programs, is almost as effective in terms of fault detection as manual testing. The results also suggest that pairwise testing is just as good as manual testing at fault detection for 64% of the programs.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1706.01636/full.md

## Figures

4 figures with captions in the complete paper: https://tomesphere.com/paper/1706.01636/full.md

## References

39 references — full list in the complete paper: https://tomesphere.com/paper/1706.01636/full.md

---
Source: https://tomesphere.com/paper/1706.01636