Abstract
Test data generation in program testing is the process of identifying a set of test data that satisfies a selected testing criterion, such as, statement coverage or branch coverage. The existing methods of test data generation are limited to unit testing and may not efficiently generate test data for programs with procedures. In this paper we present an approach for automated test data generation for programs with procedures. This approach builds on the current theory of execution-oriented test data generation. In this approach, test data are derived based on the actual execution of the program under test. For many programs, the execution of the selected statement may require prior execution of some other statements that may be part of some procedures. The existing methods use only control flow information of a program during the search process and may not efficiently generate test data for these types of programs because they are not able to identify statements that affect execution of the selected statement. Our approach uses data dependence analysis to guide the process of test data generation. Data dependence analysis automatically identifies statements (or procedures) that affect the execution of the selected statement and this information is used to guide the search process. The initial experiments have shown that this approach may improve the chances of finding test data.
- Bir82 D. Bird, C. Munoz, "Automatic generation of random self-checking test cases," IBM Systems Journal, vol. 22, No. 3, 1982, pp. 229-245.]]Google ScholarCross Ref
- Boy75 R. Boyer, B. Elspas, K. Levitt, "SELECT- A formal system for testing and debugging programs by symbolic execution," SIGPLAN Notices, vol. 10, No. 6, 1975, pp. 234-245.]] Google ScholarDigital Library
- Cla76 L. Clarke, "A system to generate test data and symbolically execute programs," IEEE Transactions on Software Engineering, vol. 2, No. 3, 1976, pp. 215-222.]]Google ScholarCross Ref
- DeM87 R. DeMillo, W. McCracken, R. Martin, J. Passafiume, Software Testing and Evaluation, The Benjamin/Cummings Publishing Company, 1987.]] Google ScholarDigital Library
- DeM91 R. DeMillo, A. Offutt, "Constraint-based automatic test data generation", IEEE Transactions on Software Engineering, vol. 17, No. 9, 1991, pp. 900-910]] Google ScholarDigital Library
- Gil74 P. Gill, W. Murray, Ed., Numerical Methods for Constrained Optimization, New York: Academic, 1974.]]Google Scholar
- Har89 M.J. Harrold, M. L. Sofia, "Interprocedural Data Flow Testing," 3rd Symposium on Software Testing, Verification, and Analysis, 1989, pp. 158-165.]] Google ScholarDigital Library
- Fer94 R. Ferguson, B. Korel, "The chaining approach for software test data generation," Technical Report, Computer Science Department, Wayne State University, CSC-94-003, 1994.]]Google Scholar
- How77 W. E. Howden, "Symbolic testing and the DISSECT symbolic evaluation system," IEEE Transactions on Software Engineering, vol. 4, No. 4, 1977, pp. 266-278.]]Google ScholarDigital Library
- Kor89 B. Korel, "TESTGEN- A strucUwal test data generation system," 6-th International Conference on Software Testing, Washington, D.C., 1989.]]Google Scholar
- Kor90a B. Korel, "AutomateA test data generation," IEEE Transactions on Software Engineering, vol. 16, No. 8, 1990, pp. 870-879.]] Google ScholarDigital Library
- Kor90b B. Korel, "A dynamic approach of automated test data generation," Conference on Software Maintenance, San Diego, CA, 1990, pp. 311- 317.]]Google Scholar
- Kor92 B. Korel, "Dynamic method for software test data generation," Journal of Software Testing, Verification, and Reliability, vol. 2, 1992, pp. 203-213.]]Google ScholarCross Ref
- Kor95 B. Korel, "TESTGEN - An execution-oriented test data generation system," Technical Report TR-SE-95-01, Department of Computer Science, Illinois Institute of Technology, 1995.]]Google Scholar
- Las83 J. Laski, B. Korel, "Data flow oriented program testing strategy," iEEE Transactions on Software Engineering, vol. 9, No. 3, 1983, pp. 347-354.]]Google Scholar
- Muc81 S. Muchnick, N. Jones, Program Flow Analysis: Theory and Applications, Prentice- Hall, 1981.]] Google ScholarDigital Library
- Ram76 C. Ramamoorthy, S. Ho, W. Chert, "On the automated generation of program test data," IEEE Transactions on Software Engineering, vol. 2, No. 4, 1976, pp. 293-300.]] Google ScholarDigital Library
- Rap85 S. Rapps, E. Weyuker, "Selecting software test data using data flow information," Transactions on Software Engineering, vol. SE- 11, No. 4, 1985, pp. 367-375.]] Google ScholarDigital Library
Index Terms
- Automated test data generation for programs with procedures
Recommendations
Automated test data generation for programs with procedures
ISSTA '96: Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysisTest data generation in program testing is the process of identifying a set of test data that satisfies a selected testing criterion, such as, statement coverage or branch coverage. The existing methods of test data generation are limited to unit ...
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 ...
Comments