Abstract
Software testing is an important and expensive phase of the software development life cycle. Over the past few decades, there has been an ongoing research to automate the process of software testing but the attempts have been constrained by the size and the complexity of software especially due to the use of dynamic memory allocation which makes the software behavior highly unpredictable. The use of metaheuristic global search techniques for software test data generation has been the focus of researchers in recent years. Many new techniques and hybrid methods have been proposed to tackle the problem more effectively. This study provides an overview of the various techniques that have been applied for structural test data generation. It also presents the open areas, challenges and future directions in the field of search based software testing with an emphasis on test data generation for structural testing.
- Ahmed, M. A., & Hermadi, I. (2007). GA-based multiple paths test data generator. Elsevier Computers and Operations Research, 35, 3107--3124. Google ScholarDigital Library
- Ali, S., Briand, L. C., Hemmati, H., & Walawege R. K. P. (2010, November/December). A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation. IEEE Transactions on Software Engineering, 36(6), 742--762. Google ScholarDigital Library
- Andreou, A. S., Economides, K. A., & Sofokleous, A. A. (2007). An automatic software test-generation scheme based on data flow criteria and genetic algorithms. In Proceedings of the IEEE Seventh International Conference on Computer and Information Technology, pp. 867--872. Google ScholarDigital Library
- Andrews, J. H., Briand, L. C., Labiche, Y., & Namin, A. S. (2006, March). Mutation Analysis for Assessing and Comparing Testing Coverage Criteria. Carleton University, TR SCE-06-02.Google Scholar
- Bertolino, A. (2007). Software Testing Research: Achievements, Challenges, Dreams. In Proceedings of the International Conference on Future of Software Engineering. Google ScholarDigital Library
- DeMillo, R. A., & Ofutt, A. J. (1991, September). Constraintbased automatic test data generation. IEEE Transactions on Software Engineering, 17(9), 900--910. Google ScholarDigital Library
- Ferguson, R., & Korel, B. (1996). The chaining approach for software test data generation. ACM Transactions on Software Engineering and Methodology, 5(1), 63--86. Google ScholarDigital Library
- Frankl, P. G., & Weiss, S. N. (1993, August). An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing. IEEE Transactions on Software Engineering, 19(8), 774--787. Google ScholarDigital Library
- Ghiduk, A. S., Harrold, M. J., & Girgis, M. R. (2007). Using Genetic Algorithms to Aid Test-Data Generation for Data-Flow Coverage. In Proceedings of the IEEE 14th Asia-Pacific Software Engineering Conference, pp. 41--48. Google ScholarDigital Library
- Girgis, M. R. (2005). Automatic Test Data Generation for Data Flow Testing Using a Genetic Algorithm. Journal of Universal computer Science, 11(6), 898--915.Google Scholar
- Gong, D., & Yao, X. (2010). Automatic detection of infeasible paths in software testing. IET Software, 4(5), 361--370.Google ScholarCross Ref
- Harman, M. (2007). The Current State and Future of Search Based Software Engineering. In Proceedings of the 29th International Conference on Software Engineering, Minneapolis, USA. Google ScholarDigital Library
- Harman, M., & McMinn., P. (2010). A Theoretical and Empirical Study of Search Based Testing: Local, Global and Hybrid Search. IEEE Transactions on Software Engineering, 36(2), 226--247. Google ScholarDigital Library
- Harman, M., Lakhotia, K., & McMinn, P. (2007). A Multi-Objective Approach To Search-Based Test Data Generation. ACM GECCO, pp. 1098--1105. Google ScholarDigital Library
- Harman, M., Mansouri, S. A., & Zhang, Y. (2009, April). Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications. Technical Report. TR-09-03.Google Scholar
- Korel, B. (1990). Automated Software Test Data Generation. IEEE Transactions on Software Engineering, 16(8), 870--879. Google ScholarDigital Library
- Koza, J. R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection. Cambridge: MIT Press. Google ScholarDigital Library
- Lakhotia, K. (2009, October). Search-Based Testing. Doctoral Thesis, Department of Computer Science, King's College, London.Google Scholar
- Lakhotia, K., McMinn, P., & Harman, M. (2009). Automated Test Data Generation for Coverage: Haven't We Solved This Problem Yet?. In Proceedings of the 4th Testing Academia and Industry Conference " Practice and Research Techniques (TAIC PART 09), UK. Google ScholarDigital Library
- Li, K., Zhang, Z., & Kou, J. (2010, February). Breeding Software Test Data with Genetic-Particle Swarm Mixed Algorithm. Journal of Computers, 5(2), 258--265.Google ScholarCross Ref
- Malhotra, R., & Garg, M. (2011, June). An Adequacy Based Test Data Generation Technique Using Genetic Algorithms. Journal of Information Processing Systems, 7(2), 363--384.Google ScholarCross Ref
- McMinn, P. (2004, June). Search-Based Software Test Data Generation: A Survey. Journal of Software Testing, Verification and Reliability, 14(2), 105--156. Google ScholarDigital Library
- McMinn, P. (2013, January). An Identification of Program Factors that Impact Crossover Performance in Evolutionary Test Input Generation for the Branch Coverage of C Programs. Information and Software Technology, 55(1), 153--172. Google ScholarDigital Library
- McMinn, P., Harman, M., Hassoun, Y., Lakhotia, K., & Wegener J. (2012). Input Domain Reduction through Irrelevant Variable Removal and its Effect on Local, Global and Hybrid Search-Based Structural Test Data Generation. IEEE Transactions on Software Engineering, 38(2), 453--477. Google ScholarDigital Library
- Michael, C. C., McGraw, G. E., & Schatz, M. A. (2001, December). Generating Software Test Data by Evolution. IEEE Transactions on Software Engineering, 27(12), 1085--1110. Google ScholarDigital Library
- Myers, G. J. (2004). The Art of Software Testing. New Jersey: Wiley. Google ScholarDigital Library
- Nayak, N., & Mohapatra, D. P. (2010). Automatic Test Data Generation for Data Flow Testing Using Particle Swarm Optimization. Springer-Verlag Berlin Heidelberg, pp. 1--12.Google ScholarCross Ref
- Pargas, R. P., Harrold, M. J., & Peck, R. (1999). Test-Data Generation Using Genetic Algorithms. Journal of Software Testing, Verification and Reliability, 9(4), 263--282.Google ScholarCross Ref
- Yang, X. S. (2010), Engineering Optimization: An Introduction with Metaheuristic Applications. New Jersey: Wiley. Google ScholarDigital Library
Index Terms
- Search based software test data generation for structural testing: a perspective
Recommendations
An extensive evaluation of search-based software testing: a review
In recent years, search-based software testing (SBST) is the active research topic in software testing. SBST is the process of generating test cases that use metaheuristics for optimization of a task in the framework of software testing to solve ...
Assertion-oriented automated test data generation
ICSE '96: Proceedings of the 18th international conference on Software engineeringAssertions are recognized as a powerful tool for automatic run time detection of software errors. However, existing testing methods do not use assertions to generate test cases. We present a novel approach of automated test data generation in which ...
A dynamic fitness function for search based software testing
GECCO '18: Proceedings of the Genetic and Evolutionary Computation Conference CompanionSearch Based Software Testing (SBST) formulates testing as an optimization problem, hence some search algorithms can be used to tackle it. The goal of SBST is to improve various test adequacy criteria. There are different types of coverage criteria, and ...
Comments