A test case is a documentation which specifies input values, expected output and the preconditions for executing the test.

IEEE Standard 610 (1990) defines test case as follows:

A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.

Boris Beizer (1995, p. 3) defines a test as:

A sequence of one or more subtests executed as a sequence because the outcome and/or final state of one subtest is the input and/or initial state of the next. The word ‘test’ is used to include subtests, tests proper, and test suites.

Objectives behind writing and executing the test cases:

Below mentioned are some of the objectives behind running the test cases.

1. Find the defects in software products
2. Verify that the software meets the end user requirements
3. Improve software quality
4. Minimize the maintenance and software support costs
5. Avoid post deployment risks
6. Compliance with processes
7. Help management to make software delivery decisions