SDLC Models – V Model

V Model

We had discussed Waterfall Model in our last session and we had seen some disadvantages in that, and those disadvantages were.

Disadvantages of Waterfall Model

  1. Time taking process – It takes a lot of time to launch the first working software in Waterfall Model.
  2. Communication Gap – There is no proper communication with in all the stakeholders such as Business Analyst, Tester, Developers which creates Miscommunication some times.
  3. No Requirement Change – Once the requirement is finalized, then the requirement can not be changed, even if the developers and testers think, it should be changed.

So, now if we want to overcome the disadvantages of Waterfall model, then we need some other model, and that model is V-model. So, let’s understand, What is V-model.

What is V Model

The V-model is a SDLC model that illustrates the relationship between each phase of the development life cycle to its corresponding testing phase. It is called the V-model because of its shape, which resembles the letter “V”.

The V-model is also a sequential model like waterfall model, but there is a difference that V-model is a type of model which consists of SDLC and STLC together. Waterfall model illustrates only SDLC but V-model illustrates both SDLC and STLC, that’s why, it is said that V-model emphasize the importance of STLC as well.

V-model is also called Verification and Validation Model because, in this model, SDLC and STLC stages are properly defined. Verification process is performed during SDLC stages and Validation process is performed during STLC stages.

The V-model is also a sequential model, so it should be used in industries where requirements don’t change, and requirements are very simple, for example some Order taking app for a restaurant. However, it can be applied to any software development project where quality and reliability are critical.

V-model

How V Model works

As we know that

  • V-model is Verification and Validation model.
  • V-model consists of SDLC and STLC stages both together.
  • Verification is done during SDLC stages and Validation is done during STLC stages
  • V-model illustrates the relationship between each stage of SDLC and STLC.
  • SDLC and Verification are displayed on the left side of the V-model and STLC and Validation are displayed on the right side of the V-model.

Now, If you don’t know, what is Verification and what is Validation, then let’s take a look at it.

Verification – Verification is a type of Testing. This is static Testing. The activities included in Verification are

  1. Reviewing Business Requirements and Functional Requirements
  2. Writing Test Plan, Test Scenarios, Test Cases

Validation – Validation is also a type of Testing. This is Dynamic Testing. The activities included in Validation are

  1. Executing Test Cases
  2. Raising defects

The very first stage of SDLC is Requirement Analysis and it is mapped to UAT Testing of STLC. During Requirement Analysis stage, below Activities are performed.

  • Business Analyst will do Requirement Analysis and will create BRD and FRD Document.
  • These Documents will be made available to Design Team, and UAT Testing Team.
  • UAT Testing Team will write UAT Test Cases based on the BRD and FRD.
  • UAT Testers will get their Test Cases reviewed by Business Analysts.
  • UAT Testers will communicate on regular basis with Business Analysts, in order to avoid Communication Gap.

The Second stage of SDLC is High Level Design. This is mapped to Integration Testing. During this stage, below Activities are performed.

  • Design Team gets the BRD and FRD from Business Analyst and review it.
  • Design Team starts preparing the work flow and High Level Design Document based on the BRD and FRD.
  • Integration Testing Team gets in touch with Hight Level Design and starts writing Test Cases based on the High Level Design Document.

The Third stage of SDLC is Low Level Design. This is mapped to Unit Testing. During this stage, below Activities are performed.

  • Low Level Design Team prepares the Low level Design Document which consists of internal working of Component Design.
  • Developers prepares Unit Test Cases based on this Low Level Design Document.
  • Coding is also done based on the Low Level Design Document.

Now, STLC starts and the first stage of STLC is Unit Testing. Below Activities are performed in Unit Testing.

  • Each and every Module is Tested individually in Unit Testing.
  • Unit Testing is a white box testing, so the code is tested in Unit Testing.
  • Code of each and every component is tested in Unit Testing.
  • Developers will perform Unit Testing along with Coding.

Then, the second stage of STLC is Integration Testing. Below Activities are performed in Integration Testing

  • .Two or more than two modules are integrated and tested in Integration Testing.
  • Integration Testing is done with the test cases, based on the High Level Design Document

Then, the last stage of STLC is System Testing or Acceptance Testing. Below Activities are performed in Acceptance Testing

  • Complete System is tested as all the Units are integrated in the System and then it starts functioning like a real application.
  • This is when the application is used the same way it will be used in production.
  • In this stage, the Application is tested using the test cases based on the BRD and FRD Documents.

So, this is how V-model works.

Example to understand V Model

So, Lets take an example of Ecommerce Application where we have certain functionalities such Sign up, Sign in, Place Order, Select Product and many more and all these functionalities are called requirement in Business Analyst Language, So let’s say we have 100 such requirements, So In V Model We will first take the high priority Requirements and let’s say, we have 25 high priority requirements, with which we can create our first working software with MVP. MVP means a Minimum Viable Product. An MVP is a product which doesn’t have all the features but it has minimum features so that it can be launched in production.

Business Analyst will start analyzing these requirement, so let’s say it takes 15 days of time to analyze the requirements. Once it is done, UAT Testers will start writing the UAT Test Cases, this makes sure that Testers are not sitting idle.

Then Business Analyst will give it to the Design team and Design team will generate all the workflows for these requirements and SIT Testers will start writing the Test Cases and they also take 15 days of time.

Then Development Team will write Low level design Doc and code for these workflows and they also take 1 month of time.

Then SIT Testing Teams will execute their test Cases and they also take 15 days of time.

Then UAT Testing Teams will execute their test Cases and they also take 15 days of time.

So, after all this process, Product Launch will take 2 weeks of time, So the First working Product launch can be done in 3 to 4 months of time which is less than Waterfall Model.

Advantages of V model

  1. Clear Communication between the concerned Teams – UAT Tester has to test the Application from Business Point of View, So UAT Tester should be in connect with Business Analyst. System Design Team should also be connected to Business Analyst and SIT Testers, and V model makes sure that all these concerned teams are connected to each other.
  2. Less Time Consumption then Waterfall Model – It takes less time than Waterfall Model when we use V Model while developing a Project.
  3. Idle Time Reduces – Since UAT Testers starts writing test cases right in the Requirement Analysis phase, SIT Tester starts doing it in Design Phase, So V Model reduces idle time which was more in Waterfall Model.
  4. Emphasis on testing and validation – The V model emphasizes the importance of testing and validation throughout the software development lifecycle. This means that potential defects can be identified very early, before they become more difficult and expensive to fix.
  5. Integration of testing and development – V model integrates testing and development, So the testing process right from the beginning. Testing is done in the form of verification during SDLC stages and in the form of Validation during STLC stages.
  6. Increased quality – As we know that V-model emphasize the importance of testing, So the quality of the Software increases if we use V-model.

Disadvantages of V Model

  1. No Requirement Change – Once the Requirement Analysis phase is over, Requirement Change can not be done in V model as well until the first product launch and this also takes at least 3 to 4 months of time.  
  2. Time – Time reduces a lot in V Model as compared to Waterfall but this is not enough and a new type of model is needed which is Agile Model
  3. Documentation overload – The V-Model requires a lot of documentation, which is time-consuming and may result in documentation overload.
  4. Limited flexibility unlike Agile approaches – The V-Model is not very flexible, because Requirements can not be changed. So any project requirement change is allowed, we can only use Agile development approaches.

Summary

We have covered below topics in this session.

  1. Disadvantages of Waterfall Model
  2. What is V Model
  3. How V Model works
  4. Example to understand V Model
  5. Advantages of V model
  6. Disadvantages of V Model

Question

Explain V-model working.

Leave a Comment