This tutorial explains in detail the Software/System Development Life Cycle (SDLC) like the Waterfall cycle & Iterative cycle like RAID & Agile. It then proceeds to explain the V-Model of testing and STLC(Software Test Life Cycle).
Video Transcript with Key Takeaways Highlighted:
- Suppose, you are assigned a task, to develop a custom software for a client.
- Each block below represents a step required to develop the software.
- Irrespective of your technical background, try and make an educated guess about the sequence of steps you will follow, to achieve the task
- The correct sequence would be.
- Gather as much information as possible about the details & specifications of the desired software from the client. This is nothing but the Requirements gathering stage.
- Plan the programming language like java , php , .net ; database like oracle , mysql etc which would be suited for the project. also some high level functions & architecture. This is the Design Stage.
- Actually code the software. This is the Built Stage.
- Next you ,Test the software to verify that it is built as per the specifications given by the client. This is the TEST stage.
- Once your software product is ready , you may to do some code changes to accommodate enhancements requested by the client. This would be Maintenance stage.
- All these levels constitute the waterfall method of software development lifecycle.As you may observe, that testing in the model starts only after implementation is done.
- But if you are working in large project, where the systems are complex, its easy to miss out key details in the requirements phase itself. In such cases , an entirely wrong product will be delivered to the client. You will have to start a fresh with the project
- Or if you manage to note the requirements correctly but make serious mistakes in design and architecture of you software you will have to redesign the entire software to correct the error.
- Assessments of thousands of projects have shown that defects introduced during requirements & design make up close to half of the total number of defects
- Also, the costs of fixing a defect increases across the development life cycle. The earlier in life cycle a defect is detected, the cheaper it is to fix it. As the say, "A stitch in time saves a nine"
- To address this concern , the V model of testing was developed where for every phase , in the Development life cycle there is a corresponding Testing phase
- The left side of the model is Software Development Life Cycle - SDLC
- The right side of the model is Software Test Life Cycle - STLC
- The entire figure looks like a V , hence the name V - model
- You a find a few stages different from the waterfall model.
- These differences , along with the details of each testing phase will be discussed in later tutorial
- Apart from V model , there are iterative development models , where development is carried in phases , with each phase adding a functionality to the software.