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.
Both of SDLC and STLC have the same fixed phases:
· 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.
The following table lists down the main differences between STLC and SDLC:
SDLC – Software Development Life cycle
STLC – Software Test Life Cycle
This is the requirements analysis phase, all the information of the software details and specifications from client and user is collected as much as possible.
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 is needed and also check the demands for logical functional relationship between features, so the testing team can figure out any issues or bugs at early stage.
Consider to choose the programming language, which would be suited for the project. High-level functions & architecture.
In this phase, technical architect works for the high level & low design of the software. Business analyst works for the UI design of the application.
This is the phase of test planning, identify high level testing points. Moreover, all requirements are clarified in details.
Coding or development
Basing on system design documents, the work is assigned in modules/units and actual coding is begun. Since, in this phase the code is implemented, so the developer will pay much attention. This is the longest section in SDLC.
All of module, integration and system testing are applied. The detailed test cases are written by testing team.
Actual testing is performs in this phase. It includes unit testing, integration testing & system testing etc.
The software is ready to be sent to testing team, they will go to check it thoroughly for different defects. Manual or automation testing is applied to check all components of software to ensure they are bug-free.
After testing phase, the software is deployed to be used by end users.
Final testing and implementation is done is this phase and final test report is prepared.
After deployment stage, the real issues from user will occur then it needs to be solved from time to time. So in this is phase, the support & enhancement activities will be run.
Update & maintenance of test plans, test case required for the testing of support requests & enhancements.
It’s obvious that the software testing management process passes through all phases of the software development life cycle and software testing life cycle. This article demonstrates testing within software development and it is an independent sub project of a software development project.