The application of an algebraic design method to deal with oracle problem in object-oriented class level testing

In order to ensure reliability and quality, software systems must be tested. The testing includes generating test cases, executing test cases on the program, and determining whether the results of execution conform to requirements. The last is called the oracle problem. The oracle problem is important but difficult as the program yields the results in a way which may depend on some representation choices and makes the comparison with the specified results difficult. The class level testing is considered to be basic in object-oriented software testing. Breu et al. (1998) proposed an algebraic design methodology for object-based systems. We found that this design methodology can be used to deal with the oracle problem in object-oriented class level testing. Given an algebraic specification for a class, suppose the equivalent ground terms u/sub 1//spl sim/u/sub 2/ are selected as a test case. Using the representation function rep() provided by Breu's algebraic design methodology, u/sub 1/ and u/sub 2/ can be mapped to method sequences s/sub 1/ and s/sub 2/ in the implementation, respectively. Executing s/sub 1/ and s/sub 2/ in the implementation, we obtain accordingly two objects O/sub 1/ and O/sub 2/ of the given class.

[1]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

[2]  David J. Robson,et al.  A State-Based Approach to the Testing of Class-Based Programs , 1995, Softw. Concepts Tools.

[3]  Ian J. Hayes,et al.  Specification directed module testing , 1986, IEEE Transactions on Software Engineering.

[4]  Yong Rae Kwon Algebraic Specification-based Testing , 1992 .

[5]  Ruth Breu,et al.  Abstract and Concrete Objects - An Algebraic Design Method for Object-Based Systems , 1993, AMAST.

[6]  Yong Rae Kwon,et al.  Testing of object-oriented programs based on finite state machines , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[7]  Ferhat Khendek,et al.  Test Selection Based on Finite State Models , 1991, IEEE Trans. Software Eng..

[8]  D. J. Robson,et al.  A framework for testing object-oriented programs , 1992 .

[9]  Marie-Claude Gaudel,et al.  Software testing based on formal specifications: a theory and a tool , 1991, Softw. Eng. J..

[10]  Chen Huo Yan On effectiveness of equivalent fundamental pairs as test cases for object-oriented software , 1999, IEEE SMC'99 Conference Proceedings. 1999 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.99CH37028).

[11]  Ruth Breu,et al.  Algebraic Specification Techniques in Object Oriented Programming Environments , 1991, Lecture Notes in Computer Science.

[12]  Tsong Yueh Chen,et al.  In black and white: an integrated approach to class-level testing of object-oriented programs , 1998, TSEM.

[13]  Xiaoping Jia Model-based formal specification directed testing of abstract data types , 1993, Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93.

[14]  G. T. Scullard Test Case Selection using VDM , 1988, VDM Europe.

[15]  Phyllis G. Frankl,et al.  The ASTOOT approach to testing object-oriented programs , 1994, TSEM.