An Adequacy Based Test Data Generation Technique Using Genetic Algorithms
0
조회
0
다운로드
1
인용
0
참고문헌
키워드
초록
As the complexity of software is increasing, generating an effective test data has become a necessity. This necessity has increased the demand for techniques that can generate test data effectively. This paper proposes a test data generation technique based on adequacy based testing criteria. Adequacy based testing criteria uses the concept of mutation analysis to check the adequacy of test data. In general, mutation analysis is applied after the test data is generated. But, in this work, we propose a technique that applies mutation analysis at the time of test data generation only, rather than applying it after the test data has been generated. This saves significant amount of time (required to generate adequate test cases) as compared to the latter case as the total time in the latter case is the sum of the time to generate test data and the time to apply mutation analysis to the generated test data. We also use genetic algorithms that explore the complete domain of the program to provide near-global optimum solution. In this paper, we first define and explain the proposed technique. Then we validate the proposed technique using ten real time programs. The proposed technique is compared with path testing technique (that use reliability based testing criteria) for these ten programs. The results show that the adequacy based proposed technique is better than the reliability based path testing technique and there is a significant reduce in number of generated test cases and time taken to generate test cases.
Abstract
As the complexity of software is increasing, generating an effective test data has become a necessity. This necessity has increased the demand for techniques that can generate test data effectively. This paper proposes a test data generation technique based on adequacy based testing criteria. Adequacy based testing criteria uses the concept of mutation analysis to check the adequacy of test data. In general, mutation analysis is applied after the test data is generated. But, in this work, we propose a technique that applies mutation analysis at the time of test data generation only, rather than applying it after the test data has been generated. This saves significant amount of time (required to generate adequate test cases) as compared to the latter case as the total time in the latter case is the sum of the time to generate test data and the time to apply mutation analysis to the generated test data. We also use genetic algorithms that explore the complete domain of the program to provide near-global optimum solution. In this paper, we first define and explain the proposed technique. Then we validate the proposed technique using ten real time programs. The proposed technique is compared with path testing technique (that use reliability based testing criteria) for these ten programs. The results show that the adequacy based proposed technique is better than the reliability based path testing technique and there is a significant reduce in number of generated test cases and time taken to generate test cases.
참고문헌 (31)
- K.K. Aggarwal, "Software Engineering" (2006), New Age International Publishers
- J.W. Duran, "An evaluation of random testing", IEEE Trans. on Software Engineering, 10(4), pp.438~443 (1984)
- R. DeMillo, "Constraint-based automatic test data generation", IEEE Trans. on Software Engineering, 17(9), pp.900~910 (1991)
- Yong Chen, "Automatic Path-oriented Test Data Generation Using a Multi-Population Genetic Algorithm", Fourth International Conference on Natural Computation (2008), IEEE
- C. Michael, "Generating software test data by evolution", IEEE Transactions on Software Engineering, 27(12), pp.1085~1110 (2001)
- B.F. Jones, "Automatic structural testing using genetic algorithms", Software Engineering Journal, pp.299~306 (1996)
- S. Khor, "Using a Genetic Algorithm and Formal Concept Analysis to Generate Branch Coverage Test Data Automatically", Proceedings of the 19th International Conference on Automated Software Engineering (ASE”04), pp.1068~3062 (2004)
- A.S. Ghiduk, "Using Genetic Algorithms to Aid Test-Data Generation for Data-Flow Coverage", 14th Asia-Pacific Software Engineering Conference, pp.41~48 (2007), IEEE
- A.S. Andreou, "An automatic software test-data generation scheme based on data flow criteria and genetic algorithms", Seventh International Conference on Computer and Information Technology, pp.867~872 (2007), IEEE
- L. Clarke, "A system to generate test data and symbolically execute programs", IEEE Trans. on Software Eng, SE-2(3), pp.215~222 (1976)
- B. Korel, "Automated software test generation", IEEE Trans. on Software Engineering, 16(8), pp.870~879 (1990)
- C.C. Michael, "Genetic Algorithms for Dynamic Test Data Generation", 307~308 (1997)
- J. Wegener, "Evolutionary Test Environment for Automatic Structural Testing", Information and Software Technology, 43, pp.841~854 (2001)
- N. Mansour, "Data Generation for Path Testing", Software Quality Journal, 12, pp.121~136 (2004), Kluwer Academic Publishers
- K. Dahal, "Test Data Generation from UML State Machine Diagrams using GAs", International Conference on Software Engineering Advances, pp.834~840 (2007), IEEE
- A. Bouchachia, "An Immune Genetic Algorithm for Software Test Data Generation", Seventh International Conference on Hybrid Intelligent Systems, pp.84~89 (2007), IEEE
- X. Shen, "Automatic Generation of Test Case based on GATS Algorithm, 2007AA04Z148, supported by Nation 863 Project", ~
- P.R. Srivastava, "Application of Genetic Algorithm in Software Testing", International Journal of Software Engineering and Its Applications, 3(4), pp.87~96 (2009)
- A. Rauf, "Automated GUI Test Coverage Analysis using GA", 2010 Seventh International Conference on Information Technology, pp.1057~1062 (2010), IEEE
- D.E. Goldberg, "Genetic Algorithms: in Search, In Optimization & Machine Learning" (1989), Addison Wesley
- Y. Jia, "An Analysis and Survey of the Development of Mutation Testing", IEEE Transactions on Software Engineering (2010), IEEE
- M. Harman, "Automated Test Data Generation using Search Based Software Engineering", Second International Workshop on Automation of Software Test (AST'07) (2007), IEEE
- M. R Girgis, "Automatic Test Data Generation For Data Flow Testing Using A Genetic Algorithm", Journal of Universal Computer Science, 11(6), pp.898~915 (2005)
- P. McMinn, "Search-based software test data generation: A survey", Software Testing, Verification and Reliability, 14(2), pp.105~156 (2004)
- M. Harman, "Search based testing (keynote)", 6th Meta heuristics International Conference (MIC 2005),Vienna, Austria (2005)
- J. W. Laski, "Data flow oriented program testing strategy", IEEE Transactions on Software Engineering, 9(3), pp.347~354 (1983)
- S. Rapps, "Selecting software test data using data flow information", IEEE Transactions on Software Engineering, 11(4), pp.367~375 (1985)
- B. W. Kernighan, "The Elements of Programming Style" (1982), McGraw-Hill, Inc
- S. Xanthakis, "Application of genetic algorithm to software testing", Proceedings of 5th International Conference on Software Engineering and its Applications Toulouse, France, pp.625~636 (1992)
- J. C. Lin, "Automatic test data generation for path testing using Gas", Information Sciences, 131, pp.47~64 (2001)
- M. A. Ahmed, "GAbased multiple paths test data generator", Computers and Operations Research (2007)
