Artifact: Testability Class
| A specialized Class in the design model that represents test-specific behavior that the software will support. | |
| Other Relationships: | Part Of Design Model |
| Role: | Designer |
| Optionality/Occurrence: | This artifact is only used if you are designing and implementing test-specific functionality. |
| Templates and Reports: | - Report: Class Report |
| Examples: | |
| UML Representation: | Class, stereotyped as <<testability class>> |
| More Information: | - Report: Class Report - Guideline: Design Class |
| Input to Activities: - Design Testability Elements - Implement Test - Implement Testability Elements | Output from Activities: - Design Testability Elements |
Purpose
The purpose of the Testability Class is to capture the design for the test-specific functionality required to facilitate testing. This test-specific functionality should be incorporated in the software design model so that it can be factored into the complete software design. There are various types of test-specific behavior, two of which are:
- “Stubs” for design classes that you need to simulate or that you have decided not to include completed versions of in software that will be used as a test target.
- Specialized interfaces or output, that provide the visibility or control necessary to conduct testing.
Properties
See Properties in Artifact: Design Class.
Timing
Testability Class artifacts are created and modified in parallel with creating and modifying the corresponding design classes.
Responsibility
The Designer is responsible for this artifact. For additional details, see Responsibility in Artifact: Design Class.
The Implementer role uses the testability classes to guide the implementation of the test-specific behavior.