Software testing has its own life cycle that intersects with every stage of the SDLC. The basic requirements in software testing life cycle are to deal with software testing methodologies like Manual, Automated and Performance testing. Let’s see each phase of STLC in details:
Requirements Analysis
Test Planning
Test Case development
Test environmental setup
Test Execution
Test Cycle closure
The Different stages in Software Test Life Cycle -
Requirement Analysis is the very first step in Software Testing Life Cycle (STLC). In this phase Software testers studies the customer requirements from a testing point of view and work with developers during the design phase to see which requirements are testable and how they are going to test those requirements.If any conflict, missing or not understood any requirement, then the QA team may interact with Client, Business Analyst, Technical Leads, System Architects etc to understand the requirements in detail.The requirements can be either Functional or Non-Functional like Performance, Security testing.Automation feasibility for the given testing project is also done in this stage.
Activities
Analyze the types of tests to be performed.
Gather details about testing priorities and plan accordingly.
Identify test environment details where testing is supposed to be carried out.
Make out the list for what all Types of Tests performed like Functional, Security, and Performance etc.
Checkout the Automation feasibility if required & prepare the Automation feasibility report.
Deliverable
List of questions with all answers to be resolved from business i.e. testable requirements
Automation feasibility report (if applicable)
This phase is also called Test Strategy phase.Test Planning is most important phase of Software testing life cycle where all testing strategy is defined. In this phase all the planning about testing is done like what needs to be tested, strategy of how the testing will be done, test strategy to be followed, the test environment, test methodologies will be followed, hardware and software availability, resources, risks etc. In test planning stage, QA manager will determine effort and cost estimates for the project and would prepare and finalize the Test Plan. Once test planning phase is completed the QA team can start with test cases development activity.
Activities
Preparation of test plan/strategy document for various types of testing.
Test effort estimation and resource planning.
Test tool selection
Test effort estimation
Define the test environment required for entire project.Prepare the test schedules.
Define the control procedures.
Resource planning and determining roles and responsibilities.
List down the testing deliverable.
Define the entry criteria, suspension criteria, resumption criteria and exit criteria.
Define the risk involved if any.
Deliverables
Test plan/strategy document.
Effort estimation document.
The test case development activity is started once the test planning activity is finished. This phase involves creation, verification and rework of test cases & test scripts where testing team write down the detailed test cases.Test Data is identified/created and is reviewed and then reworked as well.n this phase we need to dig deeper into project and figure out what testing needs to be carried out in each SDLC phase.Non functional testing areas (Stress and performance testing) are also analyzed and defined in this phase.The Requirement Traceability Matrix (RTM) is prepared. RTM is an format for tracking requirements where each test case is mapped with the requirement. Using this RTM we can track backward & forward traceability.
Create test cases and automation scripts
Review and baseline test cases and scripts
Create test data (If Test Environment is available)
Test cases/scripts
Test data
Basically test environment decides the software and hardware conditions under which product is tested. Test environment set-up is one of the critical aspects of testing process and can be done in parallel with Test Case Development Stage.This is independent activity and the test team is not involved in the process of setting up testing environment .Testing team could be prepare the smoke test cases to check the readiness of the test environment setup.
Understand the required environment set-up and prepare list for the Test Environment.
Setup test Environment and test data
Perform smoke test cases to check the readiness of the test environment.
Deliverables
Environment ready with test data set up
Smoke Test cases results.
In test execution phase the phase test team will carry out the testing based on the prepared test plans and the test cases.If any test case is failed then bugs can be reported to the development team via bug tracking system. Ideally every failed test case should be associated with at least single bug.Bug can be linked for corresponding test case for further analysis. Using this linking we can get the failed test case with bug associated with it. Once the test case fixed by development team then same test case can be executed based on your test planning.
Execute tests cases as per test plan
Marked document test results, and log defects for failed cases
Do Retesting once the defects are fixed.
Track the defects to closure
Completed RTM with execution status
Test cases execution repor
Defect reports
Testing team must discuss and analyze cycle completion criteria based on Test coverage, Quality, Cost, Time, and Software and to identify strategies that have to be implemented in future, taking lessons from the current test cycle. The idea is to remove the process bottlenecks for future test cycles and share best practices for any similar projects in future.Once complete the test cycle then test closure report & Test metrics will be prepared.
Evaluate cycle completion criteria based on Time,Test coverage,Cost,Software,Critical Business Objectives , Quality
Prepare test metrics based on the above parameters.
Prepare Test closure report
Qualitative and quantitative reporting of quality of the work product to the customer.
Test result analysis to find out the defect distribution by type and severity.
Test Closure report
Test metric