What makes an effective test plan?
It is important to test the application with as much test data as possible in order to try and break the application. This will mean entering data that should and should not be accepted.
Consider the following form on a web page:
This field has been designed to accept age as integer (whole number) values between 14 and 120.
Effective testing will mean checking that this form field accepts integer values and rejects decimal and string (text) values. An effective test plan will use a variety of test data:
Type of test data | Explanation |
Normal | Refers to normal data that should be accepted by the form field |
Erroneous | Refers to data that the form field should not accept |
Extreme | Refers to data that will fall on the edge, or boundary, of any ranges or limits that have been set on the form field |
Type of test data | Normal |
---|---|
Explanation | Refers to normal data that should be accepted by the form field |
Type of test data | Erroneous |
---|---|
Explanation | Refers to data that the form field should not accept |
Type of test data | Extreme |
---|---|
Explanation | Refers to data that will fall on the edge, or boundary, of any ranges or limits that have been set on the form field |
To avoid bias, a test plan should be created by a member of the design team not involved in the programming or authoring of the project. The plan should be created prior to the creation of the code or application.
An effective test plan for the form field input would look like:
罢别蝉迟听滨顿 | Test description | Test data | Test type | Expected outcome |
1 | Testing the input for the age accepts an integer data type | 16, 18, 20 | Normal | Data will be accepted |
2 | Testing the input for the age rejects a decimal number | 15.7, 16.2, -7.7 | Erroneous | Data will be rejected |
3 | Testing the input for the age rejects a character that is a letter | A | Erroneous | Data will be rejected |
4 | Testing the input for the age rejects a string of characters | 'test' | Erroneous | Data will be rejected |
5 | Testing the input for the age accepts an integer at the boundary | 120 | Extreme - Valid | Data will be accepted |
6 | Testing the input for the age rejects an integer at the boundary | 121 | Extreme - Invalid | Data will be rejected |
罢别蝉迟听滨顿 | 1 |
---|---|
Test description | Testing the input for the age accepts an integer data type |
Test data | 16, 18, 20 |
Test type | Normal |
Expected outcome | Data will be accepted |
罢别蝉迟听滨顿 | 2 |
---|---|
Test description | Testing the input for the age rejects a decimal number |
Test data | 15.7, 16.2, -7.7 |
Test type | Erroneous |
Expected outcome | Data will be rejected |
罢别蝉迟听滨顿 | 3 |
---|---|
Test description | Testing the input for the age rejects a character that is a letter |
Test data | A |
Test type | Erroneous |
Expected outcome | Data will be rejected |
罢别蝉迟听滨顿 | 4 |
---|---|
Test description | Testing the input for the age rejects a string of characters |
Test data | 'test' |
Test type | Erroneous |
Expected outcome | Data will be rejected |
罢别蝉迟听滨顿 | 5 |
---|---|
Test description | Testing the input for the age accepts an integer at the boundary |
Test data | 120 |
Test type | Extreme - Valid |
Expected outcome | Data will be accepted |
罢别蝉迟听滨顿 | 6 |
---|---|
Test description | Testing the input for the age rejects an integer at the boundary |
Test data | 121 |
Test type | Extreme - Invalid |
Expected outcome | Data will be rejected |