Software Testing SDLC and Testing
The Software Development Life Cycle (SDLC) is the step-by-step process used to plan, create, test, and deliver software. Testing is not a single step at the end — it runs through the entire cycle.
The SDLC Phases
1. Requirement Gathering
|
v
2. System Design
|
v
3. Development (Coding)
|
v
4. Testing
|
v
5. Deployment
|
v
6. Maintenance
Each phase produces output that the next phase uses. Testing checks the quality of that output at every stage — not just in Phase 4.
Where Testing Fits in Each Phase
Phase 1: Requirement Gathering
Testers review requirements to find ambiguities, contradictions, and gaps. A requirement that says "the app should be fast" is not testable. A requirement that says "the homepage must load in under 3 seconds on a 4G connection" is testable. Testers flag the vague ones early.
Phase 2: System Design
Testers study the architecture and design documents. They start creating test plans based on how the system is supposed to be built. Problems found in the design phase are far cheaper to fix than problems found in code.
Phase 3: Development
Developers write code and test their own units. Testers prepare test cases, set up test environments, and get ready for integration testing. Both teams work in parallel, not in sequence.
Phase 4: Testing
This is the dedicated testing phase. Testers execute all test cases, report bugs, and verify fixes. Regression testing checks that new fixes did not break anything that was previously working.
Phase 5: Deployment
Before and after release, testers perform smoke tests to confirm basic functionality works in the live environment. This is a quick pass, not a full test cycle.
Phase 6: Maintenance
After launch, the software receives updates and patches. Every change gets tested to ensure it does not introduce new bugs.
Popular SDLC Models and Their Approach to Testing
Waterfall Model
Requirements → Design → Code → TEST → Deploy → Maintain
Testing happens after development is complete. This is the traditional approach. Bugs found late are expensive to fix.
V-Model (Verification and Validation)
Requirements ────────────── Acceptance Testing
| |
System Design ────────── System Testing
| |
Architecture Design ── Integration Testing
| |
Coding ──────── Unit Testing
Every development phase has a matching test phase. Testing is planned from the very beginning. This model ensures that testers understand what to check at each level before code is even written.
Agile Model
[Sprint 1] Plan → Build → Test → Review [Sprint 2] Plan → Build → Test → Review [Sprint 3] Plan → Build → Test → Review
Testing happens inside every sprint. Testers and developers collaborate continuously. Bugs are found and fixed within days, not weeks.
STLC: The Software Testing Life Cycle
Just as development has the SDLC, testing has its own life cycle called the STLC. It defines the specific steps a testing team follows.
1. Requirement Analysis
|
v
2. Test Planning
|
v
3. Test Case Development
|
v
4. Test Environment Setup
|
v
5. Test Execution
|
v
6. Test Closure
Requirement Analysis
Testers study what the software must do and identify what is testable.
Test Planning
The test lead creates a test plan that defines scope, resources, schedule, and tools.
Test Case Development
Testers write detailed test cases and prepare test data.
Test Environment Setup
Testers configure the servers, databases, and devices where tests will run.
Test Execution
Tests are run, results are recorded, and bugs are reported.
Test Closure
The team reviews what was tested, what was found, and produces a summary report.
Why Testers Must Understand the SDLC
A tester who only knows how to click buttons cannot contribute to the early phases. A tester who understands the SDLC can review requirements, flag design flaws, and produce meaningful reports that help the whole team build better software. Understanding the SDLC is what separates a skilled tester from someone who just follows scripts.
