Font Size: a A A

Research On Test Data Automatic Generation

Posted on:2007-11-14Degree:DoctorType:Dissertation
Country:ChinaCandidate:L ShiFull Text:PDF
GTID:1118360212465600Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software testing is the process of executing a program with the intent of finding errors. As the important complementarity for manual testing, test data automatic generation can reduce testing time, decrease development cost, and extend the abilities of testers, which is all-important in many testing areas. In past twenty years, many automatic techniques have been proposed in functional testing, structural testing, performance testing and etc.The main research in this paper includes combinatorial testing and evolutionary testing: (1) By the research of combinatorial testing, the paper proposes several test data generation methods for functional testing, which are helpful to obtain effective test suites. (2) By the research of program analysis and slicing, the paper finds ways to solve some problems in aspect-oriented program analysis and structural testing. (3) By the research of evolutionary testing, the paper suggests methods to generate test data efficiently for structural testing.The main contributions of the paper are listed as follows.The paper represents a method based on the solution space tree to produce test data for combinatorial testing, which has some merits compared with the related works. The paper also proposes two different tests generation algorithms for the k-way coverage criterion, which are helpful in the testing of critical systems.We propose an approach for the dependence analysis and slicing of aspect-oriented programs, which can compute control dependences and data dependences efficiently and correctly. We present two algorithms based on binary decision diagrams to produce test data for the multiple-condition criterion and the modified condition/decision criterion, and describe how to measure the testing coverage of them.The paper suggests an evolutionary testing method for the path-oriented structural testing, and gives several methods for the construction of related fitness functions. The empirical results indicate that the method's performance exceeds random testing and manual testing obviously.The paper presents a self-adaptation strategy for structural evolutionary testing to recover the diversity of the population, which may improve the performance of evolutionary testing greatly. Besides, based on the empirical analysis, we provide some valuable rules and advices for the configuration strategies of structural evolutionary testing.
Keywords/Search Tags:software testing, combinatorial testing, evolutionary testing, test data generation, genetic algorithms
PDF Full Text Request
Related items