A Test Case is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. It is usually a single step, or occasionally a sequence of steps, to test the correct behaviour/functionalities, features of an application. An expected result or expected outcome is usually given
The mechanism for determining whether a software program or system has passed or failed such a test is known as a test oracle. In some settings, an oracle could be a requirement or use case, while in others it could be a heuristic. It may take many test cases to determine that a software program or system is functioning correctly.
Test cases are usually written by humans, typically the systems analyst/designer who write the design specifications for a particular module, because he knows best what needs to be tested.
But:
When the design changes, are the test cases always updated? No.
Does a human test case writer always diligently code every possible case that needs to be tested? No (whether intentionally or by mistake).
Does a human test case writer miss some of the paths that needed to be tested? Yes.
In order to fully test that all the requirements of an application are met, there must be at least two test cases for each requirement: one positive test and one negative test; unless a requirement has sub-requirements. In that situation, each sub-requirement must have at least two test cases. Keeping track of the link between the requirement and the test is frequently done using a traceability matrix. It is not an easy process to manage manually. Invariably there are mistakes and disconnects – often undetected.
The solution is Automatic Test Case generation, which can replace or supplement human effort, as the case may be, illustrated by the following schematic:
USA, Germany, india, UK, Holland, Sweden, France,Belgium, Switzerland, Singapore, China
GROUP COMPANIES & DELIVERY PARTNERS ADA Companies Worldwide - TSRI
AltiSAP - Quantum Capital