A Process and Role-Based Taxonomy of Techniques to Make Testable COTS Components

  • Atif M. Memon


An important activity in component-based software development is the testing of each component in its context of use. Since a component developer cannot anticipate all possible applications of the component, this task is usually left to the component user. What makes testing of component-based software especially challenging for the user is the lack of source code and partial knowledge of the working of the component. To ensure high quality of the overall software, the component user must perform testing tasks, i.e., generate test cases, create test oracles, evaluate coverage, and perform regression testing, all without access to the component’s source code or complete semantic knowledge. The developer of the component can facilitate the execution of these testing tasks by augmenting the component appropriately with information that improves its testability. This chapter describes techniques that can be employed by developers to build testable COTS components. A taxonomy of these techniques based on the phases of software testing and the role of the component developer/user is presented, followed by a description of an important subset of the following techniques: (1) State Machine Models, (2) Built-In Tests, (3) Built-In Contract Testing, (4) Interface Probing, (5) Traceable Components, (6) Metacontent, (7) Binary Reverse Engineering, (8) Fault Injection Support, (9) Testable Beans, (10) Retro Components, (11) Component Test Bench, and (12) Self-Testing Components. Finally, a discussion summing up all the techniques is presented.


Fault Injection Test Frame Test Case Generation Tracking Code Component User 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Atif M. Memon
    • 1
  1. 1.Department of Computer Science and Institute for Advanced Computer StudiesUniversity of MarylandCollege ParkUSA

Personalised recommendations