A hybrid object-oriented class testing method : based on state-based and data-flow testing

A new hybrid object-oriented class testing method, which combines state-based testing with data-flow testing approaches, is proposed in this paper. Based on this approach, an automated class test tool, called MACT (Method for Automated Class Testing), has been built. This consists of five components: a test case tree generator, a test message generator, a test driver, a test result inspector and a def-use info generator. The first four components support functional testing, and the rest enables testers to execute structural testing. A threaded multi-way tree is produced from a state machine by the test case tree generator. The tree comprises all possible expected states of all transitions of the object class, and it also contains definitionuse information with respect to data members in the public methods of the class. This tree can be used to create a test message file for the class, and can also be used as a test oracle. The test result file is produced automatically after the test driver has examined the class under test. Moreover, it can produce def-use information for data-flow testing at the intra-class level.

[1]  David Chenho Kung,et al.  On object state testing , 1994, Proceedings Eighteenth Annual International Computer Software and Applications Conference (COMPSAC 94).

[2]  David J. Robson,et al.  The state-based testing of object-oriented programs , 1993, 1993 Conference on Software Maintenance.

[3]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[4]  ANDREAS SPILLNER,et al.  Control flow and data flow oriented integration testing methods , 1992, Softw. Test. Verification Reliab..

[5]  Daniel Hoffman,et al.  ClassBench: a framework for automated class testing , 1997 .

[6]  Ian M. Mitchell,et al.  An automatic test case generator derived from state-based testing , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

[7]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[8]  Daniel Hoffman,et al.  Graph-based Class Testing , 1994, Aust. Comput. J..

[9]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[10]  Mary Lou Soffa,et al.  Interprocedual data flow testing , 1989 .

[11]  Ian M. Mitchell,et al.  Automated class testing using threaded multi-way trees to represent the behaviour of state machines , 1999, Ann. Softw. Eng..

[12]  Gregg Rothermel,et al.  Performing data flow testing on classes , 1994, SIGSOFT '94.

[13]  Simon Stobart,et al.  A Method for Automatic Class Testing (MACT) Object-Oriented Programs Using A State-based Testing Method , 1997 .

[14]  Janusz W. Laski,et al.  A Data Flow Oriented Program Testing Strategy , 1983, IEEE Transactions on Software Engineering.

[15]  Elaine J. Weyuker,et al.  On Testing Non-Testable Programs , 1982, Comput. J..