The SDLC and Where Testing Fits
The Software Development Life Cycle (SDLC) describes the stages a software project moves through, and testing activities are woven throughout it rather than confined to a single late phase.
Common SDLC Stages
While specific models vary, most SDLCs include requirements gathering, design, implementation, testing, deployment, and maintenance. Testing-related activities — like writing test cases from requirements — can and should begin long before any code is written.
- Requirements — testers review requirements for ambiguity or missing detail.
- Design — test plans and test cases are drafted against the design.
- Implementation — developers write code; unit tests are written alongside it.
- Testing — formal test execution across multiple levels.
- Deployment — smoke testing confirms the release works in its target environment.
- Maintenance — regression testing protects existing functionality as changes continue.
Shift-Left Testing
"Shift-left" testing means moving testing activities earlier in the SDLC — reviewing requirements, writing test cases early, and testing code as soon as it's written rather than waiting until the very end. Defects caught earlier are dramatically cheaper to fix.
Common Mistakes
- Treating testing as a single phase that only happens after all development is complete.
- Skipping requirements review, missing ambiguities that later cause disagreements about what "correct" behaviour even means.
- Writing test cases only after a feature is fully built, missing the chance to clarify unclear requirements earlier.
- Underestimating how much cheaper a defect is to fix when caught during design versus after release.
Professional Tip
The cost of fixing a defect grows the later it's found — a requirements-stage ambiguity is cheap to clarify with a question, but the same misunderstanding discovered in production can require significant rework, hence the industry's push toward "shifting testing left".
Your Turn
Take a simple feature idea (like a password reset flow) and list what testing-related activities could happen at each SDLC stage, before any code is even written.
Mini Quiz
What does "shift-left testing" mean?