Software Testing - Waterfall Model

Waterfall testing refers to software testing done within the Waterfall development model, where testing happens only after the entire development phase is complete — not in parallel with coding.


1. What Is the Waterfall Model?

  • A linear, sequential development process.

  • Each phase must be completed before the next begins.

  • Typical phases: Requirements → Design → Development → Testing → Deployment → Maintenance.

  • Testing comes late in the process.


2. How Testing Works in Waterfall

  • No testing until coding is finished — test cases are based on completed requirements and designs.

  • Testers receive the fully developed product and verify it against the requirements.

  • Bugs are reported and fixed before release.

  • Any major defect late in the cycle can cause delays or rework.


3. Advantages

  • Clear structure and documentation.

  • Easy to understand and manage for small projects.

  • Works well if requirements are fixed and stable.

  • Strong separation of roles (developers vs testers).


4. Disadvantages

  • Late testing means defects are found late, making fixes more costly.

  • Limited flexibility — changes require going back to earlier phases.

  • Not ideal for projects where requirements evolve.

  • Delays in development directly delay testing.


5. Waterfall Testing Steps

  1. Test Planning — Based on approved requirements and design.

  2. Test Case Design — Creating detailed test scripts.

  3. Test Environment Setup — Preparing hardware, software, and tools.

  4. Test Execution — Running all functional, non-functional, and system tests.

  5. Defect Reporting & Fixing — Iterating until major issues are resolved.

  6. Test Closure — Documentation and sign-off.


6. Common Testing Types in Waterfall

  • Unit Testing (by developers before handoff)

  • Integration Testing

  • System Testing

  • Acceptance Testing