Test Case Specification document described detailed summary of what scenarios will be tested, how they will be tested, how often they will be tested, and so on and so forth, for a given feature. It specifies the purpose of a specific test, identifies the required inputs and expected results, provides step-by-step procedures for executing the test, and outlines the pass/fail criteria for determining acceptance.
Test Case Specification has to be done separately for each unit. Based on the approach specified in the test plan, the feature to be tested for each unit must be determined. The overall approach stated in the plan is refined into specific test techniques that should be followed and into the criteria to be used for evaluation. Based on these the test cases are specified for the testing unit.
However, a Test Plan is a collection of all Test Specifications for a given area. The Test Plan contains a high-level overview of what is tested for the given feature area.
Reason for Test Case Specification:
There are two basic reasons test cases are specified before they are used for testing:
- Testing has severe limitations and the effectiveness of testing depends heavily on the exact nature of the test case. Even for a given criterion the exact nature of the test cases affects the effectiveness of testing.
- Constructing a good Test Case that will reveal errors in programs is a very creative activity and depends on the tester. It is important to ensure that the set of test cases used is of high quality. This is the primary reason for having the test case specification in the form of a document.
The Test Case Specification is developed in the Development Phase by the organization responsible for the formal testing of the application.
What is Test Case Specification Identifiers?
The way to uniquely identify a test case is as follows:
- Test Case Objectives: Purpose of the test
- Test Items: Items (e.g., requirement specifications, design specifications, code, etc.) required to run a particular test case. This should be provided in "Notes” or “Attachment” feature. It describes the features and conditions required for testing.
- Input Specifications: Description of what is required (step-by-step) to execute the test case (e.g., input files, values that must be entered into a field, etc.). This should be provided in “Action” field.
- Output Specifications: Description of what the system should look like after the test case is run. This should be provided in the “Expected Results” field.
- Environmental Needs: Description of any special environmental needs. This includes system architectures, Hardware & Software tools, records or files, interfaces, etc
To sum up, Test Case Specification defines the exact set up and inputs for one Test Case.