Software Test Life Cycle is the process of testing the software in a planned and systematic manner. Software testing has specific steps to be executed in a definite sequence to ensure quality goals. The main focus of STLC is on managing and controlling all the activities of software testing. STLC is the validation process of the software testing.
Stage 1: Requirement Analysis
Analysis of requirements is done in this stage and requirements are reviewed by the test team. Testing team then analyzes the requirements of the customer and work with the developer to see which requirements are testable and how they will test those requirements. The purpose is to ensure the logical functional relationship between various modules so that gaps are detected at early stage because if a gap or defect is found later, the cost of fixing that defect will be high.
Stage 2: Planning
All the planning related activity for the complete cycle is done in this phase. This task is majority owned by the Test Managers or Project Managers. They identifies the activities and resources that will be needed to meet the objectives. QA Manager decides what needs to be tested and how it will be tested. The team looks at the availability of hardware and software, resources and risk involved in adopting a particular planning. As the requirements of the business may change from time to time, the team to develop an overall strategy which can be modified and improved with the progress of the project. It also involves identification of different types of risks involved with the decided plan.
Stage 3: Test Analysis
In this stage, test case are prepared by the test team. This includes writing out a step by step procedure on how the test should be executed and the expected results. Each test should be numbered and include specific instructions to achieve a specified results. This formalizing of the test procedure sets a definite path for the testing process and allows others to perform the tests with ease.
Stage 4: Design
In this phase, Test team prepares test plan and analyses the plan. A test design is then prepared identifying high level and low level testing points. Various Black Boxing and White Box testing techniques are used to design test cases. The tester starts writing test cases by following these techniques.
Stage 5: Coding or Development
After the system designing is complete, the work is divided into units and actual coding is done. Verification is done in this stage. Testing team writes the test cases and finalizes a definite test plan.
Stage 6: Creating Environment
It is the actual set up of system where the team will be testing the application. This requires the understanding of system architecture and software & hardware requirements.
Stage 7: Test Execution
This means executing the test cases in the test environment to see that they are fit and defect free. Different testing techniques and methods such as Manual testing and Automation testing are employed on the software to test the system and to find the gaps or defects.
Stage 8: Reporting
Final testing and implementation is done in this phase and a final report is prepared. For future reports, team decides whether reports are to be prepared weekly, monthly or quarterly and to whom reports should be presented. When the testing team is confident that all the reported gaps and defects are resolved, the system is ready for customer use.