Also known as the Verification and Validation Model, the V-Model. This requires that each stage of the SDLC be finished before moving on to the next. The waterfall model's sequential design approach is also followed. The device's testing is scheduled concurrently with the relevant stage of development.
Verification: Verification entails a static analysis technique (review) carried out without actually running any code. To determine whether specific requirements are met, the product development process is evaluated.
Validation: Testing is done by running code, and validation comprises dynamic analysis methods (functional and non-functional). After the development phase is complete, the software is categorized throughout the validation step to see if it satisfies the needs and expectations of the client.
Therefore, the V-Model has Validation stages on one side and Verification phases on the other. The coding phase joins the verification and validation processes in a V-shape. As a result, it is known as V-Model.
V-Verification model's Phase
There are several stages in the V-Verification model's Phase:
Business requirement analysis: This is the initial step in understanding product requirements from the perspective of the client. To fully comprehend the expectations and precise needs of the consumer, this phase involves comprehensive discussion.
System Design: System engineers utilize the user requirements document to examine and comprehend the proposed system's business.
Architecture Design: The first step in choosing an architecture is to have a basic understanding of everything that will be included, such as the list of modules, a brief description of each module's functionality, the relationships between the modules' interfaces, any dependencies, database tables, architecture diagrams, technology details, etc. A certain step includes the integration testing model.
Module Design: The system is divided into manageable modules at the module design stage. Low-Level Design, which is the specification of the modules' intricate design
Coding Phase: Coding Stage The coding step begins after designing. It is decided on a programming language that will work best based on the criteria. For coding, there are some rules and standards. The final build is enhanced for greater performance prior to checking it into the repository, and the code undergoes numerous code reviews to verify its performance.
V-Validation model's Phase
There are several stages in the V-validation model's phase:
Unit testing: The V-module Model's design phase is when Unit Test Plans (UTPs) is created. To get rid of problems at the unit or code level, these UTPs are run. The smallest thing that can exist on its own is a unit, such as a program module. Unit testing ensures that even the tiniest component can operate properly when separated from other scripts or units.
Testing for integration: Plans for testing for integration are created at the architectural design phase. These tests demonstrate that separate groups can coexist and communicate with one another.
System testing: During the system design phase, plans for system testing are created. System test plans, in contrast to unit and integration test plans, are created by the client's business team. System testing makes sure that an application developer's requirements are met.
Acceptance Testing: The examination of business requirements is related to acceptance testing. The software product is tested in a user environment. Acceptance tests highlight any system compatibility issues that may exist within the user environment. Additionally, it identifies non-functional issues like load and performance flaws in the context of actual user interaction.
Use the V-Model when?
- whenever the requirements are clear and unambiguous.
- For small to medium-sized projects with established, clearly specified requirements, the V-shaped paradigm should be employed.
- When sample technical resources with crucial technical skills are available, the V-shaped model should be selected.
Benefits of the V-Model
- Simple to comprehend
- Planning and designing for tests occur much before coding.
- This saves a tonne of time. Hence, the waterfall model has a lower chance of success.
- prevents the faults from spiraling downward.
- functions well for modest plans with simple criteria.
V-Model disadvantages (Cons)
- The least flexible and most unyielding.
- Unsuitable for a challenging assignment.
- Software is created during the implementation phase; hence, no early software prototypes are created.
- The test documents and the necessary paperwork must be updated if there are any modifications made in the middle.