tv

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:

Example of a data field designed to accept integer values

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 dataExplanation
NormalRefers to normal data that should be accepted by the form field
ErroneousRefers to data that the form field should not accept
ExtremeRefers 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 dataNormal
ExplanationRefers to normal data that should be accepted by the form field
Type of test dataErroneous
ExplanationRefers to data that the form field should not accept
Type of test dataExtreme
ExplanationRefers 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 descriptionTest dataTest typeExpected outcome
1Testing the input for the age accepts an integer data type16, 18, 20NormalData will be accepted
2Testing the input for the age rejects a decimal number15.7, 16.2, -7.7ErroneousData will be rejected
3Testing the input for the age rejects a character that is a letterAErroneousData will be rejected
4Testing the input for the age rejects a string of characters'test'ErroneousData will be rejected
5Testing the input for the age accepts an integer at the boundary120Extreme - ValidData will be accepted
6Testing the input for the age rejects an integer at the boundary121Extreme - InvalidData will be rejected
ձ1
Test descriptionTesting the input for the age accepts an integer data type
Test data16, 18, 20
Test typeNormal
Expected outcomeData will be accepted
ձ2
Test descriptionTesting the input for the age rejects a decimal number
Test data15.7, 16.2, -7.7
Test typeErroneous
Expected outcomeData will be rejected
ձ3
Test descriptionTesting the input for the age rejects a character that is a letter
Test dataA
Test typeErroneous
Expected outcomeData will be rejected
ձ4
Test descriptionTesting the input for the age rejects a string of characters
Test data'test'
Test typeErroneous
Expected outcomeData will be rejected
ձ5
Test descriptionTesting the input for the age accepts an integer at the boundary
Test data120
Test typeExtreme - Valid
Expected outcomeData will be accepted
ձ6
Test descriptionTesting the input for the age rejects an integer at the boundary
Test data121
Test typeExtreme - Invalid
Expected outcomeData will be rejected