QW2000 Paper 2T1

Mr. Michael Silverstein
(SilverMark, Inc.)

Automating Testing of Object-Oriented Components Using Intelligent Test Artifacts


Key Points


Component testing is the act of subdividing an object-oriented software system into units of particular granularity, applying stimuli to the component’s interface and validating the correct responses to those stimuli, in the form of either a state change or reaction in the component, or elsewhere in the system. 

In the last few years, design patterns have become a currency for communicating common problems and their solutions within a context. Testing is no exception. Several publications have endeavored to document common design solutions to component test automation problems in terms of design patterns.  

This article presents a set of design patterns commonly encountered when creating automated test frameworks and application domain specific test cases, and introduces the notion of test artifacts as an abstract test component implementation model. 

For most types of component testing, the component test developer must eventually find answers to one or more of the following questions, and possibly the questions that their answers pose: 

The presentation describes several patterns for automated component test framework and test case design, some familiar and some not, and introduces the notion of test artifacts as a component architecture for implementing tests. Examples use the Javaä programming language. These patterns include: 

About the Author

Michael Silverstein is Lead Architect at SilverMark, Inc. (www.silvermark.com) with responsibility for technical direction for SilverMark's Test Mentor™ line of object-oriented automated testing tools for Java and Smalltalk. Michael frequently advises customers on how to design automated tests, and has been developing software for twenty years, the last eight of which using object-oriented architectures and languages, including Smalltalk and Java™.

Before SilverMark, Michael worked on a variety of software development projects at IBM, including the VisualAge development team.  Michael can be reached at msilverstein@silvermark.com (919) 858-8300 x29