Software Testing Life Cycle

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:

Nevertheless, Software Testing Life Cycle, in general, comprises of the following phases:

Software Testing Life Cycle

Phase Activity Deliverables Necessity
Requirements/Design Review You review the software requirements/design (Well, if they exist.)
  • Review Defect Reports
Curiosity
Test Planning Once you have gathered a general idea of what needs to be tested, you ‘plan’ for the tests. Farsightedness
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 Environment
Rich company
Test Execution You execute your Test Cases/Scripts in the Test Environment to see whether they pass. Patience
Test Reporting You prepare various reports for various stakeholders.
  • Test Results (Final)
  • Test/Defect Metrics
  • Test Closure Report
  • Who Worked Till Late & on Weekends Report
Diplomacy

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:

  • Testing
  • Cursing

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).