ABSTRACT
In this thesis, I investigate the problem of automatically generating test cases. In particular, I focus on the problem of automatic generation of integration test cases from unit test cases. I start from the observation that software is usually provided with many unit test cases, and that unit test cases carry a lot of information about the unit execution that can be used to generate integration test cases. This paper illustrates the approach that I am investigating and that consists in capturing information in unit test cases with static analysis techniques to automatically merge unit test cases to produce useful integration test cases. The preliminary results reported in this paper provide evidence of the effectiveness of the approach. My current research is developing the approach further and producing additional experimental evidence. I expect to complete the research by defining a set of design for testability rules to produce software that facilitates the automatic generation of integration test cases.
- L. Baresi and M. Young. Test oracles. Technical Report CIS-TR-01-02, University of Oregon, Dept. of Computer and Information Science, August 2001.Google Scholar
- A. Bertolino. Software testing research: Achievements, challenges, dreams. In FOSE '07: 2007 Future of Software Engineering, pages 85--103, 2007. Google ScholarDigital Library
- L. C. Briand, Y. Labiche, and Y. Wang. An investigation of graph-based class integration test order strategies. IEEE Trans. SW Eng., 29(7):594--607, 2003. Google ScholarDigital Library
- M. Broy, B. Jonsson, J.-P. Katoen, M. Leucker, and A. Pretschner. Model-Based Testing of Reactive Systems: Advanced Lectures. Springer, 2005. Google ScholarDigital Library
- B. Daniel, T. Gvero, and D. Marinov. On test repair using symbolic execution. In ISSTA '10: Int. Symp. on SW Testing and Analysis, pages 207--218, 2010. Google ScholarDigital Library
- S. Elbaum, H. N. Chin, M. Dwyer, and M. Jorde. Carving and replaying differential unit test cases from system test cases. IEEE Trans. SW Eng., 35(1):29--45, 2009. Google ScholarDigital Library
- M. Pezzè and M. Young. Software Testing and Analysis: Process, Principles, and Techniques. John Wiley & Sons, Inc, 2007. Google ScholarDigital Library
- G. Rothermel, S. Elbaum, A. G. Malishevsky, P. Kallakuri, and X. Qiu. On test suite composition and cost-effective regression testing. ACM Trans. SW Eng. Methodol., 13(3):277--331, 2004. Google ScholarDigital Library
- K. Taneja and T. Xie. DiffGen: Automated regression unit-test generation. In Proc. 23rd Int. Conf. on Automated Software Engineering ASE, 2008. Google ScholarDigital Library
- S. Thummalapenta, T. Xie, N. Tillmann, J. de Halleux, and W. Schulte. MSeqGen: object-oriented unit-test generation via mining source code. In ESEC/FSE, pages 193--202, 2009. Google ScholarDigital Library
- T. Xie. Improving automation in developer testing: State of the practice. Technical Report TR-2009-6, North Carolina State University Department of Computer Science, February 2009.Google Scholar
- H. Yuan and T. Xie. Substra: A framework for automatic generation of integration tests. In WS on Automation of SW Test, pages 64--70, 2006. Google ScholarDigital Library
Index Terms
- Generating integration test cases automatically
Recommendations
Generating Effective Integration Test Cases from Unit Ones
ICST '13: Proceedings of the 2013 IEEE Sixth International Conference on Software Testing, Verification and ValidationUnit testing aims to ensure that methods correctly implement the specified and implied pre- and post-conditions, while integration testing ensures that modules correctly follow interaction protocols. While the generation of unit test cases has been ...
A Static Approach to Prioritizing JUnit Test Cases
Test case prioritization is used in regression testing to schedule the execution order of test cases so as to expose faults earlier in testing. Over the past few years, many test case prioritization techniques have been proposed in the literature. Most ...
Improving Fault Detection Capability by Selectively Retaining Test Cases during Test Suite Reduction
Software testing is a critical part of software development. As new test cases are generated over time due to software modifications, test suite sizes may grow significantly. Because of time and resource constraints for testing, test suite minimization ...
Comments