Using Genetic Algorithm as Test Data Generator for Stored PL/SQL Program Units
- 1 The Department of Computer Science, The University of Jordan, Amman, Jordan
- 2 The Department of Computer Science, The University of Jordan, Amman, Jordan
- 3 The Department of Computer Science, The University of Jordan, Amman, Jordan
- 4 The Department of Computer Science, The University of Jordan, Amman, Jordan
Abstract
PL/SQL is the most common language for ORACLE database application. It allows the developer to create stored program units (Procedures, Functions, and Packages) to improve software reusability and hide the complexity of the execution of a specific operation behind a name. Also, it acts as an interface between SQL database and DEVELOPER. Therefore, it is important to test these modules that consist of procedures and functions. In this paper, a new genetic algorithm (GA), as search technique, is used in order to find the required test data according to branch criteria to test stored PL/SQL program units. The experimental results show that this was not fully achieved, such that the test target in some branches is not reached and the coverage percentage is 98%. A problem rises when target branch is depending on data retrieved from tables; in this case, GA is not able to generate test cases for this branch.
- M. G. Alshraideh and L. Bottaci, “Search-Based Software Test Data Generation for String Data Using Program-Specific Search Operators, Special Issue of Software Testing, Verification and Reliability Devoted to Extended Papers from the Third UK Testing Conference (UKTest 2005), Vol. 16, No. 3, 2006, pp. 175-203.
- M. Alshraideh, B. A. Mahafzah and S. Al-Sharaeh, “A Multiple-Population Genetic Algorithm for Branch Coverage Test Data Generation,” Software Quality Control, Vol. 19, No. 3, 2011, pp. 489-513. doi:10.1007/s11219-010-9117-4
- M. Alshraideh, L. Bottaci and B. A. Mahafzah, “Using Program Data-State Scarcity to Guide Automatic Test Data Generation,” Software Quality Control, Vol. 18, No. 1, 2010, pp. 109-144. doi:10.1007/s11219-009-9083-x
- A. Baresel, H. Pohlheim and S. Sadeghipour, “Structural and Functional Sequence Test of Dynamic and State-Based Software with Evolutionary Algorithms,” Proceedings of the Genetic and Evolutionary Computation Conference, Chicago, 12-16 July 2003, pp. 2428-2441.
- B. Korel, “Automated Test Generation for Programs with Procedures,” Proceedings of the International Symposium on Software Testing and Analysis, San Diego, 8-10 January 1996, pp. 209-215.
- S. N. Sivanandam and S. N. Deepa, “Introduction to Genetic Algorithms,” 1st Edition, Springer, New York, 2010.
- C. C. Michael, G. E. McGraw and M. A. Schatz, “Generating Software Test Data by Evolution,” IEEE Transactions on Software Engineering, Vol. 27, No. 12, 2001, pp. 1085-1110. doi:10.1109/32.988709
- B. Korel, “Automated Software Test Data Generation,” IEEE Transactions on Software Engineering, Vol. 16, No. 8, 1990, pp. 870-879. doi:10.1109/32.57624
- J. A. Edvardsson, “Survey on Automatic Test Data Generation,” Proceedings of the Second Conference on Computer Science and Engineering, Linkoping, 21-22 October 1999, pp. 21-28.
- J. Duran and S. Ntafos, “An Evaluation of Random Testing,” IEEE Transactions on Software Engineering, Vol. 10, No. 4, 1984, pp. 438-444. doi:10.1109/TSE.1984.5010257
- M. Harman and P. McMinn, “A Theoretical & Empirical Analysis of Evolutionary Testing and Hill Climbing for Structural Test Data Generation,” Proceedings of the 2007 International Symposium on Software Testing and Analysis, London, 9-12 July 2007, pp. 73-83. doi:10.1145/1273463.1273475
- P. McMinn, “Search-Based Software Test Data Generation: A Survey: Research Articles,” Software Testing, Verification & Reliability, Vol. 14, No. 2, 2004, pp. 105-156. doi:10.1002/stvr.294