Software Testing Life Cycle (STLC) defines the steps/stages/phases in testing of software. However, there is no fixed standard of STLC in the world and it basically varies as per the following:
- Software Development Life Cycle
- Whims of the Management
Nevertheless, Software Testing Life Cycle, in general, comprises of the following phases:
|Requirements/Design Review||You review the software requirements/design (Well, if they exist.)||
|Test Planning||Once you have gathered a general idea of what needs to be tested, you ‘plan’ for the tests.||
|Test Designing||You design/detail your tests on the basis of detailed requirements/design of the software (sometimes, on the basis of your imagination).||Creativity|
|Test Environment Setup||You setup the test environment (server/client/network, etc) with the goal of replicating the end-users’ environment.||
|Test Execution||You execute your Test Cases/Scripts in the Test Environment to see whether they pass.||
|Test Reporting||You prepare various reports for various stakeholders.||
Interestingly, no matter how well-defined a Software Testing Life Cycle you have in your project or organization, there are chances that you will invariably witness the following widely-popular cycle:
In this type of STLC, you skip phases like requirement/design review, test planning, and test designing –in the high hope that the skipping will save you some time and/or cost.
Also, note that the Software Testing Life Cycle phases mentioned above do not necessarily have to be in the order listed; some phases can sometimes run in parallel (For instance, Test Designing and Test Execution). And, in extreme cases, the phases might also be reversed (For instance, when there is Cursing prior to Testing).