V Model

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)

  1. Requirement Analysis → What does the customer want?

  2. System Design → High-level design (modules, architecture).

  3. Detailed Design → Low-level design (functions, database).

  4. Coding → Actual development.

Right Side (Validation – Testing the system)

  1. Unit Testing ← Tests detailed design.

  2. Integration Testing ← Tests system design.

  3. System Testing ← Tests overall requirements.

  4. 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.