IJIEEB Vol. 6, No. 6, 8 Dec. 2014
Cover page and Table of Contents: PDF (size: 1013KB)
Full Text (PDF, 1013KB), PP.1-14
Views: 0 Downloads: 0
Diagnostics, Test Data Generation, Test coverage of code, Error-Prone Path, Symbolic execution
One of the ways of test data generation is using the path-oriented (path-wise) test data generator. This generator takes the program code and test adequacy criteria as input and generates the test data in order to satisfy the adequacy criteria. One of the problems of this generator in test data generation is the lack of attention to generating the diagnostic test data. In this paper a new approach has been proposed for path-oriented test data generation and by utilizing it, test data is generated automatically realizing the goal of discovering more important errors in the least amount of time. Since that some of the instructions of any programming language are more error-prone, so the paths that contain these instructions are selected for perform test data generation process. Then, the input domains of these paths variables are divided by a divide-and-conquer algorithm to the subdomains. A set of different subdomains is called hypercuboids, and test data will be generated by these hypercuboids. We apply our method in some programs, and compare it with some previous methods. Experimental results show proposed approach outperforms same previous approaches.
Shahram Moadab, Mohsen Falah Rad, "Diagnostic Path-Oriented Test Data Generation by Hyper Cuboids", International Journal of Information Engineering and Electronic Business(IJIEEB), vol.6, no.6, pp.1-14, 2014. DOI:10.5815/ijieeb.2014.06.01
[1]J. Zhang and X Wang, "A Constraint Solver and its Application to Path Feasibility Analysis," International Journal of Software Engineering Knowledge Engineering, 2001 Apr; 11 (2): 139-56.
[2]G. J. Myers, The Art of Software Testing, 2rd ed., New Jersey: John Wiley and Sons; 2004.
[3]J. Peleska, E. Vorobev, and F. Lapschies, "Automated Test Case Generation with SMT-Solving and Abstract Interpretation," In: Bobaru M, Havelund K, Holzmann GJ, Joshi R, editors. Nasa Formal Methods. Third International Symposium: NFM; 2011 Apr; Pasadena, CA. USA: Springer; 2011. p. 298-312.
[4]N. K. Gupta and M.K. Rohil, "Using Genetic Algorithm for Unit Testing of Object Oriented Software," In: Proceedings of the 1st International Conference on Emerging Trends in Engineering and Technology (ICETET '08); 2008 Jul 16-18; Nagpur, Maharashtra. India: IEEE; 2008. p. 308-13.
[5]M. Prasanna and K.R. Chandran, "Automatic Test Case Generation for UML Object diagrams using Genetic Algorithm," Int J Advance Soft Comput Appl. 2009 Jul; 1 (1): 19-32.
[6]M. C. F. P. Emer and S.R. Vergilio, "Selection and Evaluation of Test Data Based on Genetic Programming," Software Quality Journal. 2003 Jun; 11 (2): 167-86.
[7]J. H. Andrews, C. H. Li. Felix, and T. Menzies, "Nighthawk: a two-level genetic-random unit test data generator," In: Stirewalt REK, Egyed A, Fischer B, editors. 22th IEEE/ACM International Conference on Automated Software Engineering (ASE); 2007 Nov 5-9; Atlanta, Georgia. USA: ACM; 2007. p. 144-53.
[8]C. Csallner and Y. Smaragdakis, "JCrasher: an automatic robustness tester for Java," Software Practice and Experience. 2004 Sep; 34 (11): 1025–50.
[9]T. Y. Chen, F. C. Kuo, and H. Liu, "Distributing test cases more evenly in adaptive random testing," Journal of Systems and Software. 2008 Dec; 81 (12): 2146-62.
[10]H. I. Bulbul and T. Bakir, "XML-Based Automatic Test Data Generation," Computing and Informatics. 2008 Jan; 27 (4): 660-80.
[11]P. Nirpal and K. Kale, "Comparison of Software Test Data for Automatic Path Coverage Using Genetic Algorithm," International Journal of Computer Science and Engineering Technology. 2011 Feb; 2 (2): 42-8.
[12]J. Edvardsson, "A Survey on Automatic Test Data Generation," In: Proceedings of the Second Conference on Computer Science and Engineering in Linkoping; 1999. p. 21-28.
[13]N. T. Sy and Y. Deville, "Consistency Techniques for interprocedural Test Data Generation," Proceedings of the Joint 9th European Software Engineering Conference and 11th ACM SIGSOFT Symposium on the Foundation of Software Engineering (ESEC/FSE03); 2003 Sep 1-5; Helsinki, Finland. Finland: ACM; 2003.
[14]P. Hentenryck, V. Saraswat , and Y. Deville, "Design, implementation, and evaluation of the constraint language cc(fd)," Journal of Logic Programming. 1998 Oct 1; 37 (1-3): 139–64.
[15]F. Zareie and S. Parsa, "A Non-Parametric Statistical Debugging Technique with the Aid of Program Slicing (NPSS)", IJIEEB, vol.5, no.2, pp.8-14, 2013. DOI: 10.5815/ijieeb.2013.02.02.
[16]I. Alsmadi and S. Alda, "Test Cases Reduction and Selection Optimization in Testing Web Services", IJIEEB, vol.4, no.5, pp.1-8, 2012.
[17]S. Tanwer and D. Kumar, "Automatic Test Case Generation of C Program Using CFG," International Journal of Computer Science. 2010 Jul; 7 (8): 27-31.
[18]R. Blanco, J. Tuya, and B. A. Diaz, "Automated Test Data Generation Using a Scatter Search Approach," Information and Software Technology. 2009 April; 51 (4): 708-20.
[19]D. Gong, W. Zhang, and X. Yao, "Evolutionary generation of test data for many paths coverage based on grouping," Journal of Systems and Software. 2011 Dec; 84 (12): 2222-33.
[20]L. Cai, "A Business Process Testing Sequence Generation Approach Based on Test Cases Composition," First ACIS/JNU International Conference on Computers, Networks, Systems and Industrial Engineering (CNSI); 2011 May 23-25; Jeju, Island. Korea: IEEE; 2011. p. 178-85.
[21]A. Gotlieb and M. Petit, "A Uniform Random Test Data Generator for Path Testing," Journal of Systems and Software. 2010 Dec; 83 (12): 2618-26.
[22]R. Zhao and Y. Huang, "A Path-oriented automatic random testing based on double constraint propagation," International Journal of Software Engineering & Applications. 2012 Mar; 3 (2): 1-11.
[23]M. Alzabidi, A. Kumar, and A. D. Shaligram, "Automatic Software Structural Testing by Using Evolutionary Algorithms for Test Data Generations," International Journal of Computer Science and Network Security. 2009 Apr; 9 (4): 390-5.
[24]J. N. Swathi, T. I. Sumaiya, and S. Sangeetha, "Minimal Test Case Generation for Effective Program Test using Control Structure Methods and Test Effectiveness Ratio," International Journal of Computer Applications. 2011 Mar; 17 (3): 48-53.
[25]M. Catelani, L. Ciani, V. L. Scarano, and A. Bacioccola, "Software automated testing: A solution to maximize the test plan coverage and to increase software reliability and quality in use," Computer Standards & Interfaces. 2011 Feb; 33 (2): 152-8.
[26]P. N. Boghdady, N. L. Badr, M. Hashem, and M. F. Tolba, "A Proposed Test Case Generation Technique Based on Activity Diagrams," International Journal of Engineering & Technology. 2011 Jun 10; 11 (3): 37-57.
[27]M. Ehmer-Khan, "Different Approaches to White Box Testing Technique for Finding Errors," International Journal of Software Engineering and Its Applications. 2011 Jul; 5 (3): 1-14.
[28]N. Mansour and M. Salame, "Data generation for path testing," Journal of Software Quality. 2004 Jun 1; 12 (2): 121-36.
[29]S. Oualline, How Not to Program in C++, ISBN 10:1886411956. U.S.: No Starch Press; 2003.
[30]H. Zhu, P. A. V. Hall, and J. H. R. May, "Software Unit Test Coverage and Adequacy," ACM Computing Surveys. 1997 Dec; 29 (4): 366-427.
[31]F. Elberzhager, S. Kremer, and J. Munch, and D. Assmann, "Focusing Testing by Using Inspection and Product Metrics," International Journal of Software Engineering and Knowledge Engineering. 2013; 23 (04): 433-462.
[32]M. Hutchins, H. Foster, T. Goradia, and T. Ostrand, "Experiments on the effectiveness of dataflow- and control flow-based test adequacy criteria," In: Proceedings of the 16th International Conference on Software Engineering; 1994. p. 191-200.
[33]M. B. Dwyer, S. Elbaum, J. Hatcliff, G. Rothermel, H. Do, and A. Kinneer, "Software-artifact infrastructure repository," Available at http://sir.unl.edu/portal/index.php, Last visited:Dec 2012.
[34]M. N. Ngo and H. B. K. Tan, "Heuristics-based infeasible path detection for dynamic test data generation," Original Research Article Information and Software Technology. 2008 Jun 25; 50 (7-8): 641-55.
[35]R. S. Landu, "Analysis of Rejected Defects in First and Second Half Builds of Software Testing Phase," Journal of Computing Technologies. 2012 Aug 31; 1 (4): 45-51.