The 6 phases of the STLC
- Requirement analysis. During this phase, QA teams collect and document requirements for the software, identify aspects or functionality that can be tested, and determine whether those tests should be manual or automated. Requirements can be functional, relating to specific functions and capabilities, or they can be non-functional, relating to the quality of the user experience and general performance of the application.
- Test planning. When planning tests, test managers develop a strategy that documents the steps to be taken, the tools required, and the responsibilities of various people involved in development and testing.
- Test case design and development. During this part of the software testing lifecycle, test cases are created by defining test inputs, procedures, conditions of testing, and the expected results. Ideally, test cases aim for 100% test coverage, ensuring that every aspect of the code and its functionality will be covered by the test cases.
- Test environment setup. The next step in the testing lifecycle is to configure and deploy testing environments – the actual settings where tests will occur. Test environments include hardware, software, frameworks, configurations, networks, and test data, as well as a variety of testing tools.
- Test execution. During execution, tests cases are run within the test environment, and testers compare actual results to expected results. Findings are documented for reporting back to development teams.
- Test cycle closure. Reports document the steps taken in the testing process and the results or findings of tests, including any defects that were discovered in the process. Reports compare the results of tests to the software requirements identified in the initial phase of testing.