4.7 Article

Beating Random Test Case Prioritization

Journal

IEEE TRANSACTIONS ON RELIABILITY
Volume 70, Issue 2, Pages 654-675

Publisher

IEEE-INST ELECTRICAL ELECTRONICS ENGINEERS INC
DOI: 10.1109/TR.2020.2979815

Keywords

Measurement; Software; History; Benchmark testing; Australia; Complexity theory; Adaptive random sequence; adaptive random testing (ART); dispersity; dispersity metric; dispersity-based prioritization; dissimilarity; natural distance; random prioritization (RP)

Funding

  1. Linkage Grant of the Australian Research Council [LP160101691]
  2. Australian Government Research Training Program Scholarship
  3. General Research Fund of the Research Grants Council of Hong Kong [716612]
  4. Western River Entrepreneurship Grant
  5. Morphick Solutions PTY Ltd, Australia
  6. Australian Research Council [LP160101691] Funding Source: Australian Research Council

Ask authors/readers for more resources

Existing test case prioritization techniques have limitations and may not always be more effective than random prioritization. This article introduces a new technique based on a dispersity metric that has been shown to be more effective. Empirical studies support the effectiveness of this new technique.
Existing test case prioritization (TCP) techniques have limitations when applied to real-world projects, because these techniques require certain information to be made available before they can be applied. For example, the family of input-based TCP techniques are based on test case values or test script strings; other techniques use test coverage, test history, program structure, or requirements information. Existing techniques also cannot guarantee to always be more effective than random prioritization (RP) that does not have any precondition. As a result, RP remains the most applicable and most fundamental TCP technique. This article proposes an extremely simple, effective, and efficient way to prioritize test cases through the introduction of a dispersity metric. Our technique is as applicable as RP. We conduct empirical studies using 43 different versions of 15 real-world projects. Empirical results show that our technique is more effective than RP. Our algorithm has a linear computational complexity and, therefore, provides a practical solution to the problem of prioritizing very large test suites (such as those containing hundreds of thousands, or millions, of test cases), where the execution time of conventional nonlinear prioritization algorithms can be prohibitive. Our technique also provides a practical solution to TCP when neither input-based nor execution-based techniques are applicable due to lack of information.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.7
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available