- Test case
A test case in
software engineering is a set of conditions or variables under which a tester will determine if arequirement oruse case upon an application is partially or fully satisfied. It may take many "test cases" to determine that a requirement is fully satisfied."Test cases" are often incorrectly referred to as test scripts. "Test scripts" are lines of code used mainly in automation tools.
Written test cases are usually collected into
test suite s.Formal requirement-based test cases
In order to fully test that all the requirements of an application are met, there must be "at least one test case for each requirement" unless a requirement has sub-requirements. In that situation, each sub-requirement must have at least one test case. This is frequently done using a
traceability matrix . Some methodologies, likeRUP , recommend creating at least two test cases for each requirement. One of them should perform "positive" testing of requirement and other should perform "negative" testing. Written test cases should include a description of the functionality to be tested, and the preparation required to ensure that the test can be conducted.What characterizes a formal, written test case is that there is a "known input" and an "expected output", which is worked out "before" the test is executed. The known input should test a
precondition and the expected output should test apostcondition .Informal requirement-based test cases
For application without formal requirements, "test cases" can be written based on the accepted normal operation of programs of a similar "class". In some schools of testing, "test cases" are not written at all but the activities and results are reported after the tests have been run.
Typical Test Cases format
Test Cases usually have the following components.
* Test Case Summary
* Configuration
* Initial Condition
* Steps to run the test case
* Expected behavior/outcomeFurther reading
Under special circumstances, there could be a need to run the test, produce results, and then a team of experts would evaluate if the results can be considered as a pass. This happens often on new products' performance number determination. The first test is taken as the base line for subsequent test / product release cycles.
A variation of test cases are most commonly used in
acceptance test ing. Acceptance testing is done by a group ofend-user s or clients of the system to ensure the developed system meets the requirements specified. User acceptance testing is usually differentiated by the inclusion of happy path or positive test case.References
* [http://www.qasec.com/cycle/securitytestcases.shtml Writing Software Security Test Cases - Putting security test cases into your test plan] by Robert Auger
Wikimedia Foundation. 2010.