This tutorial explains in detail the difference between Software Development Life Cycle (SDLC) and Software Test Life Cycle (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.|