A TEST CASE is a documented set of preconditions (prerequisites), procedures (inputs / actions) and postconditions (expected results) which a tester uses to determine whether a system under test satisfies requirements or works correctly. A test case can have one or multiple test scripts and a collection of test cases is called a test suite.
- test case: A set of preconditions, inputs, actions (where applicable), expected results and postconditions, developed based on test conditions.
- high-level test case: A test case with abstract preconditions, input data, expected results, postconditions, and actions (where applicable).
- low-level test case: A test case with concrete values for preconditions, input data, expected results and postconditions and detailed description of actions (where applicable).
Typical Test Case Parameters
- Test Case ID
- Test Scenario
- Test Case Description
- Test Steps
- Test Data
- Expected Result
- Test Parameters
- Actual Result
- Environment Information
Test Case Template
A test case can have the following elements. Note, however, that a test management tool is normally used by companies and the format is determined by the tool used.
|Test Suite ID||The ID of the test suite to which this test case belongs.|
|Test Case ID||The ID of the test case.|
|Test Case Summary||The summary / objective of the test case.|
|Related Requirement||The ID of the requirement this test case relates/traces to.|
|Prerequisites||Any prerequisites or preconditions that must be fulfilled prior to executing the test.|
|Test Script / Procedure||Step-by-step procedure to execute the test.|
|Test Data||The test data, or links to the test data, that are to be used while conducting the test.|
|Expected Result||The expected result of the test.|
|Actual Result||The actual result of the test; to be filled after executing the test.|
|Status||Pass or Fail. Other statuses can be ‘Not Executed’ if testing is not performed and ‘Blocked’ if testing is blocked.|
|Remarks||Any comments on the test case or test execution.|
|Created By||The name of the author of the test case.|
|Date of Creation||The date of creation of the test case.|
|Executed By||The name of the person who executed the test.|
|Date of Execution||The date of execution of the test.|
|Test Environment||The environment (Hardware/Software/Network) in which the test was executed.|
Writing Good Test Cases
- As far as possible, write test cases in such a way that you test only one thing at a time. Do not overlap or complicate test cases. Attempt to make your test cases ‘atomic’.
- Ensure that all positive scenarios AND negative scenarios are covered.
- Write in simple and easy-to-understand language.
- Use active voice instead of passive voice: Do this, do that.
- Use exact and consistent names (of forms, fields, etc).
- Characteristics of a good test case:
- Accurate: Exacts the purpose.
- Economical: No unnecessary steps or words.
- Traceable: Capable of being traced to requirements.
- Repeatable: Can be used to perform the test over and over.
- Reusable: Can be reused if necessary.