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.
[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.
[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.
@article{"International Journal of Information, Control and Computer Sciences:61072", author = "Jehad Al Dallal and Paul Sorenson", title = "Generating Class-Based Test Cases for Interface Classes of Object-Oriented Black Box Frameworks", abstract = "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.", keywords = "Hooks, object-oriented framework, frameworkinterface classes (FICs), specification-based testing, test casegeneration.", volume = "2", number = "4", pages = "1243-6", }