In my previous articles about Software Testing Life Cycle VS Software Development Life Cycle, I have talked about the general definition and step by step process. Continue to help you have an in-depth understanding of these two testing process, this article demonstrates the differences and similarities between SDLC and STLC.
Both 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 posted 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 the testing process. If the software does 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 a high level of skill and experience.
The following table lists the main differences between Software Testing Life Cycle & Software Development Life Cycle:
|Phase||SDLC – Software Development Life Cycle||STLC – Software Testing Life Cycle|
|Requirements Gathering||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 analyzes 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 the logical functional relationship between features, so the testing team can check out any issues or bugs at the early stage.
|Design||Consider choosing 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 to 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 the testing team.|
|Testing||Actual testing is performed in this phase. It includes unit testing, integration testing & system testing etc.||The software is ready to be checked by 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.
|Deployment||After the testing phase, the software is deployed to be used by end users.||Final testing and implementation are done in this phase and the final test report is prepared.|
|Maintenance||After deployment stage, the real issues from the user will occur then it needs to be solved from time to time.
So in this 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 subproject of a software development project.
Read more: Software Testing Life Cycle