In my previous articles about Software Development Life Cycle (SDLC) and Software Testing Life Cycle (STLC), I have talked about the general definition and step by step process. Continue to help you have in-depth understand of these two testing process, this article demonstrates the differences and similarities between SDLC and STLC. Similarity between SDLC and STLC is that they have the same fixed phases as below: · Test strategy & planning: Planning and building test strategy· Test design· Test environment setup/ Test development: Set up the testing environment· Test execution: Creating the test cases; building and implementing the Test Script· Result/ Defect analysis: Review the result and report any bugs· Defect/ Bug tracking: Analyze any software’s bugs and issues · Reporting: It’s post conditional process which involves collecting data and feedback from users In fact, STLC is a part of SDLC but it plays an important role in testing process. If the software do not pass the STLC process, it cannot be released. The efficiency requirement in STLC is higher comparing other SDLC parts, hence the developers and testers must have high level of skill and experience. To check out more of differences between STLC and SDLC, the following table lists down all key comparisons: 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. Requirement analysis is completed by testing team. All of testing requirements are identified by testing team such as what types of testing will be required and also review the requirements for logical functional relationship between features that any issues can be found 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.