Introduction
Software development is a complicated process. It includes many stages and involves the usage of the proper methodology. SDLC and STLC play the main role in it. They are interrelated to some extent and often go parallel. However, STLC is often considered as a subset of SDLC.
What is SDLC
Under the abbreviation, SDLC is meant the
Software Development Life Cycle. Though it plays the main role in software production, every big
software development firm has both teams (development and testing). It helps to provide a quality product to the end-user.
SDLC is the process of software development in general. It involves the number of activities, divided into phases.
The main SDLC phases include:
- Planning: a basic stage, needed for understanding the project in general. It also includes potential risks and technical difficulties' identification and defining the needed resources.
- Requirements Gathering and Analysis: the phase includes meeting with the customer or his managers to gather general information about the software under development. All the requirements are analyzed and changed if needed. The final requirements are listed in the SRS (Software Requirement Specification). It is the main document, which contains all the information on software design and development.
- Designing: the stage involves creating architectural modules and database designing.
- Development: the main stage of software creation. It includes the selection of the proper programming language and development environment, as well as additional tools (debuggers, code editors, etc.).
- Testing: can be functional and nonfunctional. The main goal of the phase is to verify and validate the expected software quality. Functional testing checks the general functionality of the software. Nonfunctional checks the additional, but still important aspects, such as usability, loading speed, performance, etc.
The final SDLC phase includes deployment and maintenance. The software is released to the customers. According to their feedback, the product can be changed or supplemented with additional functions. It also implies technical support to provide the required services for software usage.
What is STLC
STLC means
Software Testing Life Cycle. It is a part of SDLC but focuses only on testing to produce the quality software to the end customer. The testing team starts working when the SRS document is prepared.
STLC also involves different phases, but it is not necessary to follow each of them. The main goal of the testing team is to prepare the test cases and execute them to find bugs in the software. The quantity of the phases depends on the type of the developed software, the time, given for testing, the general requirements of the customer, etc.
General
STLC phases include:
- Requirements Analysis: starts after SRS document preparation. The testing team provides its own analysis, apart from the developers' team.
- Planning: the main goal of the phase is to plan the testing procedure. It includes making the list of testing approaches and strategies.
- Test case designing: means the development of test cases. A test case is a minimum unit of the testing. It includes a set of actions, executed to check the general functionality, particular module or feature of the software.
- Test environmental setup: the software under testing is validated in the integrated environment, similar to the one, which will be used by the customers.
- Test execution and closure: the first part of the phase means the actual performance of the real-time validation of the software to find the defects. Test closure is the final stage, which starts after the testing completion. All the results (including bugs and small defects) are documented in the bug reports.
SDLC vs STLC: difference
The main
difference between SDLC and STLC is that SDLC's phases are involved in software development in general, whereas STLC's stages are aimed to test and improve the quality of the product.
Software development requires more members (developers) for the completion of the whole process. Software testing can be provided by the less number of members (even one or two QA engineers).
Conclusion
Both SDLC and STLC are important for providing quality software. The first is conducted by the team of developers, who write the real code. STLC is provided by the testing team. They check the functionality of the software and ensure its quality.
шаблоны для dle 11.2