Welcome to the Manual Testing Free Training series. In this tutorial, we are going to discuss the SDLC in detail.
For Instructor-led training
For Self-Driven training
Let’s move ahead.
What is SDLC?
- SDLC stands for Software Development life cycle. It is a process used by the software industry to design, develop and test high-quality software products. The SDLC objective is to produce high-quality software that meets client expectations, is complete within the timeline, and cost-effective.
- The Software development life cycle (SDLC) is a framework that defines a standard set of activities and deliverables. It is a mechanism for project tracking and control.
- SDLC is an organized process to build software that verifies the quality and correctness of the software built.
- It consists of a detailed plan that describes how to develop, maintain, replace and alter or enhance specific software.
- The life cycle defines an approach to improve the quality of software and the development process.
SDLC consists of several phases. Let’s discuss in detail:
Stage 1: Planning and Requirement Analysis
- Requirement analysis is the fundamental stage in SDLC.
- It is performed by the senior team members with inputs from the clients and domain experts in the industry.
- This information is used to plan the project approach and to conduct product feasibility studies in the economical, operational, and technical areas.
- Planning for the quality assurance requirements and identification of the risks associated with the project is also considered at this stage.
- The result of the technical feasibility study is to define the various technical approaches that can be followed to build the project successfully with minimum risks.
- This stage gives a clear picture of the scope of the entire project and the expected issues, opportunities, and directives that triggered the project.
Stage 2: Defining Requirements
- Once the requirement analysis is done, the next step is to define and document the product requirements and get them approved by the client or the market analysts.
- To define and document requirements, we need to create an SRS (Software Requirement Specification) document.
- SRS consists of the product requirements to be designed and developed during the project life cycle.
Stage 3: Designing the product architecture
- In this phase, SRS is the reference to prepare the system and software design documents. This helps to define the complete system architecture.
- Based on the requirements defined in SRS, usually, more than one design approach is suggested and documented in a DDS – Design Document Specification for product architecture.
- This DDS is examined by all the important stakeholders and based on parameters like risk assessment, product robustness, design modularity, budget, and time constraints. This helps to select the best design approach for the product.
- A design approach clearly defines all the proposed modules in the architecture of the product along with its data flow representation, E-R diagrams, etc. with the external and third-party modules (if any). The internal design of all the modules of the proposed architecture should have the minutest of the details in DDS.
Stage 4: Building or Developing the Product
- In this stage of SDLC, the coding starts.
- If the design is achieved in a detailed and organized manner, code generation can be accomplished without much trouble.
- Developers have to follow the coding standard defined by their organization and programming languages and tools.
- In the coding phase, tasks are split up into units or modules and assigned to the various developers.
Stage 5: Testing the Product
- Once the development phase is accomplished. It is deployed into a testing environment.
- The testing team starts testing the functionality of the entire software. This is done to validate and verify the entire application works according to the client’s requirement.
- In this phase, the QA and testing team may find some errors/defects that they communicate to developers. The development team fixes the bug and acknowledges the testing team for a re-test. This process continues until the software is defect-free, stable, and working according to the business requirements of that system.
Stage 6: Deployment and Maintenance
- Once the testing phase is done and no bugs or errors are found in the system/software, the deployment process will start.
- Sometimes the product deployment phase takes place in various stages as per the business strategy of organizations. First, the product is released in a limited segment and tested in the real business environment (UAT – User acceptance testing or pre-production). Then, based on the end result, the product may be released to the production phase or with suggested enhancements in the targeting market segment.
- After the product is released and clients start using it, its maintenance is to be performed for the existing customer base and do the following activities like bug fixing, upgrade, and new enhancement.
- The main focus of Maintenance is to ensure that requirements continue to be met and that the system continues to perform as per the specification.