Test Case

    Test Case

    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.

    ISTQB Definition

    • 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).

    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.

    Test Case Example / Test Case Sample

    Test Suite ID TS001
    Test Case ID TC001
    Test Case Summary To verify that clicking the Generate Coin button generates coins.
    Related Requirement RS001
    Prerequisites
    1. User is authorized.
    2. Coin balance is available.
    Test Script  / Procedure
    1. Select the coin denomination in the Denomination field.
    2. Enter the number of coins in the Quantity field.
    3. Click Generate Coin.
    Test Data
    1. Denominations: 0.05, 0.10, 0.25, 0.50, 1, 2, 5
    2. Quantities: 0, 1, 5, 10, 20
    Expected Result
    1. Coin of the specified denomination should be produced if the specified Quantity is valid (1, 5)
    2. A message ‘Please enter a valid quantity between 1 and 10’ should be displayed if the specified quantity is invalid.
    Actual Result
    1. If the specified quantity is valid, the result is as expected.
    2. If the specified quantity is invalid, nothing happens; the expected message is not displayed
    Status Fail
    Remarks This is a sample test case.
    Created By John Doe
    Date of Creation 01/14/2020
    Executed By Jane Roe
    Date of Execution 02/16/2020
    Test Environment
    • OS: Windows Y
    • Browser: Chrome N

    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.
    • Language:
      • 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.

    Last Updated on September 9, 2020 by STF