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.
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. | 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)
Rahnuma is a technical content writer at software testing stuff. A software engineer by degree and a dynamic content creator by passion, she brings to table over 3 years of writing experience in tech niche. Combining her enthusiasm for writing and technology, she loves to share her thoughts on the latest tech trends.