Generating Class-Based Test Cases for Interface Classes of Object-Oriented Black Box Frameworks

An application framework provides a reusable design and implementation for a family of software systems. Application developers extend the framework to build their particular applications using hooks. Hooks are the places identified to show how to use and customize the framework. Hooks define the Framework Interface Classes (FICs) and their possible specifications, which helps in building reusable test cases for the implementations of these classes. This paper introduces a novel technique called all paths-state to generate state-based test cases to test the FICs at class level. The technique is experimentally evaluated. The empirical evaluation shows that all paths-state technique produces test cases with a high degree of coverage for the specifications of the implemented FICs comparing to test cases generated using round-trip path and all-transition techniques.




References:
[1] K. Beck and R, Johnson. Patterns generated architectures, Proc. of
ECOOP 94, 1994, 139-149.
[2] G. Froehlich, H.J. Hoover, L. Liu, and P.G. Sorenson. Using Object-
Oriented Frameworks, CRC Handbook of Object Technology, CRC
Press, 1998, 26-1 - 26-22.
[3] G. Froehlich, H.J. Hoover, L. Liu, and P.G. Sorenson. Hooking into
Object-Oriented Application Frameworks, Proc. 19th Int'l Conf. on
Software Engineering, Boston, May 1997, 491-501.
[4] G. Froehlich. Hooks: an aid to the reuse of object-oriented frameworks,
Ph.D. Thesis, University of Alberta, Department of Computing Science,
2002.
[5] R. Johnson and B. Foote. Designing reusable classes, Journal of Object-
Oriented Programming, Vol. 2(1), 1988, pp.22-35.
[6] J. Al Dallal and P. Sorenson, Generating State-Based Testing Models for
Object-Oriented Framework Interface Classes, submitted for publication
in Transactions on Engineering, Computing and Technology, 2006.
[7] R. Binder. Testing object-oriented systems, Addison Wesley, 1999.
[8] T. Chow, Testing software design modeled by finite state machines,
IEEE Transactions on Software Engineering, EE-4(3), 1978, 178-187.
[9] J. Offut and A. Abdurazik, Generating tests from UML specifications,
Second International Conference on the Unified Modeling Language
(UML99), Fort Collins, CO, October 1999, 416-429.
[10] K. Bogdanov and M. Holcombe, Statechart testing method for aircraft
control systems, Software Testing, Verification and Reliability, 11(1),
2001, 39-54.
[11] A. Abdurazik, P. Ammann, W. Ding, and J. Offutt, Evaluation of three
specification-based testing criteria, Sixth IEEE International Conference
on Engineering of Complex Computer Systems (ICECCS '00), Tokyo,
Japan, September 2000, 179-187.
[12] G. Antoniol, L. Briand, M. Penta, and Y. Labiche, A case Study Using
the Round-Trip Strategy for State-based Class Testing, Carlton
University TR SCE-01-08, revised Jan. 2002.
[13] Y. Kim, H. Hong, D. Bae, and S. Cha, Test cases generation from UML
state diagrams, IEE Proc.-Software, 146(4), 1999, 187-192.
[14] S. McDonald, J. Schaeffer, and D. Szafron. Pattern-based objectoriented
parallel programming. Proceedings of the First International
Scientific Computing in Object-Oriented Parallel Environments
Conference (ISCOPE-97), 1343 of Lecture Notes in Computer Science,
1997, 167-274.