Home Feedback Search Contents



Testing Object-Oriented Software

Course Description

The course takes a broad view of testing, including quality-related issues such as inspections and reviews in addition to static and dynamic testing of code. The course relates the quality of the design methodology being used to the correctness of the software.

A number of specific techniques are presented that exploit object-oriented design principles to reduce the amount of work required in the testing process. The goal is to generate the minimal number of test cases and to execute the minimal number of cases at each level of testing.

Course Objective

The objective of this course is to prepare attendees to effectively use a formal testing process in developing object-oriented applications. Upon completion of this course attendees will be able to:

Understand the problems unique to testing object-oriented software. 
Design classes that are more easily testable. 
Create both static and dynamic test cases for object-oriented software. 
Effectively use the Hierarchical Incremental Testing method. 
Structure development and test teams more effectively. 


This course is primarily directed toward testers. In addition, designers and programmers would benefit from this material.


Object-Oriented Analysis and Design or its equivalent.

Course Duration

Testing Object-Oriented Software is a three day course. It can be taught in two days as a lecture course.

Course Outline

  1. Course Overview
  2. Course goals 
    Testing context 
    Risk analysis
  3. Basic Object-Oriented Concepts
  4. Basic definitions for object-oriented concepts 
    These definitions in relationship to testing
  5. Testing Analysis and Design Models
  6. Inspections
    Testing informal models 
    Testing formal models 
    Measuring testing effectiveness
  7. Testing Classes
  8. A philosophy of testing 
    Functional testing 
    Structural testing 
    Interaction testing 
    Subclass testing 
    Cluster testing
  9. Testing State-Based Classes
  10. Testing strategies 
    Case study - Timer classes
  11. Parallel Architecture for Component Testing
  12. An architecture for managing test cases 
    A testing process
  13. Planning for Component Testing
  14. Template component test plans
  15. Measuring the Effectiveness of Component Testing
  16. Types of defects and degree of coverage 
    Defect metrics
  17. System Testing
  18. Strategies for System Testing 
    Constructing System Test Cases 
    Measuring the Effectiveness of System Testing
  19. Organizing for Testing
  20. Testing responsibilities 
    Testing Strategies
  21. Course Summary

Copyright © 2014 Korson-McGregor.  All rights reserved.