A test case (engl. Test case ) describes a basic functional software testing , the testing of one such. B. in a specification assured property of a test object is used. Test cases are created using test methods and suitable software tools .
Important components of the description of a test case are:
- the preconditions that must be established before the test is carried out,
- the naming of the test object and the specifications to which the test case relates,
- the input data for performing the test,
- the actions that are necessary to carry out the test case,
- the expected results and / or reactions of the test object to the inputs,
- the expected postconditions that will be achieved as a result of running the test case.
- the test instructions, d. H. how inputs are to be transferred to the test object and how setpoints are to be read.
If, despite compliance with the preconditions and despite correct entries / actions in the test execution, the outputs or postconditions deviate from the expected values during the test execution , then there is an anomaly ; that can e.g. B. be a defect or error to be corrected . These are processed within the framework of error management and i. d. Usually after clarification about repeated tests.
Test cases can be divided into positive test cases and negative test cases :
- In positive tests , the behavior of the test object is checked based on valid preconditions and inputs.
- In negative tests (also called robustness test) the behavior of the test object as a result of invalid preconditions and / or inputs is checked.
By varying the input values and parameters of the preconditions, different variants of a test case can be checked. TMap differentiates between the logical test case ('Check input values') and the specific test cases to be executed (input value = X or Y). The limit values of the input values and parameters are of particular interest here (see limit value analysis), the reaching or exceeding of which leads to the expectation of a different behavior of the test object.
Test cases take on different status characteristics in the course of their processing , for example (depending on the definition in the test process ): In the draft; released for testing; in the test; Test ok; Test faulty etc.