Font Size: a A A

Research On Reducing The Cost Of Mutation Testing

Posted on:2012-04-21Degree:MasterType:Thesis
Country:ChinaCandidate:Y H HuangFull Text:PDF
GTID:2178330338992042Subject:Computer applications
Abstract/Summary:PDF Full Text Request
With the coming of information age, software gradually penetrated into all spheres of society. It has brought many benefits to human society, but the problems of software quality caused it great harm at the same time. Software quality is the lifeline of our society. How to develop high-quality software is a problem to be solved in software industry.Software testing is an important method to ensure software quality throughout the entire life cycle of software. The direct purpose of software testing is to find errors and defects possible existing in software, and then modify them before using to ensure the quality and performance of it.Mutation Testing is a fault-based software testing technique. It can systematically simulate all kinds of software faults and construct a complete set of test cases in the processing of testing. On one hand, it can detect software deficiencies, on the other hand, it can be used to measure the test cases'ability of detecting errors and assess the adequacy of testing.However, the high cost of Mutation Testing is a serious impediment to its wide application. This paper studies to reduce the cost of Mutation Testing from the two main reasons which lead to the high cost. The reasons are a large number of test cases, and a large number of mutants and equivalent mutants.Test cases prioritization is an important way to reduce cost of Mutation Testing. And evaluation of all the existing optimization algorithms was done based on code-coverage, which cannot reflect the fault state of program completely. High code-coverage of test cases does not necessarily have a high ability to expose errors. So this paper evaluates the optimization effectiveness of two Greedy algorithms (Basic Greedy Algorithm and Additional Greedy Algorithm), one metaheuristic algorithm (Climb Algorithm) and Genetic Algorithm, from a new perspective, based on fault-coverage combining Mutation Testing. And we prove that Additional Greedy Algorithm is better than other algorithms through experiments and analysis. The result of the assessment gets a higher confidence level.Mutants Reduction is another important way to reduce the cost of Mutation Testing. A method of clustering based on genetic algorithm is proposed in this paper. Mutants with similar characteristics would be placed in the same cluster, then randomly selected from each cluster as a representative in order to achieve the reduction. Experiment shows that: (1) The proposed method can reduce mutants without compromising the adequacy of the constituted test suite; (2) Compared with K-means Algorithm and Agglomerative Clustering Algorithm, it can automatically form an appropriate number of clusters, and is more effective.
Keywords/Search Tags:Software Testing, Mutation Testing, Test Cases Prioritization, Mutants Reduction, Search Algorithm, Genetic Algorithm, Clustering Technique
PDF Full Text Request
Related items