| Agile software development is popular in recent years.Frequent updating and iteration lead to the rapid increase of the test case library.It is urgent to reduce the test suite,to reduce the cost of regression testing.In the process of reductio,the test cases that can detect faults may be deleted by mistake,resulting in the loss of fault detection capability of the test suite;on the other hand,the coincidental correctness(CC)may adversely affect the coverage-based test suite reduction technique,resulting in the overestimation of test reliability and the failure to retain the test cases that can detect faults.Therefore,to get a better trade-off between the number of test case reductions and the loss of fault detection capability,this paper investigates the test suite reduction method for software fault detection.The main research contents are as follows.(1)To reduce the negative impact of CC on test suite reduction(TSR),we proposed a test suite reduction method oriented to the coincidental correctness phenomenon.Firstly,by using statement coverage as the feature vector and selecting the cut level according to the similarity distance,we present a hierarchical clustering algorithm to identify the CC test case.Compared with other similar algorithms,this algorithm can obtain a lower false negative rate and false positive rate.Secondly,based on this algorithm,an approximate model of the test suite for the coincidental correctness phenomenon is proposed.After removing CC test cases,use the classical TSR algorithm to reduce the test cases.Combination of three CC test case identification algorithms and four adequate TSR algorithms,the experiment shows that the model can achieve a trade-off balance between the number of test case reductions and the loss rate of fault detection capability.(2)To further improve the efficiency of test suite reduction and improve fault detection capability after simplicity,we present a hierarchical clustering method based on mutation testing.Firstly,we use the property of mutation test to elevation the fault detection ability of the test suite and give the formula of coincidental correctness probability as the criteria for cluster selection.After that,use the Euclidean distance to calculate the similarity of the test cases and derive the dissimilarity matrix as the input for clustering.Finally,the test case selection strategy base on mutation testing selects representative test cases in the resultant clusters to derive the reduced suite of test cases.The experimental results show that the method decreases the loss of fault detection capability by 9.8%and 12%compared to the adequate and other inadequate test case reduction methods,respectively,and reduces the negative impact of CC on coverage-based testing techniques.(3)Based on the above approach,a test suite reduction system for software fault detection is designed and implemented.The system integrates the mutation test platform and the comparison experiment platform,including the data collection layer,data processing layer,model implementation layer,and RAISE platform layer,and realizes the whole test suite reduction process. |