SDLC vs STLC–Differences & Similarities Revisited

Few days back, I was taking some interviews. I surprised to see some candidates were not able to explain simple concepts like SDLC & STLC. Everybody, was giving me very standards answers. SDLC – a systematic approach to develop a software and STLC – process of testing a software in a systematic and planned way. No one explains me logical Differences & Similarities between these two.

SDLC vs STLC�Differences & Similarities Revisited

My question is very simple – How you can relate six phases Requirement, Design, Development, Testing, Deployment & Maintenance to Software Testing Life Cycle?
Let’s see how I related these six phases with STLC: 

S. No.PhaseSDLC – Software Development Life cycleSTLC – Software Test Life Cycle
1Requirements GatheringRequirements gathering is done by business analyst. Development team analyze the requirements from the design, architecture & coding perspective.Testing team also review & analyze the requirements. Testing team identifies the testing requirements like what types of testing will be required and review the requirements for logical functional relationship between various features / modules, so that any gaps can be caught at an early stage.
2DesignTechnical architect works for the high level & low design of the software. Business analyst works for the UI design of the applicationHere, test architect generally the test lead/manager, does the test planning, identify high level testing points. Basically, requirement detailing is done in this phase.
3Coding or developmentDevelopment team does the actual coding based on the designed architecture.Testing team write the detailed test cases.
4TestingIn SDLC, actual testing is carried out in this phase. It includes unit testing, integration testing & system testing etc..Test Execution and bug reporting, manual testing, automation testing is done, defects found are reported. Re-testing and regression testing is also done in this phase. But, I don’t agree with this statement. So, if I want to relate the testing phase with STLC, I would say it it is testing of test cases & test plans i.e. is basically review of test cases, test scenarios etc..
5DeploymentApplication is deployed on production environment for real end users.Final testing and implementation is done is this phase and final test report is prepared. For this statement as well, I don’t agree. For software / application deployment is basically, when it is installed for real use. So, this way, STLC, deployment would be when test when test cases getting used i.e. execution of test cases.
6MaintenanceBasically, it includes, post production / deployment support & enhancements.Most of people say – Maintenance testing is carried out in this phase. My definition for this is – updation & maintenance of test plans, test case required for the testing of support requests & enhancements as a part of maintenance.

There are two sides of this coin:

  • Testing within the software development (Here, the old definition of STLC may be applicable)
  • Consider testing as a independent sub project of a software development project (Here, I believe, old definition no longer sustains)

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top