The development model you work in determines when and how you test
A tester on a Waterfall project has one shot at system testing before release. A tester on a Scrum team tests every sprint. The same techniques apply — but the timing, scope, and frequency are completely different.
Understanding the software development lifecycle (SDLC) model your team uses is not optional for testers. It determines your test strategy, how early you get involved, and how defects are managed.
// example: spotify — sequential vs iterative testing
SDLC Models and Testing — CTFL 4.0.1
Sequential Development Models
Waterfall — phases flow in one direction: requirements → design → implementation → testing → deployment. Testing happens late, making defects expensive to fix.
V-Model — each development phase has a corresponding test phase. Requirements → Acceptance testing. System design → System testing. Component design → Integration testing. Coding → Unit testing. Testing is planned early even if executed later.
Iterative and Incremental Models
Iterative — the system is built in cycles. Each iteration may revisit requirements, design, and testing. Rational Unified Process (RUP) is an example.
Incremental — the system is built and delivered in pieces. Each increment adds functionality. Agile methods (Scrum, Kanban, XP) combine iterative and incremental approaches.
Agile and Testing
In Agile, testers are embedded in delivery teams. Testing happens within each sprint, alongside development. The test process is continuous, not a phase.
// tip: Exam Tip: The V-Model is the CTFL exam's reference model. Know which test level corresponds to which development phase — unit testing corresponds to component design, integration testing to system design, system testing to system requirements, and acceptance testing to user/business requirements.
V-Model: Development vs Testing Correspondence
| Development Phase (Left) | Testing Phase (Right) | Test Basis |
|---|---|---|
| User/Business Requirements | Acceptance Testing | Business requirements, user stories |
| System Requirements | System Testing | System requirements specification |
| High-Level Design | Integration Testing | System architecture, component interfaces |
| Detailed Design | Component/Unit Testing | Component specifications, code |
| Coding | ↑ All test levels execute here | — |
Key insight: In the V-Model, test planning and design happen on the left side (early), while test execution happens on the right side (after coding). This is why "early testing saves time and money" — problems are identified in test design long before execution.
// V-Model lifecycle flow
User Requirements
Acceptance Testing
System Requirements
System Testing
High-Level Design
Integration Testing
Detailed Design
Component Testing
Coding
← Execution happens here
Testing starts
Planned early, executed after coding
Flexibility
Low — test phases pre-defined
Best for
Safety-critical, regulated systems
Exam note
CTFL reference model — know the left/right correspondence
// Exam trap
V-Model plans tests early but executes after coding — do not confuse planning with execution.
SDLC Models Compared
| Aspect | Waterfall | V-Model | Agile (Scrum) |
|---|---|---|---|
| Testing start | After coding | Planned early, executed after coding | Every sprint from day one |
| Flexibility | Low — changes are costly | Low — test phases are pre-defined | High — scope changes each sprint |
| Defect cost | High — found late | Medium — planned but executed late | Low — found within the sprint |
| Documentation | Heavy — full specs upfront | Heavy — formal test plans | Lightweight — user stories, acceptance criteria |
| Best for | Stable, well-understood requirements | Safety-critical, regulated systems | Evolving requirements, fast delivery |
// warning: Exam Trap: "Agile means no documentation or no test planning." This is false. CTFL states that in Agile, testing activities still occur — they are just integrated into each iteration. Test planning, analysis, and design still happen, but in a lighter, continuous form.
Exam Practice Questions
// ctfl 4.0.1 style — select an answer to reveal explanation