Arunkumar Khannur's Software Testing Knowledge Center

6.3. Approach to Test Design Specification

The approach to Test Design Specification is as follows:
  • Understand and Study the Business requirements.
  • Arrive at Environmental requirements: List of Operating System, Hardware and Firmware, simulation environment, resources, Software, training and other related factors are planned.
  • Identify test related Risks: Identify the risks associated with application system including the environmental risks that have some special relevance to the application. A risk check list is prepared and to be distributed to the respective team to execute the same. Check list should include the risks commonly associated while carrying out manual or automated tests.
  • Decide Automation Requirements: The test design specification outlines the requirements of the automated test. In particular, it identifies the features or general functions to be tested, details of the automated test approach, proposes a rationale for the definition of test cases and establishes the pass/fail criteria. In effect, it provides a test baseline for automation and other such related work needs to be planned.
  • Prepare Test Plan
    • A Test Plan describes how the test is to be performed. Test Plans are the fundamental units of testing. A test Plan provides detailed steps, which carry out the test. The design of each Test Plan will address the following items:
      1. Scope and Objective of the test.
      2. Identifier to which Project it refers to.
      3. Document Overview
      4. Environment and Resource requirements
      5. Software, Hardware and Firmware requirements
      6. Training Needed
      7. Test Activities to be carried out
      8. Expected results, and
      9. Explain the use of test automation if applicable.
      10. Traceability to Requirement specification
  • Select Test Cycle, Prepare Test Cases and Test Suite/ Scenarios
    • Test Cycle: A Test Cycle consists of a series of Test Suites and Test Cases and comprises a complete execution set, from the initial start to the end.
    • Test Case: A Test Case describes the actual verification points in the “actions to be taken” and the “expected results”. This also should mention the actual results and Pass/Fail clause. It is a good practice to include Incident report or a bug report created for failed cases and traceability to requirement specification.
    • Test Suite / Scenario: A Test Suite is a set of individual test cases that are to be executed together (or as a package for Software Testing) or in a particular sequence. Each Test Suite contains many test cases.
  • Plan for Test Completion: Once all the Tests are executed and conforms that the tests have met the requirements, plan the following for the Test Work Product:
  • Release: A release note to be attached, declaring the requirements met, any deviations, Outstanding issues, etc,.
  • Installation: Installation Guide instructing Environment requirements, the steps to be carried out to install the software, User expected results while installing, License, Skills required, etc,.
  • Implementation: User Guides or Project guides to use the system along with help manual need to be implemented. Constraints faced while implementing also need to be listed.
  • Roll out: List of outstanding issues while executing the Tests with a clear mention of the reason, any delay in schedule and reason and other such activities are executed.
  • Analyze the impact of Track changes: Deviation in the schedule, cost involved, resources to be accommodated, training needed to implement the changes and other such related activities need to be planned.
  • Review Test Design Effectiveness.
Khannur's Book
Arunkumar Khannur, Software Testing - Techniques and Applications, Published by Pearson Publications, 2011 (ISBN:978-81-317-5836-6; Pages:341 + xxii)
Follow Khannur
Khannur's Company
ISQT Process & Consulting Services Pvt. Ltd., Bangalore, INDIA
Khannur's Software Testing Forum
 Contact Khannur
ISQT Process & Consulting Services Pvt. Ltd.
#732, 1st Floor, 12th Main,
3rd Block, Rajajinagar,
Bangalore - 560010, INDIA
Phone: +91 80 23012511
Skype: arun.isqt