Int J Performability Eng ›› 2022, Vol. 18 ›› Issue (1): 1-10.doi: 10.23940/ijpe.22.01.p1.110

    Next Articles

Applying Cluster-based Approach to Improve the Effectiveness of Test Suite Reduction

Chen-Hua Leea and Chin-Yu Huangb,*   

  1. aInstitute of Information Systems and Applications, National Tsing Hua University, Hsinchu, Taiwan;
    bDepartment of Computer Science, National Tsing Hua University, Hsinchu, Taiwan
  • Contact: * E-mail address: [email protected]

Abstract: Regression testing is an activity that ensures software quality as new features develop and needs to be conducted during software development. Practically, regression test suites have been growing with the development of software products. Test suite reduction is a classic technique that speeds up the regression test process by removing redundant test cases in the regression test suite. Thus, the execution time of the regression tests and software development costs can be effectively reduced. However, the method of test suite reduction may be time-consuming with large software or test suites and may lose some essential test cases while using only one testing criteria. The aim of this paper is to reduce test suite size with the same or higher fault detection capability by applying cluster-based test suite reduction (CB-TSR) methods with two testing criteria during regression testing. First, we applied three cluster algorithms to cluster test cases based on the similarity of function coverage and considered the silhouette coefficient to find the best cluster result. Second, two test suite reduction algorithms were applied with statement coverage against each cluster of the test case. Experiments based on real subject programs were evaluated using fault detection effectiveness (FDE) loss and other comparison criteria. Experimental results indicate that our proposed CB-TSR methods provide a lower processing cost and improves effectiveness with the same or better fault detection capability of the reduced test suite.

Key words: test suite reduction, regression test, cluster algorithm, testing criteria, code coverage