Litcius/Paper detail

A Novel Test Case Generation Approach for Adaptive Random Testing of Object-Oriented Software Using K-Means Clustering Technique

Jinfu Chen, Haibo Chen, Yuchi Guo, Minmin Zhou, Rubing Huang, Chengying Mao

2021IEEE Transactions on Emerging Topics in Computational Intelligence17 citationsDOI

Abstract

Random testing (RT) is considered important owing to the popularity of fuzzing techniques. Yet, its effectiveness has been questioned because it disregards the property that failures are usually conglomerated. Adaptive random testing (ART) has been developed to spread the test cases more evenly. A set of candidate test cases is first generated randomly. Then, the candidate farthest from the executed test cases is selected as the next test case. However, this process is time-consuming, especially for object-oriented programs. In order to improve the efficiency, a forgetting strategy may be added, taking into account only part of the executed test cases. Of course, the failure detection capability is compromised. In this paper, we propose a new approach that improves the efficiency of object-oriented program testing through K-means clustering. Frequency transform and improved wavelet transform are adopted to better determine the dissimilarity of test cases. Two measures, namely, the wavelet transform (WT) metric and the trisection frequency conversion (TFC) metric, are proposed. Based on the metrics, we develop two algorithms called WClustering-ART and TFClustering-ART. Experimental studies and statistical analysis have been conducted to evaluate the F-measure and the Fm-time of our approach. The results show that both algorithms demonstrate better effectiveness and efficiency than RT and object-oriented ART algorithms with forgetting.

Topics & Concepts

Random testingMetric (unit)Computer scienceCluster analysisFuzz testingSet (abstract data type)Statistical hypothesis testingOrthogonal array testingProcess (computing)Test caseData miningSoftwareArtificial intelligenceMachine learningMathematicsSoftware developmentStatisticsEngineeringProgramming languageSoftware constructionRegression analysisOperations managementSoftware Testing and Debugging TechniquesSoftware Reliability and Analysis ResearchSoftware System Performance and Reliability
A Novel Test Case Generation Approach for Adaptive Random Testing of Object-Oriented Software Using K-Means Clustering Technique | Litcius