A
test case, in
software engineering, is a set of conditions under which a tester will determine whether an
application,
software system or one of its features is working as it was originally established for it to do. 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 considered sufficiently scrutinized to be released. Test cases are often referred to as
test scripts, particularly when written - when they are usually collected into
test suites.