Pages

Tuesday 31 December 2013

SDLC Vs STLC

Software Development Life Cycle(SDLC) and Software Testing Life Cycle(STLC), both has equal emphasis during the software development. Before started my journey towards testing, I know only one name of those, i.e., SDLC. Because that's what I read during my grad. Till then I thought of testing is just a method. For all the latest life cycle models water fall is the base and the initial one, in every model "testing" is just a phase. I was in a doubt, after-all it is a phase/process in a life cycle model why do it has a separate life cycle again?
There I started Google'd  with that name. I have read most of the articles and blogs. I got the answer but not able to convince with their explanation. They said strategy, plan, environment, testing levels. That's it. Haven't found any systematic way in that. But in one post, I saw the difference written by a testing geek. I was impressed with the explanation wrote and I convinced with the answer about how  s/w life cycle phases related with development and testing.Below is the table about SDLC and 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 analyse the requirements from the design, architecture & coding perspective. Testing team also review & analyse 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.
 Similarities Courtesy: http://www.softwaretestingstuff.com

Thanks for the author...
Happy Testing :)

 

No comments:

Post a Comment