Select Test Cases to implement
Select a set of Test Cases to develop into detailed, executable Test Scripts.
Work with project managers and developers to determine which Test Cases need detailed Test Scripts during the current
iteration. At a minimum, select Test Cases for requirements that are planned in the current or next iteration.
Perform each subsequent step in this task for each Test Script.
Design the Test Script
Sketch an outline of the Test Script as a logical sequence of steps. Review the data requirements of the Test Case, and
determine if existing data sets are sufficient, or if you need to develop new test data for this Test Script. Examine
system-wide requirements that apply to this Test Script, and note where they affect the expected results of a step.
If available, review a build that implements the scenario, or demonstrates similar functionality.
Select an implementation technique for this design. At a minimum, determine if the Test Script will be manual or
automated. If the Test Case is well understood, it's best to implement an automated Test Script without first writing a
manual procedure. However, if the Test Case is new or novel, writing a manual Test Script can help validate the design of
the test and aid collaboration with other team members. See Guideline: Programming Automated Tests for more details about this decision.
Implement the executable Test Script
Develop a detailed, procedural Test Script based on your design. Use a request-response style that declares an exact
input, and expects an exact output.
Explain the pre-conditions that must be met before running this Test Script. Use temporary test data or put parameters
in your script for data values. Ensure that each post-condition in the Test Case is evaluated by steps in the Test
Define specific test data
Specify data values that are specific to the Test Script or reference existing test data. For example, instead of
specifying "a prime number", indicate an actual value such as "3."
If the Test Script uses a dataset (such as a file or database), add the new test data to it and parameterize the Test
Script to retrieve values from the dataset. Otherwise, add executable test data values to the steps of the Test Script.
This applies to both manual and automated scripts.
Identify and minimize dependencies between test data used or modified by other Test Scripts. Note dependencies in the
If necessary, create containers for your test data sets, and separate the production data from generated data.
Organize Test Scripts into suites
Collect tests into related groups. The grouping you use depends on your test environment. Since the system under test
is undergoing its own evolution, create your test suites to facilitate regression testing, as well as system
For help with test suite organization, see Guideline: Test Suite.
Verify Test implementation
Run the Test Script to verify that it implements the Test Case correctly. For manual testing, conduct a walkthrough of
the Test Script. For automated tests, verify that the Test Script executes correctly and produces the expected result.
Verify that the Test Script meets the criteria in Checklist: Test Script.
Add or update the Test Script(s) in configuration management.
Share and evaluate Test Scripts
Walk through the new or refined Test Scripts with the developers responsible for the related
scenarios. Optionally, the analysts and the stakeholders also participate.
Seek agreement that the Test Scripts correctly evaluate the expected results of the test, and that you understand the
implementation of the requirements. If the scenario is already implemented (such as in a developer workspace), walk
through a representative set of the Test Scripts using an implementation of the system.