v-model

v-model is a sequential development process shaped like a v that pairs each development activity with a corresponding testing activity.

left side (decomposition):

  • requirements gathering
  • system analysis
  • high-level design
  • detailed module design
  • coding (at the bottom)

right side (validation):

  • acceptance testing
  • system testing
  • integration testing
  • unit testing

each left-side artifact directly drives its matching test on the right.

v-model enables:

  • explicit traceability from requirements to verification
  • early planning of how each part will be tested
  • clear definition of done for every level
  • reduced defects through built-in verification

best suited for projects with stable requirements. less flexible for rapid change.

practices:

  • define acceptance criteria during requirements phase
  • create test plans in parallel with design
  • maintain traceability matrix between artifacts and tests

related: