Activity: Design Testability Elements
| Purpose - To design test-specific functionality | |
| Role: Designer | |
| **Frequency:**As required, most frequently in Elaboration and early Construction iterations. | |
| Steps - [Identify Test-Specific Classes and Packages](#Identify Test Specific Classes and Packages) - [Design Interface to Automated Test Tool](#Design Interface to Automated Test Tool) - [Design Test Procedure Behavior](#Design Test Procedure Behavior) | |
| Input Artifacts: - Design Class - Design Package - Testability Class - Test Interface Specification | Resulting Artifacts: - Design Package - Testability Class |
| More Information: | |
| Tool Mentors: |
| Workflow Details: - Analysis & Design - Design Components |
Identify Test-Specific Classes and Packages
| Purpose | To identify and design the classes and packages that will provide the needed test specific functionality. |
Based on input from the test designer identify and specify test-specific classes and packages in the design model.
A driver or stub of a design class has the same methods as the original class, but there is no behavior defined for the methods other than to provide for input (to the target for test) or returning a pre-defined value (to the target for test).
A driver or stub of a design package contains simulated classes for the classes that form the public interface of the original package.
Design Interface to Automated Test Tool
| Purpose | To identify the interface necessary for the integration of an automated test tool with test-specific functionality. |
Identify what behavior is needed to make your test automation tool communicate with your target for test in an efficient way. Identify and describe the appropriate design classes and packages.
Design Test Procedure Behavior
| Purpose | To automate test procedures for which there is no automated test tool available. |
To automate test procedures for which there is no automation tool, identify the appropriate design classes and packages. Use the test cases and the use cases they derive from as input.