24 Jan A Practical Guide To Testing Object-Oriented Software
First published in Software Quality Professional Vol 4, Issue 4, September 2002
|Title||John D. McGregor and David A. Sykes|
|Publisher||Addison-Wesley / Addison-Wesley Object Technology Series|
|# of Pages||374|
|Software Engineering Processes, Software Verification and Validation|
If you are a software development manager, a software developer, or a programmer who is involved with object-oriented development then this is the book you need. The book is thoughtful and well laid out. If you are a tester you may
find the book a difficult read; and, find yourself wondering why you are reading it. My advice to you is “do not despair and continue with the book.” You may find, as I did, that a
vast amount of learning would take place. By using text, diagrams, and code to convey information the authors show the relationships that exist throughout the software development life-cycle.
The authors understand that there are seldom the resources to do all the testing one might desire (or all the testing described in this book). They have provided a multitude of approaches and techniques and merely ask that the reader select that which is useful and affordable. A tester cannot ask for more from an author.
Believing that object-oriented technologies bring changes not only to the programming languages but also to the software development process, the authors suggest that they offer an opportunity to improve the test process by:
- Changing attitudes toward testing by demonstrating that testing contributes to creating the right software, measuring progress, and keeping development on track
- Changing where testing fits into the development process by demonstrating how testing and development activities can be intertwined and how one can contribute to a successful outcome of the other
- Using new technology to do the testing to test the models, develop unit test drivers, and reduce the coding needed to test software components
The first three chapters of A
Practical Guide to Testing Object-Oriented Software are concerned with testing concepts and the testing process as they relate to object-oriented software. Chapters 4 through 10 detail the techniques for various kinds of testing that can be accomplished and Chapter 11 is a summary. Each chapter describes the concepts involved, shows how an interactive video game called Brickles implements the concepts and how Brickles can be tested using
the techniques described, a summary,
and finally a set of exercises.
If you are looking for a book that is highly technical in its application of
testing concepts then this might just be the book for you. By reading chapter 11 before you read the rest of the book you will know where the authors will take you. Testing, as always, begins with a guided inspection of the Requirements Model and continues with a guided inspection of the Domain Analysis Model. This is followed by an evaluation of the Application Analysis Model against the Requirements and Domain Analysis Models. Then the Architectural Design and Detailed Design Models are inspected against the use cases. Finally, the classes and the object interactions are tested. Only when these tests have been “passed” is the system/application tested.