Reader Level:

Software Testing Life Cycle (STLC)

By Divya Saxena on Oct 11, 2010
In this Article we define the various stages of testing.

Before defining STLC I want to define ..what is SDLC ?

Software Development Life Cycle (SDLC) : Specifies the various stages of software development.

  1. System Requirements Analysis.
  2. Feasibility study
  3. Systems Analysis and Design
  4. Code Generation
  5. Testing
  6. Maintenance
  7. Implementation

Software Testing Life Cycle (STLC): Specifies the various stages of testing.
1.Requirements stage
     a.Requirement Specification documents
     b.Functional Specification documents
     c.Use case Documents
     d.Test Trace-ability Matrix for identifying Test Coverage
2.Test Plan
     a.Test Scope, Test Environment
     b.Different Test phase and Test Methodologies
     c.Manual and Automation Testing
     d.Defect Mgmt, Configuration Mgmt, Risk Mgmt. Etc
3.Test Design
    a.Test Case preparation.
    b.Test Traceability Matrix for identifying Test Cases
    c.Test case reviews and Approval
4.Test Execution
    a.Executing Test cases
    b.Capture, review and analyze Test Results
5.Defect Tracking
    a.Find the defect & tracking for its closure.
6.Bug Reporting
    a.Report the defect on tool/Excels

Bug Life cycle 


Article Extensions
Contents added by Saravanan on Dec 15, 2011
Contents added by Divya Saxena on Oct 12, 2010

Deferred is a Status of Bug..

Other Status Associated with bugs are:


When a bug is found for the first time, the software tester communicates it to his/her team leader (Test Leader) in order to confirm if that is a valid bug. After getting confirmation from the Test Lead, the software tester logs the bug and the status of ‘New’ is assigned to the bug.

Once the developer starts working on the bug, he/she changes the status of the bug to ‘Open’ to indicate that he/she is working on it to find a solution.

Once the developer makes necessary changes in the code and verifies the code, he/she marks the bug as ‘Fixed’ and passes it over to the Development Lead in order to pass it to the Testing team.

Pending Retest:
After the bug is fixed, it is passed back to the testing team to get retested and the status of ‘Pending Retest’ is assigned to it.

After the bug is assigned a status of ‘Retest’, it is again tested. If the problem is solved, the tester closes it and marks it with ‘Closed’ status.

If after retesting the software for the bug opened, if the system behaves in the same way or same bug arises once again, then the tester reopens the bug and again sends it back to the developer marking its status as ‘Reopen’.


If the Testing Leader finds that the system is working according to the specifications or the bug is invalid as per the explanation from the development, he/she rejects the bug and marks its status as ‘Rejected’.


Sometimes, testing of a particular bug has to be postponed for an indefinite period. This situation may occur because of many reasons, such as unavailability of Test data, unavailability of particular functionality etc. That time, the bug is marked with ‘Postponed’ status.


In some cases a particular bug stands no importance and is needed to be avoided, that time it is marked with ‘Deferred’ status.

Divya Saxena

Having a 5.5 yr exp in Manual testing. Knowledge of  Automation tool (QTP). Perfectionist in Tracking & Reporting Defects.