Prioritizing JUnit Test Cases: An Empirical Assessment and Cost-Benefits Analysis |
| |
Authors: | Hyunsook Do Gregg Rothermel Alex Kinneer |
| |
Affiliation: | (1) Computer Science and Engineering Department, University of Nebraska, Lincoln, NE, USA |
| |
Abstract: | Test case prioritization provides a way to run test cases with the highest priority earliest. Numerous empirical studies have
shown that prioritization can improve a test suite's rate of fault detection, but the extent to which these results generalize
is an open question because the studies have all focused on a single procedural language, C, and a few specific types of test
suites. In particular, Java and the JUnit testing framework are being used extensively to build software systems in practice,
and the effectiveness of prioritization techniques on Java systems tested under JUnit has not been investigated. We have therefore
designed and performed a controlled experiment examining whether test case prioritization can be effective on Java programs
tested under JUnit, and comparing the results to those achieved in earlier studies. Our analyses show that test case prioritization
can significantly improve the rate of fault detection of JUnit test suites, but also reveal differences with respect to previous
studies that can be related to the language and testing paradigm. To investigate the practical implications of these results,
we present a set of cost-benefits models for test case prioritization, and show how the effectiveness differences observed
can result in savings in practice, but vary substantially with the cost factors associated with particular testing processes. |
| |
Keywords: | Software maintenance Regression testing Testing object-oriented software Test case prioritization Empirical studies Cost-benefits analysis |
本文献已被 SpringerLink 等数据库收录! |
|