What is a Test
Plan?
Need a test plan for an
information management project and want practical suggestions to ensure
rapid project delivery?
A plan is a communications tool, which clearly sets testing expectations for all team members.
Think
of it as a mini-project
plan which
documents test objectives,
roles and responsibilities, test deliverables, test tasks, defect
reporting requirements, entrance
criteria, that should be met before
formal testing commences; and the exit
criteria that must be met before
testing can be considered complete.
It helps new team members quickly see who is involved with the testing
and helps minimize project delays due to miscommunication.
Why is it
important?
Suppose you have just had a new house built. Everything looks good to
you and you move in. Come winter, your water freezes, your
electrical
service short-circuits when you turn on the Christmas tree lights and
try to cook the turkey at the same time, and snow blows thru cracks in
the window frames.
This probably will never occur because we have building codes,
regulations and inspections to
ensure that
construction meets standard.
What about
information management standards?
The information management framework established project deliverable
standards
and best
practices. The quality
assurance plan ensures
that design
and
development meets standards.
However, how
do we
know everything works? We need to validate that the solution matches
specification and meets
requirements. This is where a good test
plan
helps.
What is
included in a test plan?
A test plan should include the following:
- Test
objectives, should summarize project objectives, test
objectives,
scope and roles and responsibilities;
- Test
strategy,
should refer to the requirements acceptance criteria,
that were developed as part of the requirements definition phase, and
the test
environments that will be used;
- Test
plan,
should list the scope
of each test, including entrance
criteria, how test cases will be prepared, what test data will be used,
what test scripts are required, who will execute test
scripts, how
defects will be managed, how test results will be managed, and test
exit criteria;
- Test
data
strategy, should list the overall approach for creating
test
data. Try not to use large
volumes of data for unit, system, integration,
regression and quality assurance testing.
You can
adequately
complete these tests with a sub-set of data. Failure to do
this will add
significantly to the test period and will not
add
additional
benefit.
The extra
time it takes to create a complete set of test data
early in
the project will be paid
back
many times by reducing the time to
back-up/restore data during testing;
- Test
deliverables should specify what will be produced;
- Resource
plan
should list all project roles and responsibilities, level
of effort, and other test resource requirements;
- Training
considerations, should list any training that might be
required so the test team can complete testing; and
- Test
schedule,
should identify a test schedule that clearly defines
when all testing is expected to occur—This schedule may be included in
the project schedule.
What
types of testing are included in a test plan?
- Unit
testing
should focus on
testing individual modules to ensure that they perform to
specification, handle all exceptions as expected, and produce the
appropriate alerts to satisfy error handling;
- Integration
testing should focus on testing a set of
components to ensure
that it performs to specification;
- QA
testing
should focus on testing a set of components to ensure
that they meets requirements; and
- User
acceptance testing (UAT) should focus on testing a set of
requirements to ensure that they meet user expectations.
What information
management technical testing is required?
- System
and
volume tests to confirm that the system is
operating correctly and can handle the required data volumes;
- Reconciliation
tests to manually confirm the validity of data;
- Regression testing
to ensure that the new software does not cause
problems with existing software;
- Performance testing to
ensure that data can be loaded in the
available
“load window”;
- Warehouse
manager testing; and
- Infrastructure and
operations
component testing.
Summary...
A test plan is a communications tool, which clearly sets testing
expectations for all team members. It is important to complete the plan
early in the project and manage it carefully to
ensure on time, within budget project delivery.
It is also important to recognize that the technical team
should perform much of the technical
testing.
|