Assignment

Testing, Validation and Verification
Assignment 7
Under the Activities key, click the Test Designer Icon, save the Test Designer picture and discuss the Test Designer role. Give the titles for the seven artifacts the Test Designer manages, two that the Test Designer modifies and five that the Test Designer is responsible for.
Answer:
The Test Designer role is responsible for defining the test approach and ensuring it's successful implementation. The role involves identifying the appropriate techniques, tools and guidelines to implement the required tests, and to give guidance on the corresponding resources requirements for the test effort. Sometimes this role is also referred to as the Test Architect, Test Automation Architect or Test Automation Specialist.
This role is responsible for:

• Identifying and describing appropriate test techniques
• Identifying the appropriate supporting tools
• Defining and maintaining a Test Automation Architecture
• Specifying and verifying the required Test Environment Configurations
• Verify and assess the Test Approach

 

The appropriate skills and knowledge for the Test Designer role include:

• experience in a variety of testing efforts
• diagnostic and problem solving skills
• broad knowledge of hardware and software installation and setup
• experience and success with the use of test automation tools
• programming skills (preferable)
• programming team lead and software design skills (highly desirable)
• in depth knowledge of the system or application-under-test (desirable)
The two artifacts that test designer modify:
1. Test plan
2. Test script

1. Test Plan:
The definition of the goals and objectives of testing within the scope of the iteration (or project), the items being targeted, the approach to be taken, the resources required and the deliverables to be produced.
Purpose:
The purpose of the Test Plan is to outline and communicate the intent of the testing effort for a given schedule. Primarily, as with other planning documents, the main objective is to gain the acceptance and approval of the stakeholders in the test effort. As such, the document should avoid detail that would not be understood, or would be considered irrelevant by the stakeholders in the test effort.
Secondly, the test plan forms the framework within which the test roles work for the given schedule. It directs, guides and constrains the test effort, focusing the work on the useful and necessary deliverables.
Responsibility:
The Test Manager role is primarily responsible for this artefact. The responsibilities are split into two main areas of concern:
The primary set of responsibilities covers the following management issues, ensuring the Test Plan:
• reflects the appropriate Evaluation Mission for the test effort for the given schedule
• is motivated by aspects considered useful and fruitful to evaluate for the given schedule
• represents an achievable approach to evaluation
• is accepted by the stakeholders
• changes are controlled and communicated to affected roles
• is followed by the test team members
The secondary set of responsibilities covers the following definition issues, ensuring the Test Plan:
• identifies the appropriate Target Test Items for the given schedule
• reflects an appropriate and achievable approach to be taken to conduct the evaluation
• considers both a breadth and depth of quality risks
• accurately identifies the necessary resources, human, hardware, and soft
2. Test Script:
The step-by-step instructions that realize a test, enabling its execution. Test Scripts may take the form of either documented textual instructions that are executed manually or computer readable instructions that enable automated test execution
Purpose:
The purpose of the Test Script is to provide the implementation of a subset of required tests in an efficient and effective manner.

Responsibility:
The Tester role is primarily responsible for this artifact. Those responsibilities include:
• identifying and defining each Test Script, and managing all subsequent changes
• ensuring the Test Script accurately reflects the required test, identified by one or more a Test Ideas or defined in one or more Test Cases
• ensuring the Test Script is implemented according to defined standards to be compatible and maintainable with the other Test Scripts
• ensuring the Test Script makes reasonably efficient use of the available resources
• developing the Test Script with a focus on economy of effort and identifying opportunities for reuse and simplification
• developing the Test Script so that it can be used as part of a Test Suite

The five artifacts that test designer is responsible for:
1. Test automation architecture
2. Test interface specification
3. Test environment configuration
4. Test suite
5. Test guidelines

1. Test Automation Architecture

