The object-oriented (OO) paradigm is rapidly gaining acceptance in the software industry. However, the powerful features of this new paradigm also introduce a new set of OO software testing and maintelrance problems. The pioneering work in identifying the.se new problems includes [7, 10-12, 14, 16, 18]. The problems can be summarized as: 1) the understanding problem; 2) the complex interdependency problem; 3) the object state behavior testing pr'ol> lem; and 4) the tool sirpport problem. Detailed di.scussions of these problems will be provided later. Our industrial experience confirms these discoveries.In an attempt to solve these problems, the Software Engineering Center for Telecommunications at the University of Texas at Arlington (UTA) and Fujitsu Network Transmission Systems, Inc., have undertaken a major effort in the past three years to develop a methodology for OO .software testing and maintenance. The results we have obtained .so far include: 1) an OO test model and a reverse engineering approach to recovering the designs of C++ programs, 2) a three level .scherrra and algorithriis for data flow testing of OO pr'ograms, 3) definition and identification of class firewalls and a test strateg)' lor regression testing of C++ programs, 4) a program-based rrrethod for object state behavior testing, and .^i) a scenariobased method for integration and acceptance testing. Parts of these results have been implemented in an integrated object-oriented testing and maintenance (OOTM) environment.Currently, most software development or'ganizations are still in the process of observing and/or making the transition to the OO paradigm; only a few have experienced the difficirlties of testing and maintaining 75
ZRe importance of 06ject state twting ir illwtroted thmugh a simple ctampb. We ahow that certain e w r s in the implementation of object date bebauior cannot 6e rwdily detected by wnuentional stncturol fating, finctional twting, and date twting. We dercribe an o b j d state test model and outline a reuerse engineew ing method for eztracting object date 6ebauiors jivm C++ soum wde. The object date test model ir a hiearcbical, wnmmnt, wmmunicating date machine. It nsemblu the wncepta of inheritance and aggregation in the object-oriented parodigm rather than the wnce t of state decomposition U in some eziating modeb. Tie reuerae engineerin method ir 6aaed on symbolic emcution to &rod d e d a t u and eff& of the member finctiow. The symbolic etecution rwulta are wed t o w w t n c t the date machinu. The wefrlness of the model and of the method ir dircwed in the w n t d of o b j d state twting in the detection of a state behavior e w r .
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.