Software Testing Life Cycle (STLC)

SOFTWARE TESTING LIFE CYCLE (STLC) defines the steps / stages / phases in testing of software. However, there is no fixed standard 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

STLC Phases and Activities

Phase Activity Deliverables Necessity
Requirements/ Design Review You review the software requirements/ design (Well, if they exist.)
  • ‘Review Defect’ Reports
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 Late & on Weekends (WWLW) Report [Depending on how fussy your Management is]

Note that the STLC 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. 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 design review, test planning, etc – in the hope that the skipping will save you some time and/or cost. [But, it never does and you’ll instead end up swearing! Yes, a lot.]