Font Size: a A A

Research On Self-Adaptive Differential Evolution Algorithm For Test Data Generation

Posted on:2019-04-18Degree:MasterType:Thesis
Country:ChinaCandidate:Q Q WengFull Text:PDF
GTID:2348330542997634Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
As one of the important approaches of guaranteeing the quality of software products,software testing has attracted a lot of researchers' attention.The main purpose of software testing is to discover the errors or potential defects in software products as much as possible during the testing,so soft,ware testing is a very important process in the software development process.The efficiency and quality of test cases in software testing has an effect on the whole software testing.Therefore,how to design an effective test case generation method is very important to software testing.Differential evolution algorithm is an efficient global optimization algorithm,which is one of heuristic intelligent search algorithms.The differential evolution algorithm has many characteristics such as easy realization,simple structure,strong robustness and fast convergence speed,which can be well applied to the automation of software testing cases.However,the standard differential evolution algorithm needs to manually pre-set the control parameters according to the prior knowledge and adjust in the later period to improve its efficiency.Similar to other intelligent search algorithms,it is easy to fall into the local optimum in the later period of algorithm evolution,so it can't be directly used in the generation software testing cases.Therefore,how to improve the differential evolution algorithm is crucial to the improvement of convergence speed and convergence accuracy.This paper mainly focuses on how to improve the adaptive differential evolution algorithm and applies it to the automatic generation of test cases based on path coverage.The main work is as follows:Firstly,the importance of software testing is summarized in this paper.At the same time,the current research status of differential evolution algorithms and the adaptive differential evolution algorithm as well as their advantages and disadvantages are analyzed and briefly summarized,In addition,the current research status of software testing and the existing algorithms of test cases generation are simply described,and advantages and disadvantages of various algorithms are analyzed.Secondly,In order to solve the problem that the existing adaptive differential evolution algorithms are easy to fall into the local optimum and their convergence accuracy is low,this paper proposes an enhanced Opposition Learning Adaptive Differential Evolution algorithm which is based on the opposition learning strategy in machine learning.The improved algorithm based on opposition learning mechanism chooses the individuals with better fitness value from the original individual population and its reverse elite individual population for mutation operation,which facilitates to improve the population diversity and to strengthen the ability of local search in the process of population evolution.Meanwhile,Gaussian distribution can be used to dynamically adjust the individuals for scaling in the mutation operation,which improves the optimization ability of individuals.Through the above operation,while expanding the population diversity and ensuring that the algorithm jumps out of the local optimum,the global search ability and local optimization ability of the algorithm will be balanced.Thirdly,this paper studies the problem about testing cases generation based on path coverage in software testing.In the automatic generation of test cases based on path coverage,concerning the problems of the existing intelligent search algorithms such as more parameters,more iteration times and inefficient test data generation,this paper proposes a self-adaptive differential evolution algorithm based on the centroid,which is applied to automatically generating testing data.In the mutation strategy,mutation individuals are selected according to the centroid principle in physics,which can ensure that the population evolves in the direction of the optimal value.At the same time,the scale of individuals is adjusted by adaptive control parameters to improve the population diversity,which can ensure that the population will jump out of the local optimum due to individuals are too concentrated during the evolution process.As a whole,the population convergence speed will be accelerated.The adaptive differential evolution algorithm proposed in this paper is applied to the generation the software testing data.Compared with the representative algorithms about software testing cases generation,experimental results show that the proposed algorithm can effectively improve the efficiency and performance of automatic test data generation.
Keywords/Search Tags:Software Testing, Differential Evolution Algorithm, Opposition Learning, Center of Mass, Adaptive Parameter Control
PDF Full Text Request
Related items