Font Size: a A A

Research Of Algorithm On Test Case Prioritization For Regression Testing

Posted on:2019-10-02Degree:MasterType:Thesis
Country:ChinaCandidate:G WangFull Text:PDF
GTID:2428330545464171Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Regression testing is an important method of software testing in the software evolution.Regression test can take place in many test stages such as unit test,integration test and function test.In iterative software development,the continuous release of new version of software makes regression testing more frequent and leads to high test cost.The test case prioritization technology is used to prioritize test cases according to designated objective functions and is aimed at finding software defects as early as possible,which is of great significance for improving the efficiency of regression testing and reducing the test cost.In this thesis,on the one hand,to solve the problem of slow convergence speed and poor stability of traditional genetic algorithm in the white box test case prioritization,an improved genetic algorithm is proposed.On the other hand,to research test case prioritization problem under the two testing scenarios including time-aware and multi-objective optimization,a new solution is proposed,and a new algorithm is designed.The related work of the thesis includes:1.A genetic algorithm based on good point set is designed for test case prioritization.To solve the problem of slow convergence speed and poor stability of traditional Genetic Algorithm in the white box test case prioritization,using random sampling strategy and good point set crossover operator to redefine the algorithm.Firstly,the new algorithm encodes the individuals according to the cover matrixes of program entities and uses average percentage of program entity as fitness function.Then,the new algorithm generates the new generation of population though random sampling selection operator and good point set crossover operator.The experimental results show that the algorithm has quicker convergence speed and better stability than the traditional GA,which is helpful to find software defects as early as possible and to reduce the test cost.2.A hybrid algorithm based on integer linear programming and genetic algorithm is proposed for time-aware test-case prioritization.Firstly,the test case suite which can maximize the number of covered program entities and satisfy time constraint is selected by integer linear programming.Secondly,the individual is encoded according to the cover matrixes of program entities,and coverage rate of program entities is used as fitness function and genetic algorithm is used to prioritize the selected test cases.Theexperimental results show that the hybrid algorithm is stable and better,which is superior to the traditional method of integer linear programming.3.An algorithm is designed for multi-objective test case prioritization.Aiming at the problem of multi-objective test case prioritization,an epistasis particle swarm optimization algorithm is proposed.The epistasis is introduced into the algorithm.The algorithm uses average percentage of branch coverage and effective execution time of the test case sequence as fitness function,and the particle is updated by crossover based on epistasis.The experimental results show that non-dominated solution sets have wide distribution ranges,and average percentage of branch coverage is higher than particle swarm optimization algorithm based on single-point crossover and particle swarm optimization algorithm based on order crossover.So the algorithm is an effective algorithm for solving the multi-objective test case prioritization problem.4.A test case prioritization prototype tool is developed,the tool implements the intelligentization,automation and visualization of test case prioritization.
Keywords/Search Tags:regression testing, test case prioritization, genetic algorithm, integer linear programming, multi-objective particle swarm optimization
PDF Full Text Request
Related items