Font Size: a A A

Research On Test Data Augmentation For Regression Testing

Posted on:2018-05-07Degree:MasterType:Thesis
Country:ChinaCandidate:C Y WenFull Text:PDF
GTID:2348330512489627Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Regression testing is the activity of retesting a program that has been modified,the purpose is to ensure that the modified program did not bring new bugs or cause error in the original program.In order to ensure the reliability of the software,software usually requires multiple regression tests in the process of iterative development.In the process of regression testing,testers need to expand the original test data set for cover the program being modified and added part.Compared with traditional test data generation,test data augmentation technology is based on analyzing the impact of software modifications,according the software changes to generate new test data,which will valid improve the software testing efficiency.The original test data are often difficult to adapt the requirements of the new version of software testing in the regression testing.In order to solve the problem,this thesis describes the technique of the test data augmentation from the aspect of behavior and coverage,and analyzes their respective adaptation scenarios.The major work of this thesis includes:1.The technique of test data augmentation for behavior.A method of the test data augmentation based on predicate guidance was proposed.Firstly,select the test data which is modified by the program as the initial test dataset from the original test dataset,and extract predicate information from the program.Then,according to the characteristics of K-MEANS clustering algorithm,using the coverage of the target path as the virtual center,clustering is based on the predicate distance of the selected test dataset.Finally,in the randomly generated test data set,select the local isolated test data for each center point as the amplification data,and thus achieve the purpose of guiding the test data amplification.2.The technique of test data augmentation for coverage.A method of the test data augmentation based on adaptive particle swarm optimization algorithm was proposed.Firstly,according to the similarity between the cross path by the original test data and the target path in the new version of the program,choosing appropriate test data in the original test data as evolutionary individual of initial population.Secondly,take advantage of different sub-path of the cross path of initial test data and target path to confirm input component which cause deviation each other.Finally,creating fitness function according to the path similarity and using the Adaptive Particle Swarm Optimization algorithm to operate the input component so that new test data can begenerated.3.Parallelization of the test data augmentation tasks.The method of the parallel test data augmentation based on Hadoop platform was implemented.Firstly,cluster the test data corresponding to the target path to be covered.Then,according to the life cycle of MapReduce framework,decomposing the task of test data augmentation,maintaining the communication of data between different stages,and ultimately improve the efficiency of the test data augmentation.4.A test data augmentation prototype tool for regression testing is developed.Finally,using the method proposed in this thesis to augment the test data of the benchmark program,the validity and applicability of this method are verified by experiments.
Keywords/Search Tags:regression testing, test data augmentation, path similarity, predicate distance, adaptive particle swarm optimization algorithm
PDF Full Text Request
Related items