Regression test case prioritization by code combinations coverage

Rubing Huang, Quanjun Zhang, Dave Towey, Weifeng Sun, Jinfu Chen

Research output: Journal PublicationArticlepeer-review

24 Citations (Scopus)
66 Downloads (Pure)

Abstract

Regression test case prioritization (RTCP) aims to improve the rate of fault detection by executing more important test cases as early as possible. Various RTCP techniques have been proposed based on different coverage criteria. Among them, a majority of techniques leverage code coverage information to guide the prioritization process, with code units being considered individually, and in isolation. In this paper, we propose a new coverage criterion, code combinations coverage, that combines the concepts of code coverage and combination coverage. We apply this coverage criterion to RTCP, as a new prioritization technique, code combinations coverage based prioritization (CCCP). We report on empirical studies conducted to compare the testing effectiveness and efficiency of CCCP with four popular RTCP techniques: total, additional, adaptive random, and search-based test prioritization. The experimental results show that even when the lowest combination strength is assigned, overall, the CCCP fault detection rates are greater than those of the other four prioritization techniques. The CCCP prioritization costs are also found to be comparable to the additional test prioritization technique. Moreover, our results also show that when the combination strength is increased, CCCP provides higher fault detection rates than the state-of-the-art, regardless of the levels of code coverage.

Original languageEnglish
Article number110712
JournalJournal of Systems and Software
Volume169
DOIs
Publication statusPublished - Nov 2020

Keywords

  • Code combinations coverage
  • Regression testing
  • Software testing
  • Test case prioritization

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'Regression test case prioritization by code combinations coverage'. Together they form a unique fingerprint.

Cite this