few definitions are in order before we go into instructions:
- Test Strategy: The way in which testing will be planned
- Test Scenarios: The situations to be tested.
- Test Scripts: The data to be input, and the expected results
for each test scenario.
- Test Plan: The document containing the Test Scenarios
and Test Scripts.
The Test Strategy is about how you will undertake testing.
It includes how you will test, what you will test, who will
do what during testing and what will happen when you find
the inevitable defects.
Typical types of testing are:
| Unit Testing
|| Unit testing involves testing each component of a system
for desired behaviour. A component is the smallest functional
part of a program. The developers usually do unit testing.
Unit testing is done against the developers view of expected
| System Testing
|| System testing involves testing that a system or module
(for larger applications) built as a single development
effort, works as required. System testing is usually done
against the developers view of expected functionality.
| Prototype Testing
|| Prototype testing involves users reviewing a particular
stage of the development in order to provide feedback
to developers. Prototype testing provides elaboration
and refinement of the business requirements.
| Integration Testing
||Integration testing is required for large systems
where there are multiple development streams, and often
in Major Enhancement Maintenance situations where the
system developed must interface with existing parts
of the application and other systems.
Integration Testing involves testing to ensure different
portions (normally modules) of the application work together
and integrate with other applications if required.
| Performance Testing
||Performance testing involves testing the application
for performance, usually against specified criteria.
The Developers and Business Users usually conduct it
The normal factors to test for are transaction rates,
data volume and individual transaction size. Operation
under various configurations of connected users may also
| User Acceptance Testing (UAT)
||UAT is testing by the ultimate users of the system
to confirm the system:
Operates in line with the specifications
developed prior to development
Fulfills the business needs
These may be contradictory. The system may fulfil the
requirements of the specification however it may now become
obvious the system will not fulfil business needs. If this
is the case, a variation should be requested.
| Regression Testing
|| Regression testing is testing of a part of the system
by the users after changes have been made. If a change
has been made as a result of UAT, some of the testing
may need to be repeated in order to ensure changes have
not had an unexpected impact in another area.
In developing test scenarios and scripts, match the skills
of the people against the task. For example, the most highly
skilled people can come up with the scenarios. They are aware
of all the variations for a particular type of activity. On
the other hand, less skilled people can develop the scripts
around each scenario. They can also physically do much of
the testing and refer anomalies to the more skilled people.