Partial ordering tests by coverage sets

Gaelli, Markus; Nierstrasz, Oscar; Wuyts, Roel (2003). Partial ordering tests by coverage sets Universität Bern, Switzerland: Universität Bern

[img] Text
Gael03bPartialOrderingTestsByCoverageSets.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (191kB) | Request a copy

A single software fault may cause several tests to break, if they cover the same methods. The coverage sets of tests may not just overlap, but include one another. This information could be of great use to developers who would like to focus on the most specific test that concerns a given fault. Unfortunately, existing unit testing tools neither gather nor exploit this information. We have developed a simple approach that analyses a set of test suites, and infers the partial order corresponding to inclusion hierarchy of the coverage sets. When several tests in an inclusion chain break, we can guide the developer to the most specific test in the chain. Our first experiments with three case studies suggest that most unit tests for typical applications are, in fact, comparable to other tests, and can therefore be partially ordered. Furthermore, we show that this partial order is semantically meaningful, since faults that cause a test to break will, in nearly all cases cause less specific tests too break too.

Item Type:

Report (Report)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Gälli, Markus, Nierstrasz, Oscar

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

Publisher:

Universität Bern

Language:

English

Submitter:

Anja Ebeling

Date Deposited:

22 Nov 2017 14:16

Last Modified:

11 Apr 2024 16:11

Additional Information:

Technical Report

BORIS DOI:

10.7892/boris.104516

URI:

https://boris.unibe.ch/id/eprint/104516

Actions (login required)

Edit item Edit item
Provide Feedback