
Software testing lifecycle: The phases of the STLC
We use software testing to evaluate and verify whether or not a software product or application does what it is supposed to do. In previous articles, including this one, we have outlined the benefits of software testing. In simple terms, these include the prevention of bugs plus reductions in development costs – all with the supreme goal of improving performance. Today we will focus upon the different phases of the software testing lifecycle (STLC).
What is the STLC?
The software testing lifecycle (STLC) describes the sequence of actions that must take place during testing to ensure objectives are met.
Top Tip
Thinking of outsourcing your software testing requirements? Or perhaps you are considering a role as a software tester? The eTestware HQ is in Tallinn, Estonia – the Silicon Valley of Europe. We also have offices around the world via being part of theICEway ecosystem, however. Either way, we’d be delighted for you to reach out in the comments section below, or you can contact us to discuss all things testing-related…
The phases of STLC
There are 6 major phases in every STLC, as follows:
- Requirement Analysis
- Planning
- Test case development
- Environment setup
- Execution
- Test Cycle closure
Requirement Analysis
Also known as ‘requirement phase testing’, this phase sees our outsourced testing teams identify testable requirements. Our QA teams then go through these requirements will all stakeholders to ensure a complete understanding. This is typically the phase used to evaluate whether functional, non-functional testing or automation are necessary.
Planning
A phase in which our senior QA manager defines the test plan strategy. They will typically include the required efforts plus cost estimates for the project in this. They will also determine the resources, test environment(s), limitations and the all-important testing schedule.
Test case development
Takes place once the test plan has been finalised. Our testing experts create, verify and rework test cases and scripts to uncover data. The data is then evaluated against the preconditions so that our QA team can begin to develop test cases for individual units.
Environment setup
In this phase we decide which software and hardware conditions we will deploy during testing. It is a critical phase that we typically carry out alongside test case development. Either our testing team or a development team can provide the test environment but our test team must complete a readiness check on it (known as smoke testing).
Execution
Test Execution is when our testers complete the testing based upon the plans and test cases prepared. Typically the process includes test script execution and maintenance plus bug reporting. Bugs are then revealed to the development team for correction, after which retesting will commence.
Test Cycle closure
The final phase, this involves the collation of results plus reporting and analysis. The idea is to fully understand the learnings and to uncover strategies to adopt in the future.
The software testing lifecycle is essential in the pursuit of successful tests. As with many projects, organisation is critical. Planning and preparation must be thorough, and you need attention to detail and a lot of patience!