Research ArticleOpen AccessGoogle Scholar indexed
Automatic Test Data Generation for Java Card Applications Using Genetic Algorithm
Department of Computer Science, The University of Jordan, Amman, Jordan
Department of Computer Science, The University of Jordan, Amman, Jordan
Department of Computer Science, The University of Jordan, Amman, Jordan
Al Israa University, Amman, Jordan
Department of Computer Information Systems, The University of Jordan, Amman, Jordan
- 1 Department of Computer Science, The University of Jordan, Amman, Jordan
- 2 Department of Computer Science, The University of Jordan, Amman, Jordan
- 3 Department of Computer Science, The University of Jordan, Amman, Jordan
- 4 Al Israa University, Amman, Jordan
- 5 Department of Computer Information Systems, The University of Jordan, Amman, Jordan
Journal of Software Engineering and Applications·Volume 08 (2015)·Pages 603–616·Published 24 December 2015·DOI10.4236/jsea.2015.812057
Copy link · social · email
Abstract
The main objective of software testing is to have the highest likelihood of finding the most faults with a minimum amount of time and effort. Genetic Algorithm (GA) has been successfully used by researchers in software testing to automatically generate test data. In this paper, a GA is applied using branch coverage criterion to generate the least possible set of test data to test JSC applications. Results show that applying GA achieves better performance in terms of average number of test data generations, execution time, and percentage of branch coverage.
KeywordsSoftware TestingGenetic AlgorithmJava Smart Card
- Stuber, G. (1996) The Electronic Purse: An Overview of Recent Developments and Policy Issues. Bank of Canada.
- Myers, G.J., Sandler, C. and Badgett, T. (2011) The Art of Software Testing. John Wiley & Sons, Hoboken.
- Sommerville, I. (2000) Software Engineering. Addison-Wesley, Harlow.
- Srivastava, P.R. and Kim, T.H. (2009) Application of Genetic Algorithm in Software Testing. International Journal of Software Engineering and Its Applications, 3, 87-96.
- Pargas, R.P., Harrold, M.J. and Peck, R.R. (1999) Test-Data Generation Using Genetic Algorithms. Software Testing Verification and Reliability, 9, 263-282. http://dx.doi.org/10.1002/(SICI)1099-1689(199912)9:4 3.0.CO;2-Y
- McCart, J., Berndt, D. and Watkins, A. (2007) Using Genetic Algorithms for Software Testing: Performance Improvement Techniques. Proceedings Americas Conference on Information Systems (AMCIS), Colorado, 2007, 222.
- Coglio, A. (2003) Code Generation for High-Assurance Java Card applets. Proceedings of 3rd NSA Conference on High Confidence Software and Systems, Gold Coast, April 2003, 85-93.
- Tuteja, M. and Dubey, G. (2012) A Research Study on Importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models. International Journal of Soft Computing, 2, 251
- Giorgio, Z. (2015) Understanding Java Card 2.0. http://www.javaworld.com/article/2076617/embedded-java/understanding-java-card-2-0.html
- Mitchell, M. (1996) An Introduction to Genetic Algorithms. MIT Press, Cambridge.
- Hermawanto, D. (2013) Genetic Algorithm for Solving Simple Mathematical Equality Problem. Cornell University Library, Computer Science, Neural and Evolutionary Computing, Indonesia, 1-10.
- Xie, H. and Zhang, M. (2009) Sampling Issues of Tournament Selection in Genetic Programming. School of Engineering and Computer Science, Victoria University of Wellington, Wellington.
- Spears, W.M. and Anand, V. (1991) A Study of Crossover Operators in Genetic Programming. Springer, Berlin Heidelberg, 409-418. http://dx.doi.org/10.1007/3-540-54563-8_104
- DeJong, K.A. (1975) Analysis of the Behavior of a Class of Genetic Adaptive Systems. Department of Computer and Communication Sciences, University of Michigan, Ann Arbor.
- El Farissi, I., Azizi, M., Lanet, J.L. and Moussaoui, M. (2013) Neural Network vs. Bayesian Network to Detect Java Card Mutants. Agriculture and Agricultural Science Procedia, 4, 132-137. http://dx.doi.org/10.1016/j.aasri.2013.10.021