Basic Testing Terminology
6.1.1 Software Testing: Terminologies
Test case, test suite, and test oracle are fundamental concepts in software testing.
A test case specifies:
- The input data (or initial conditions) to be supplied to the software, and
- The expected output or observable behaviour.
When the actual output matches the expected output, the test case is said to have passed; otherwise, it fails.
A test suite is a set of test cases designed together to test a particular module, subsystem, or the system as a whole.
A test oracle is any mechanism that determines whether the outcome of a test case is correct. The oracle provides the reference against which the actual output is compared. It may be based on a formal specification, a previous version of the system, a separate reference implementation, mathematical models, or expert/domain knowledge.
Typical fields in a test case template include: Test Case ID, Title/Objective, Preconditions, Input Data, Steps, Expected Result, Actual Result, Status, and Remarks. A typical test case template is shown in Figure 46.