|
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.
1. Planning ( Product Definition
Phase)
1. High Level Test Plan, (includes
multiple test cycles)
2. Quality Assurance Plan (Quality
goals, Beta criteria, etc ..)
3. Identify when reviews will be held.
4. Problem Reporting Procedures
5. Identify Problem Classification.
6. Identify Acceptance Criteria -
for QA and Users.
7. Identify application testing databases
8. Identify measurement criteria,
i.e. defect quantities/severity level and defect
origin (to name a few).
9. Identify metrics for the project
10. Begin overall testing project
schedule (time, resources etc.)
11. Requisite: Review Product Definition
Document
- QA input to document as part of
the Process Improvement Project
- Help determine scope issues based
on Features of the Product
- 5 - 10 hours / month approximately
12. Plan to manage all test cases
in a database, both manual or automated.
2. Analysis ( External Document
Phase)
1. Develop Functional validation matrix
based on Business Requirements.
2. Develop Test Case format - time
estimates and priority assignments.
3. Develop Test Cycles matrices and
time lines
4. Begin writing Test Cases based
on Functional Validation matrix
5. Map baseline data to test cases
to business requirements
6. Identify test cases to automate.
7. Automation team begin to setup
variable files and high level scripts in AutoTester.
8. Setup TRACK and AutoAdviser for
tracking components of automated system.
9. Define area for Stress and Performance
testing.
10. Begin development of Baseline
Database as per test case data requirements.
11. Define procedures for Baseline
Data maintenance, i.e. backup, restore, validate.
12. Begin planning the number of test
cycles required for the project, and Regression
Testing.
13. Begin review of documentation,
i.e. Functional Design, Business Requirements,
Product Specifications, Product Externals etc..
14. Review test environments and lab,
both Front End and Back End.
15. Prepare for using McCabe tool
to support development in white box testing and
code complexity analysis.
16. Setup Requite and start inputting
documents.
17. Requisite: Review Externals Document
- QA input to document as part of
the Process Improvement Project
- Start to write test cases from Action
Response Pair Groups
- Start to develop metrics based on
estimated number of test cases, time to execute
each case and if it is automatable
.
- Define baseline data for each test
case
- 25 hours / month approximately
3. Design (Architecture Document
Phase)
1. Revise Test Plan based on changes.
2. Revise Test Cycle matrices and
timelines
3. Verify that Test Plan and cases
are in a database or Requisite.
4. Revise Functional Matrix
5. Continual to write out test cases
and add new ones based on changes.
6. Develop Risk Assessment Criteria
7. Formalize details for automated
testing and multi-user testing.
8. Select set of test cases to automate
and begin scripting them.
9. Formalize detail for Stress and
Performance testing
10. Finalize test cycles. (number
of test case per cycle based on time estimates
per test case and priority.)
11. Finalize the Test Plan
12. (Estimate resources to support
development in unit testing)
13. Requisite: Review Architecture
Document
- QA input to document as part of
the Process Improvement Project
- Actual components or modules that
development will code.
- Unit testing standard defined here,
pass/fail criteria, etc.
- Unit testing reports, what they
will look like, for both white and black box testing
including input/outputs and all decision points.
- List of modules that will be unit
tested.
4. Construction (Unit Testing Phase)
1. Complete all plans
2. Complete Test Cycle matrices and
timelines
3. Complete all test cases. (manual)
4. Complete AutoTester scripting of
first set of automated test cases.
5. Complete plans for Stress and Performance
testing
6. Begin Stress and Performance testing
7. McCabe tool support - supply metrics
8. Test the automated testing system
and fix bugs.
9. (Support development in unit testing)
10. Run QA Acceptance test suite to
certify software is ready to turn over to QA.
5. Test Cycle(s) / Bug Fixes (Re-Testing/System
Testing Phase)
1. Test Cycle 1, run first set of
test cases (front and back end)
2. Report bugs
Bug Verification - ongoing activity
3. Revise test cases as required
4. Add test cases as required
5. Test Cycle II
6. Test Cycle III
6. Final Testing and Implementation
(Code Freeze Phase)
1. Execution of all front end test
cases - manual and automated.
2. Execution of all back end test
cases - manual and automated.
3. Execute all Stress and Performance
tests.
4. Provide on-going defect tracking
metrics.
5. Provide on-going complexity and
design metrics.
6. Update estimates for test cases
and test plans.
7. Document test cycles, regression
testing, and update accordingly.
7. Post Implementation
1. Post implementation evaluation
meeting to review entire project. (lessons learned)
2. Prepare final Defect Report and
associated metrics.
3. Identify strategies to prevent
similar problems in future project.
4. Create plan with goals and milestone
how to improve processes.
5. McCabe tools - produce final reports
and analysis.
6. 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.
7. Test Lab and testing environment
- clean up test environment, tag and archive tests
and data for that release, restore test machines
to baseline, and etc. ..
|