A composition of various test automation elements and their specifications that embody the fundamental characteristics of the test automation software system. The Test Automation Architecture provides a comprehensive architectural overview of the test automation system, using a number of different architectural views to depict different aspects of the system.
Purpose:
The Test Automation Architecture serves as a means of reasoning about, managing and communicating the fundamental characteristics and features of the test automation software system. It provides a governing focus for the test automation software that enables the required system to be realized in respect to key aspects such as: maintainability, extensibility, reliability, concurrency, distribution, security and recovery.
Responsibility:
The Test Designer role is primarily responsible for this artifact. Those responsibilities include:
• Approving all changes to architecturally significant elements, such as major Interfaces, common-code libraries, and the like.
• Ensuring that changes are implemented, validated, and communicated to affected roles.
• Resolving issues that arise from conflicts between the test automation tools and the planned Test Approach
2. Test Interface Specification
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.
Purpose:
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.
Responsibility:
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
3. Test Environment Configuration

A specific arrangement of hardware, software, and the associated environment settings required to conduct accurate tests that enable the evaluation of the Target Test Items.
Purpose:
Each Test Environment Configuration provides an appropriate, controlled setting in which to conduct the required test and evaluation activities. Providing a known and controlled environment in which to conduct these activities helps to assure the results of these efforts are accurate, valid, and have a high likelihood of being reproduced. A well-controlled Test Environment Configuration is an important aspect of efficient failure analysis and fault resolution.
Responsibility:
The Test Designer role is primarily responsible for this artifact. The responsibilities are split into two main areas of concern.
The primary set of responsibilities covers the following definition and management issues:
• Defining each Test Environment Configuration and approving all subsequent changes to that configuration.
• Ensuring that changes to the Test Environment Configuration are implemented, validated, and communicated to affected roles.
• Verifying that Test Environment Configuration restoration and recovery procedures, and their supporting mechanisms, work.
• Managing access to and availability of each installed Test Environment Configuration.
The secondary set of responsibilities covers the following implementation issues:
• Implementing each Test Environment Configuration and the investigation, reporting, and, where possible, resolution of failures in the Test Environment Configuration.
• Implementing restoration and recovery mechanisms, especially related to software build images and consumable soft items such as Test Data.
• Monitoring for and advising on the availability of version upgrades to both hardware and software.
• Implementing required changes to each Test Environment Configuration and its recovery procedures in a coordinated manner.
4. Test Suite

A package-like artifact used to group collections of Test Scripts, both to sequence the execution of the tests and to provide a useful and related set of Test Log information from which Test Results can be determined.
Purpose:
The Test Suite provides a means of managing the complexity of the test implementation. Many system test efforts fail because the team gets lost in the minutia of all of the detailed tests, and subsequently loses control of the test effort. Similar to UML packages, Test Suites provide a hierarchy of encapsulating containers to help manage the test implementation. They provide a means of managing the strategic aspects of the test effort by collecting tests together in related groups that can be reasoned about, planned for, managed, and assessed in a meaningful way.
Responsibility:
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 implementation issues:
• implementing each Test Suite, and managing all subsequent changes to it
• ensuring the Test Suite accurately reflects the test idea being realized
• ensuring the Test Suite is implemented according to defined standards so as to be compatible and maintainable with the Test Scripts and other Test Suites
• ensuring the Test Suite makes reasonably efficient use of the available resources
• developing the Test Suite with a focus on economy of effort, and identifying opportunities for reuse and simplification
• developing the Test Suite so that it can be used as part of a larger Test Suite
The secondary set of responsibilities covers the following management issues:
• identifying the need for, and outlining the requirements of, each Test Suite
• ensuring the Test Suite encompasses a collection of test cases that are useful to validate together, enabling evaluation of useful aspects of the Target Test Items.

5. Test Guidelines

A documented record of any of the following: process control and enactment decisions, standards to be adhered to, or good-practice guidance generally to be followed by the practitioners on a given project.
Purpose:
Test Guidelines serve two related, yet subtly different purposes:
• To record adjustments (often tactical) to the way the process is enacted on a given project.
• To capture project-specific practices discovered during the dynamic enactment of the process.
Responsibility:
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 process management issues:
• Deciding on what Test Guidelines to follow.
• Defining internal conventions and standards.
• Documenting those decisions.
• Documenting good-practice guidelines for reuse.
The secondary set of responsibilities covers the following design and implementation issues:
• Identifying emerging good practices.
• Understanding and defining the key aspects of each practice