What is V-Model – Advantages and Disadvantages?
What is V-Model?
V-Model also was known as verification and validation model. V-Model looks like V shape, In this model process done in sequentially like waterfall model. Each phase must be completed to start next phase. It is a good model for testing point of view because testing is done parallel with every phase. As I mentioned above V-Model is made of two things verification and validation.
Verification is a process where we check that the work product which we are building is as per the requirement or not. This type of process done by QA (Quality Assurance). Verification also called as static testing.
Validation is a process where we test complete build product as per the requirement. This type of process done by QC (Quality Control). Validation also called as Dynamic testing.
As per the Software Testing Principles, early testing will be beneficial for software as well as for customer. V-Model is a combination of software development life cycle and software testing life cycle.
In this phase companies, BA (Business Analysts) will collect complete detailed requirement from the client. BA creates (BRS) Business requirement specification. Using BRS, Project Manager, Business Analysts, Stockholders and senior members create SRS (Software Requirement Specification). This Requirement Documents used to create Test Plan. After done requirement phase testing team preparing for acceptance testing.
- System Requirement
Using SRS, gathering the requirement which required for a system build. Creating system design as well as architecture. As per the system requirement, build all the functionality in software. After done system requirement phase testing team preparing for system testing.
- Global Design
In global design, focused on integrated parts. Creating a perfect plan for the integrated module, this phase is more detailed as compared to System requirement. After done global design phase testing team preparing for integration testing.
- Detailed Design
This is a detailed phase where creating designs for the module, more focused on functionality of a module or on the component. After this phase testing team preparing for unit testing.
The implementation phase where coding was done. All the requirement and designs convert into software build. Trying to implements all the functionality into work products.