# An Object-Oriented Testing Framework Specified in Z Notation

Ming-Chi Lee1

1Department of Business Administration Nationl Pingtung Institute of Commerce Pingtung 900, Taiwan, R.O.C.

Accepted: March 30, 1999
Publication Date: March 30, 1999

## ABSTRACT

Many researches to testing object-oriented programs (OOPs) have been proposed for the past decade. However, most of these researches have centered only around the class-level testing instead of the whole profiles of OOP development. This paper presents a framework to test OOPs from em formal specification to em test data generation. The formal specification of object-oriented program is specified in Z notation which is a mathematically rigorous specification language. A state transition diagram (STD) derived from Z specification provides a complementary representation of the dynamic behavior of a given OOP. In addition, the STD can be used to generate a test data which consists of anticipated operation sequences of OOPs. Moreover, a testing algorithm modeled by em finite state machine is proposed to run against test data. Two important testing criteria, consistency and completeness (C & C), are used to evaluate testing result. The final test result shows that the testing framework is executable and pragmatic.

Keywords: Object-Oriented Testing, Finite State Machine, Automaton

## REFERENCES

1. [1]. Aho, A., Hofcraft, J. and Ullman, J., The Design and Analysis of Computer Algorithms, Addison-Wesley Publishing Company, pp.187-188, (1976).
2. [2]. Bohm, C. and Jacopini, G., “Flow Diagrams, Turing Machines, and Languages with Only Two Formation Rules.” Commun. ACM, Vol. 9, No. 5, pp. 366-371.
3. [3]. Booch, G., Object-Oriented Analysis and Design with Application, The Benjamin/Cummings Publishing Company, Inc., second edition, (1993).
4. [4]. Booch G., Object-Oriented Analysis and Design with Application, The Benjamin/Cummings Publishing Company, Inc., second edition, (1993).
5. [5]. Chung, C. M. and Lee, M. C., “Object-Oriented Programming Testing Methodology,” International Journal of Mini and Microcomputer, Vol. 16, No. 2, pp.773—81, (1994).
6. [6]. Chung, C. M., Shih, T. K., Wang, C. C. and Lee, M., “Integrating Object-Oriented Software Testing and Metrics,” International Journal of Software Engineering and Knowledge Engineering, U.S.A, Vol.7, No. 1, pp.125-144, Jan. (1997).
7. [7]. Duran, J. W. and Ntafos, S. C., “An Evaluation of Random Testing,” IEEE Trans. Software Eng., Vol.10, No.4, pp. 438-444. July (1984).
8. [8]. Goodenough, J. B. and Gerhart, S. L., “Toward a theory of test data selection,” IEEE Transaction on Software Engineering, SE-3, June. (1975).
9. [9]. Hall, P. A. V., “Relationship between Specifications and Testing,” Information and Software Technology, Vol. 33, No. 1, pp 47-52, (1991).
10. [10]. Hecht, M. S., Flow analysis of Computer Programs. North-Holland, New York, (1977).
11. [11]. Hayes, I. J., “Specifications Directed Module Testing,” IEEE Transaction on Software Engineering, Vol. SE-12, No. 1, Jan. pp. 124-133, (1986).
12. [12]. Lijter, M., Meyers, S., and Reiss, S. P., “Support for maintaining object-oriented programs,” IEEE Transactions on Software Engineering, 18(12), pp. 1045-1052, Dec. (1992).
13. [13]. Stocks, P. and Carrigton, D., “A Framework for Specification-Based Testing,” IEEE Transaction on Software Engineering, Vol. 22, No. 11, pp. 777-793, September, (1996).
14. [14]. Rumbaugh, J., Blaha, M. and Lorensen, W., Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, NJ, (1991).
15. [15]. Spivey, J. M., The Z Notation: A Reference Manual Second Edition, Prentice-Hall, Englewood Cliffs, NJ. (1992).
16. [16]. Ullman, J. D., and Hopcroft, J. E., Introduction to Automata Theorey, Languages, and Computation, Addison Wesley, pp. 58-62. (1979).
17. [17]. Weyuker, E. J. and Jeng, B., “Analyzing Partition Testing Strategy,” IEEE Transaction on Software Engineering Vol. 17, No. 7, pp. 703-711, July, (1991).
18. [18]. Zualkernan, I. A. and Tsai, W. T., “Object-Oriented Analysis and Design: A CASE STUDY,” International Journal of Software Engineering and Knowledge Engineering, Vol. 2, No. 4, pp. 489-521, (1992).

0.6
2019CiteScore

27th percentile