Verification & Validation Model is a software development model where testing is planned in parallel with development. It looks like a V shape → left side = development, right side = testing, i.e: For every development phase, there is a corresponding test phase.
Think of it as Waterfall + Testing at each step.
Phases of V-Model
Left Side (Verification – Building the system)
Requirement Analysis → What does the customer want?
System Design → High-level design (modules, architecture).
Detailed Design → Low-level design (functions, database).
Coding → Actual development.
Right Side (Validation – Testing the system)
Unit Testing ← Tests detailed design.
Integration Testing ← Tests system design.
System Testing ← Tests overall requirements.
UAT (User Acceptance Testing) ← Tests customer needs.
ATM machine example:
Left Side
Requirement Analysis: ATM must allow withdrawals.
System Design: Modules = Card Reader, PIN Validation, Cash Dispenser.
Detailed Design: Functions like
validatePIN(),dispenseCash().Coding: Developers implement the code.
Right Side
Unit Testing: Test
validatePIN()function.Integration Testing: Test ATM + Bank server connection.
System Testing: Test full ATM (insert card → withdraw cash).
UAT: Bank staff verify ATM meets customer needs.