A specification for the provision of a set of behaviors (operations) by a classifier (specifically, a Class, Subsystem or Component) for the purposes of test access (testability). Each test Interface should provide an unique and well-defined group of services. 
Role:  Test Designer 
Optionality/Occurrence:  Required specifically when the execution of software tests cannot be satisfactorily achieved using the standard interfaces provided by the software. This is required especially where aspects of the system that do not normally have external visibility must be observed, or where control of the software is required in a way not normally available through the standard interface.  
Templates and Reports: 
     
Examples: 
     
UML Representation:  Interface 
More Information:   
Input to Activities:    Output from Activities:   

Purpose To top of page

The Test Interface Specification provides a means of documenting the special requirements of the test effort that will place constraints or additional requirements on the design of the software. Where aspects of the system that do not normally have visibility must be observed, or where control of the software is required in a way not normally available through the standard interface, this may necessitate that specialized test interfaces be developed.

See Guidelines: Interface for additional information on the purpose and definition of interfaces.

Brief Outline To top of page

Each Test Interface Specification should consider various aspects including the following:

  • What is the nature of the interface? For example, does it allow dynamic two-way communication, does it provide individual real-time status feedback or, once activated, does it simply log information passively?.
  • Under what circumstances will the interface be used? Be sure to consider concurrency and access methods.
  • What ability is needed to activate and deactivate the interface?
  • What control is required to raise or lower the level of detail of the output from the operations provided by the interface?

Properties To top of page

Property Name 

Brief Description 

UML Representation 

Name  An unique name used to identify this Test Interface Specification.  attribute 
Description  A short description of the contents of the Test Interface Specification, typically giving some high-level indication of complexity and scope.  attribute 
Purpose  An explanation of what this Test Interface Specification represents and why it is important.  no UML representation for this property 
Dependent Test and Evaluation Items  Some form of traceability or dependency mapping to specific elements, such as individual design elements that need to be referenced.  Dependency 
Operations  The operations that the interface needs to supply, including any requirements for the message signature of each operation .   operations 

Timing To top of page

The first Test Interface Specifications should be outlined as early as practical, starting with the work involved in Workflow Detail: Perform Architectural Synthesis in the Inception phase. By the end of Elaboration phase, the test interfaces should be specified and agreed to, and the key test interfaces should already be implemented and proven stable.

Responsibility To top of page

The Test Designer is the role primarily responsible for this artifact. The responsibilities are split into two main areas of concern:

The primary set of responsibilities covers the following design and definition issues:

  • Identifying the need for, and requirements of, each test Interface.
  • Ensuring that the needs of all Test Approaches are represented by an appropriate set of test Interfaces.
  • Working with the developers to agree on an appropriate design and implementation.
  • Validating that the implemented test Interface meets the requirements of the test effort.

The secondary set of responsibilities covers the following management issues:

  • Advocating the importance of the testability of the developed software.
  • Gaining commitment from the core development team to develop and support the required test Interfaces.
  • Ensuring the test team are involved in the evaluation and selection of core software components, and have a say in the evaluation based on the testability of the selected components.

Tailoring To top of page

See the Artifact: Interface for ideas on Interfaces that can be applied to tailoring the Test Interface Specification.

Optionally enclosed in the Software Architecture Document, Design Model or the Supplementary Specifications.  



Rational Unified Process   2003.06.13