SDLC and STLC, A must know for every project.

SOFTWARE DEVELOPMENT LIFE CYCLE:-

SDLC is the process followed by every organization for a software project. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.

Lets see the pictorial view and go deeper for each of the stages.

1

Stage-1: Planning & Requirement Analysis:

Requirement is the first step to every project we start may it be a mobile or a web application & Planning for it in the most optimized way. The planning for the requirements are done by the senior professionals keeping the customer needs, surveys and with the help of the experts in the industry.

Planning for the assurance of the product, the requirements and pre-identification of the risks so that every work output is feasible and optimum. Here in this stage the analysis of the product requirements is done.

Stage-2:Defining Requirements:

After the analysis of all the requirements for the product, the proper documentation is done for the each requirement by defining them based on why and how (in most optimum way) the requirements are to be taken care of. This is done through SRS (Software Requirement Specification) documents that would contain all the requirements to be designed for the development of the product. SRS is the fundamental and very important document as it is required in every stage of the product development.

Stage-3:Designing the Product architecture:

The architecture is done based on the SRS document that is made from the previous stage. Normally not only one design for the product is made/developed, more than one is developed and specified in the DDS(Design Document Specification). Then, this DDS is reviewed by all the stakeholders and keeping in mind the risk assessment, product robustness, design modularity and the most optimum design or architecture is chosen and before that every details of the proposed or chosen architecture’s internal structure should be mentioned in the DDS.

Stage-4:Building and Developing the Product:

Here in this stage, the actual work/development & product building starts. The coding starts by the developers working on the project based on the DDS prepared in the previous stage. Here the coding guidelines are followed that is the basic and most important as that is the first thing to be seen if the project transfers to other developers incase. The programming language is followed based on the software being developed.

Stage-5:Testing the Product:

This is another important part of SDLC models. This stage refers to the testing of the staging of the product where the defects of the products are reported by the testing group, then featured to the developers who fix the errors reported and again retested until and unless the product finally reaches the standards that is defined in the SRS.

Stage-6:Deployment of the product:

Once the development of the product is done after the series of coding and testing is done and the final outcome is satisfactory according to the specification provided in the SRS, & based on the feedback from the customers, then the deployment is done and the application goes live for the users too.

 

SOFTWARE TESTING LIFE CYCLE:

As discussed above about the SDLC that was related to development, but as we know development is incomplete without testing, unless and until it is confirmed that the development is free of bugs or Issues, it cannot be released to the customers. Similar to the development, testing also has its life cycle. Now lets discuss about the Software Testing Life Cycle. This involves a series of activities that are required to certify a product before delivery.

The different stages are listed and briefed below:-

2

Stage-1:Requirement Analysis:

In this phase as the name suggests, the test team gathers and studies the information required from a testing point of view. The QA team discusses with the development team, the clients and other stakeholders to gather more knowledge on the product to be tested. Requirement are of two types that is Functional(what is S/W must do as based on the SRS) and Non Functional(testing the performance of the product). If in case the requirements or the flow of the application is not understood by the test team, they consult to the respective Business Logic analysts, Team Leads/Developers, to get the thorough knowledge on the application. Also, here the priorities are kept in mind if there are any required by the client.

Stage-2:Test Planning:

As the name defines itself, that it is the stage where the testers plan on the process they would follow for testing the product. This is very important stage as this would decide the estimate of the completion of the testing process as if done in a planned and optimized manner, this would lead to a good product development. Test tools selection plays a vital role here & also the Development team is given the estimation by which the testing process would end. The test team also provides the estimation of cost along with the time estimation.

Stage-3:Test Development:

This stage can also be termed as Test Design, where the test case is prepared. Where according to the planning done in the previous stage, the test design is made on basis of which the work would get started. This is the phase of STLC where testing team write down the detailed test cases. Then these test cases are reviewed by the reviewer and then is approved. The Requirement Traceability Matrix is prepared, which is an industry-accepted format/rule for tracking requirements where each test case is mapped with the requirement specified in the SRS (Requirement phase).

Stage-4:Test Execution:

Once the unit testing is done by the developers and test team gets the latest build. Here in this stage the test case prepared and reviewed, is executed by the tester and the test results are the outcome here, these test results are captured, reviewed again and filed to the developers to work on the Issues (if any), else a green signal for the developers to continue with new module as the previous work has passed the testing process. Hence, here we get to know that “Testing is an iterative process, that is once the defect/issue is raised by the tester and then fixed by the developers, testing is again done to ensure the status of the defect”.

Stage-5:Bug Tracking & Reporting:

As mentioned above based on the test results, the tester files or reports the bugs/Issues found from thorough testing for the developers, so that they can go through and fix the bugs as soon as possible, so as to continue with further development. The developers once gets notified of the Issue/bugs raised by the tester, start fixing and implementing them. Not only issues, the testers also file suggestions if they think are required. The developers work on these points and then , the testers test and assure the defects have been fixed and suggestions have been looked into and then push it to the final testing.

Stage-6:Final Testing:

In this final stage the product is tested(functional & non functional) for the final time with every tit & bit taking into consideration, the quality of the product before letting it off to the customers. Here apart from functional, non functional testing are taken into consideration. Then the final test and execution documentation is made.

Thus on a final note,

  • The SDLC & STLC are both interdependent, or so to be called STLC is the SUBSET for the SET of SDLC.
  • STLC cannot run independently as they are confined to testing module only, whereas the SDLC is a vast model having wider area for executions and implementations.
  • SDLC is not alone enough as STLC is an important part of the product development as without Testing the product cannot be released for delivery.

Thus for an efficient, optimized & best quality product, both SDLC and STLC are equally important in their aspects.