Test case prioritization for object-oriented software: An adaptive random sequence approach based on clustering

Jinfu Chen, Lili Zhu, Tsong Yueh Chen, Dave Towey, Fei Ching Kuo, Rubing Huang, Yuchi Guo

Research output: Journal PublicationArticlepeer-review

76 Citations (Scopus)
49 Downloads (Pure)

Abstract

Test case prioritization (TCP) attempts to improve fault detection effectiveness by scheduling the important test cases to be executed earlier, where the importance is determined by some criteria or strategies. Adaptive random sequences (ARSs) can be used to improve the effectiveness of TCP based on white-box information (such as code coverage information) or black-box information (such as test input information). To improve the testing effectiveness for object-oriented software in regression testing, in this paper, we present an ARS approach based on clustering techniques using black-box information. We use two clustering methods: (1) clustering test cases according to the number of objects and methods, using the K-means and K-medoids clustering algorithms; and (2) clustered based on an object and method invocation sequence similarity metric using the K-medoids clustering algorithm. Our approach can construct ARSs that attempt to make their neighboring test cases as diverse as possible. Experimental studies were also conducted to verify the proposed approach, with the results showing both enhanced probability of earlier fault detection, and higher effectiveness than random prioritization and method coverage TCP technique.

Original languageEnglish
Pages (from-to)107-125
Number of pages19
JournalJournal of Systems and Software
Volume135
DOIs
Publication statusPublished - Jan 2018

Keywords

  • Adaptive random sequence
  • Cluster analysis
  • Object-oriented software
  • Test cases prioritization
  • Test cases selection

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'Test case prioritization for object-oriented software: An adaptive random sequence approach based on clustering'. Together they form a unique fingerprint.

Cite this