Object-orientation has rapidly become accepted as the preferred paradigm for large scale system design. There is considerable literature describing approaches to object-oriented design and implementation. However discussion of testing in an object-oriented environment has been conspicuous by its absence. At first sight it appears that decomposition of a system into a potentially large number of information-hiding classes greatly increases the cost of testing. However, in this paper we show that by taking an object-oriented approach to testing, and the inclusion of appropriate tools in the development environment, testing time can be greatly reduced and special purpose test code can be virtually eliminated.