If you’ve been following along on our journey through the various SDLC models, thanks for continuing. For those of you who are just joining us, welcome and start catching up by checking out our previous posts:
But today, our focus is on the V-model. The V-model is an execution process that works in a sequential order that resembles the letter V. It’s also called the “Validation” and “Verification” model.
For those familiar with the waterfall model of SDLC, the V-model will be familiar as it’s an extension of this model. Specifically, it’s associated with the testing phase of the development stage it corresponds with. This means that each phase in the development cycle has a corresponding testing phase.
Being constructed this way makes the V-model disciplined as subsequent phases will only begin after the previous completes.
There are two main phases in the V-model process: verification and validation. Within these phases, there are also several steps.
The verification phase includes:
- Requirements analysis: Requirements are analyzed, and a user requirements document is formulated.
- System design: Engineers analyze the system using the user requirements document and decide on the best techniques to finish the project.
- Architecture design: Also referred to as “high-level design,” it serves as the baseline for choosing the components that go into the project. This can consist of useful modules, module functionality, relationships, interfaces technology details, etc.
- Module design: This phase is also known as “low-level design.” In this phase, the system gets divided into units (models). Each one is then explained in such a way to allow programmers to code directly.
Each verification phase has stage that corresponds in the validation phase:
- Unit testing: During this phase, Unit Test Plans (UTPs) are created. UTPs work to remove bugs at the code or unit level.
- Integration testing: Integration Test Plans correlate to the Architectural Design Phase. Integration tests work to determine whether any units that are developed and tested by themselves can coexist and communicate. These tests are then passed onto the customer.
- System testing: System Tests Plans line up with System Design Phase. Systems Test Plans are created on the client end by their business team and work to ensure application expectations are reached.
- User acceptance testing: User Acceptance Tests (UAT) occur during the Requirements Analysis phase. These UATs are run inside user environments using data that is realistic.