Software Testing Life Cycle
Software Testing Life Cycle consist of six (generic) phases: 1)
Planning, 2) Analysis, 3) Design, 4) Construction, 5) Testing Cycles,
6) Final Testing and Implementation and 7) Post Implementation. Each
phase in the life cycle is described with the respective activities.
Planning. Planning High
Level Test plan, QA plan (quality goals), identify – reporting
procedures, problem classification, acceptance criteria, databases for
testing, measurement criteria (defect quantities/severity level and
defect origin), project metrics and finally begin the schedule for
project testing. Also, plan to maintain all test cases (manual or
automated) in a database.
Analysis. Involves
activities that - develop functional validation based on Business
Requirements (writing test cases basing on these details), develop test
case format (time estimates and priority assignments), develop test
cycles (matrices and timelines), identify test cases to be automated
(if applicable), define area of stress and performance testing, plan
the test cycles required for the project and regression testing, define
procedures for data maintenance (backup, restore, validation), review
documentation.
Design. Activities in the
design phase - Revise test plan based on changes, revise test cycle
matrices and timelines, verify that test plan and cases are in a
database or requisite, continue to write test cases and add new ones
based on changes, develop Risk Assessment Criteria, formalize details
for Stress and Performance testing, finalize test cycles (number of
test case per cycle based on time estimates per test case and
priority), finalize the Test Plan, (estimate resources to support
development in unit testing).
Construction (Unit Testing
Phase). Complete all plans, complete Test Cycle matrices and timelines,
complete all test cases (manual), begin Stress and Performance testing,
test the automated testing system and fix bugs, (support development in
unit testing), run QA acceptance test suite to certify software is
ready to turn over to QA.
Test Cycle(s) / Bug Fixes
(Re-Testing/System Testing Phase). Run the test cases (front and back
end), bug reporting, verification, revise/add test cases as required.
Final Testing and Implementation (Code
Freeze Phase). Execution of all front end test cases - manual and
automated, execution of all back end test cases - manual and automated,
execute all Stress and Performance tests, provide on-going defect
tracking metrics, provide on-going complexity and design metrics,
update estimates for test cases and test plans, document test cycles,
regression testing, and update accordingly.
Post Implementation. Post
implementation evaluation meeting can be conducted to review entire
project. Activities in this phase - Prepare final Defect Report and
associated metrics, identify strategies to prevent similar problems in
future project, automation team - 1) Review test cases to evaluate
other cases to be automated for regression testing, 2) Clean up
automated test cases and variables, and 3) Review process of
integrating results from automated testing in with results from manual
testing.
|