Introduction of Software Development Life Cycle V-Model

By: Payal Gurav Category: Software testing Technologies: Software Testing

The V-model is an SDLC model where the execution of processes occurs in a successive way in a V-shape. It is otherwise called the Verification and Validation model. The V-Model is an expansion of the waterfall model and depends on the relationship of a testing phase for each comparing advancement stage.

V-Model — Design
Under the V-Model, the comparing testing phase of the advancement phase is arranged equally. Along these lines, there are Verification phases on one side of the ‘V’ and Validation phases on the opposite side. The V-Model — Design
The Coding Phase joins the different sides of the V-Model.

The following illustration depicts the different phases in a V-Model of the SDLC.

V-Model — Verification Phases
There are a few Verification phases in the V-Model, each of these is made sense of exhaustively beneath.

Business Requirement Analysis
This is the main phase in the advancement cycle where the item prerequisites are perceived according to the client’s point of view. This phase includes definite correspondence with the client to grasp his assumptions and careful necessity. This is a vital action and should be overseen well, as a large portion of the clients are can’t say much about what precisely they need. The acceptance test design arranging is done at this stage as business prerequisites can be utilized as a contribution to acceptance testing.

System Design
When you have clear and itemized item necessities, the time has come to design the total system. The system design will have the comprehension and enumerating of the total equipment and correspondence arrangement for the item a work in progress. The system test plan is created in view of the system design. Doing this at a prior stage allows for the real test execution later.

Compositional Design
Compositional determinations are perceived and designed in this phase. Generally, more than one specialized approach is proposed, chime and in light of the specialized and monetary plausibility, the ultimate conclusion is taken. The system design is separated further into modules taking up various usefulness. This is additionally alluded to as High-Level Design (HLD).

The information move and correspondence between the interior modules and with the rest of the world (different systems) is obviously perceived and characterized in this stage. With this data, integration tests can be designed and archived during this stage.

Module Design
In this phase, the point-by-point interior design for all the system modules is indicated, alluded to as Low-Level Design (LLD). It is vital that the design is viable with different modules in the system architecture and the other outside systems. The unit tests are a fundamental piece of any improvement interaction and assist with taking out the most extreme deficiencies and blunders at the beginning phase. These unit tests can be designed at this stage in view of the inner module designs.

Coding Phase
The genuine coding of the system modules designed in the design phase is taken up in the Coding phase. The best reasonable programming language is chosen in view of the system and engineering necessities.

The coding is performed in light of the coding rules and principles. The code goes through various code audits and is advanced for best execution before the last form is looked into the vault.

Validation Phases
The different Validation Phases in a V-Model are made sense of exhaustively beneath.

Unit Testing
Unit tests designed in the module design phase are executed on the code during this validation phase. Unit testing is the testing at the code level and takes out bugs at the beginning phase, however, all imperfections can’t be revealed by unit testing.

Integration Testing
Integration testing is related to the compositional design phase. Integration tests are performed to test the conjunction and correspondence of the interior modules inside the system.

System Testing
System testing is straightforwardly connected with the system design phase. System tests really look at the whole system’s usefulness and the correspondence of the system being worked on with outer systems. The majority of the product and equipment similarity issues can be revealed during this system test execution.

Acceptance Testing
Acceptance testing is related to the business necessity investigation phase and includes testing the item in the client climate. Acceptance tests uncover the similarity issues with different systems accessible in the client climate. It additionally finds the non-practical issues, for example, burden and execution absconds in the real client climate

V-Model ─ Application
V-Model is utilized for little undertakings where project necessities are clear. Basic and straightforward and use. This model spotlights verification and validation exercises from the get-go in the existence cycle consequently improving the likelihood of building a blunder-free and great quality item.

Originally published at




Cryptex specializes in developing open source web applications and software solutions across all domains and verticals using Ruby on Rails (ROR) technology

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Pre-order your new TREZOR model T!

A few things I’ve learned about software testing

How to Decide Equipment Criticality.

openapi-processor-spring type mapping

The First Step to A Generalized State Channel # Trinity-Neo-gui


Building a Poster out of Bus Route Maps, pt 1

Enable Default S3 Server-Side Encryption with CloudFormation

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cryptex Technologies

Cryptex Technologies

Cryptex specializes in developing open source web applications and software solutions across all domains and verticals using Ruby on Rails (ROR) technology

More from Medium

Different way to check palindrome

Why you’re not Productive?

Linting — Be strict and helpful

Big O’ notation in Swift