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.
Testing. The process of using the developed system with the intent to find errors. Defects/flaws/bugs found at this stage will be sent back to the developer for a fix
and have to be re-tested. This phase is iterative as long as the bugs are fixed to meet the requirements.
Activities in this phase - Plan Verification and Validation, Execute Verification and validation Tasks, Collect and Analyze Metric Data, Plan Testing, Develop Test Requirements, Execute Tests
Software Test Life Cycle:
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, and 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.
Process automation refers to the use of digital technology to perform a process or processes in order to accomplish a workflow or function. The term “business process automation” is also used to describe digital process automation.
Levels of Testing in details and who is responsible for each type testing
• Unit Testing
• Integration Testing
• System Testing
• UAT Testing
Software Testing Methods Used in Industry
• White Box Testing
• Black Box Testing
An introduction or familiarization of various popular testing types
• Regression Testing
• Ad-hoc Testing
• Smoke Testing
• Sanity Testing
• Usability Testing
• Exploratory Testing
• Compatibility Testing
• Installation Testing
• Non-Functional Testing
o Load Testing
o Stress Testing
o Volume Testing
• Database Testing
• Functional testing vs. non-functional testing…etc.
Software Testing Life Cycle
Overview of the stages of STLC:
• Test planning
• Test design
• Test execution
Test Plan walkthrough - Live Project document
Practical tips on how to identify the following items for the Test plan:
• Scope
• Test strategy
• Effort Estimation
• Entry criteria
• Exit Criteria
• Defect Management process