Software Testing Life Cycle
Need
an information management project software testing life cycle and want
practical suggestions to ensure rapid project delivery?
Objectives
The
objectives of the quality assurance testing phase is to ensure that all
software components meet requirements and are ready to transition to
production.
Why is this
important?
Think of an
airplane and consider all of the various components that comprise the
aircraft. Key systems include airframe, wing assembly, power plants,
fuel system components, navigation components, landing gear, electronic
components and others.
Each major component is comprised of subcomponents e.g. an engine may
be comprised of fuel systems, turbines, injectors, etc.
Before the aircraft is certified air worthy, each component must be
tested:
- To ensure that the fuel injector’s work and
that they work in the engine as expected;
- To
ensure that the engine integrates with the airframe and other key
components such as warning systems and that key component tests were
not compromised because someone forgot to execute some of the tests;
- To ensure that defects discovered during
testing were not remedied and re-tested
- To ensure that performance tests confirm that
the engines can power the aircraft in a variety of operational
situations;
OK—you
get the idea...
Would you fly without some assurance that this testing was complete?
Information management systems must also be tested. There are a lot of moving parts and
many places things
can go wrong.
You
cannot be sure that the solution will work properly without a carefully
planned set of quality assurance tests conducted by a qualified test
team.
Prerequisites
- Unit
test
results must be available and a code review has certified
unit acceptance test;
- All system and database
components must be in place prior to start of initial
test.
- All system
tests
must be specified and system tests must be performed as
each component is built.
Tasks
- Formulate test
data
strategy;
- Complete test
data
acquisition and baseline all test data;
- Create test
environments;
- Create and validate test
scripts;
- Perform load
testing, or performance testing,
to confirm that the system is operating correctly and can handle the
required data volumes and that data can be loaded in the available
“load window”;
- Specify and conduct reconciliation
tests to manually confirm the validity of data;
- Conduct regression
testing to ensure that the new software does not cause
problems with existing software;
- Test
load manager process;
- Test warehouse
manager process;
- Test infrastructure
and operations components;
- Carefully manage
scope to ensure that perceived defects are actually
requirement
defects and not something that would be “nice to have
but we forgot to
ask”.
- Ensure ongoing defect
management and reporting; and
Deliverables
This phase will deliver:
- A set of repeatable
system integration, volume and aggregation tests;
- A set of test
data
that can be reused as necessary; and
- A set of repeatable manual
reconciliation tasks.
How long
should this take?
The software testing life cycle is carefully “time-boxed” to ensure
that it does not “drag-on” too long.
An experienced test team should be able to complete an information
management software testing life cycle in a four to six week time frame.
Tools
Numerous testing tools are available to during the software testing
life cycle.
Mercury Test Director and IBM Rational Test Manager are two good
software-testing tools.
Any test tool selected should allow the testers to create test cases
and test scripts and to record test results.
Additional features such as forwarding test defects to the technical
team for resolution are also highly desired.
Summary...
The
objective of the quality assurance testing phase and software testing
life cycle is to ensure that the
overall solution meets requirements and is ready to transition to
production
An experienced test team should be able to complete an information
management software testing life cycle in a four to six week time frame.
|