Affiliation:
1. University of Illinois at Urbana-Champaign
2. Oregon State University
Abstract
A fundamental question in software testing research is how to compare test suites, often as a means for comparing test-generation techniques that produce those test suites. Researchers frequently compare test suites by measuring their
coverage
. A coverage criterion
C
provides a set of test requirements and measures how many requirements a given suite satisfies. A suite that satisfies 100% of the feasible requirements is called
C-adequate
. Previous rigorous evaluations of coverage criteria mostly focused on such
adequate
test suites: given two criteria
C
and
C
′, are
C
-adequate suites on average more effective than
C
′-adequate suites? However, in many realistic cases, producing adequate suites is impractical or even impossible.
This article presents the first extensive study that evaluates coverage criteria for the common case of
non-adequate
test suites: given two criteria
C
and
C
′, which one is better to use to compare test suites? Namely, if suites
T
1
,
T
2
,…,
T
n
have coverage values
c
1
,
c
2
,…,
c
n
for
C
and
c
1
′,
c
2
′,…,
c
n
′ for
C
′, is it better to compare suites based on
c
1
,
c
2
,…,
c
n
or based on
c
1
′,
c
2
′,…,
c
n
′
? We evaluate a large set of plausible criteria, including basic criteria such as statement and branch coverage, as well as stronger criteria used in recent studies, including criteria based on program paths, equivalence classes of covered statements, and predicate states. The criteria are evaluated on a set of Java and C programs with both manually written and automatically generated test suites. The evaluation uses three correlation measures. Based on these experiments, two criteria perform best: branch coverage and an intraprocedural acyclic path coverage. We provide guidelines for testing researchers aiming to evaluate test suites using coverage criteria as well as for other researchers evaluating coverage criteria for research use.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Cited by
38 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献