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
-
Test Planning — Based on approved requirements and design.
-
Test Case Design — Creating detailed test scripts.
-
Test Environment Setup — Preparing hardware, software, and tools.
-
Test Execution — Running all functional, non-functional, and system tests.
-
Defect Reporting & Fixing — Iterating until major issues are resolved.
-
Test Closure — Documentation and sign-off.
6. Common Testing Types in Waterfall
-
Unit Testing (by developers before handoff)
-
Integration Testing
-
System Testing
-
Acceptance Testing