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 RevisitedMy 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. Phase SDLC - Software Development Life cycle STLC - Software Test Life Cycle
1 Requirements Gathering Requirements 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.
2 Design Technical architect works for the high level & low design of the software. Business analyst works for the UI design of the application Here, test architect generally the test lead/manager, does the test planning, identify high level testing points. Basically, requirement detailing is done in this phase.
3 Coding or development Development team does the actual coding based on the designed architecture. Testing team write the detailed test cases.
4 Testing In 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..
5 Deployment Application 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.
6 Maintenance Basically, 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)


  1. neatly explained thanks for posting.I was trying to open the image which you have uploaded but it's not clear in reading the same.Is there anyway i can open/save the image with clear description so that i can read.

  2. This is Purushothaman i need explanation about WFM, PTM, SPM, IM and what purpose the models are using

  3. Very Clearly explained...helpful for all the job aspirants.

  4. Any One can u Explain What is similarities between SDLC,STLC