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.

Leave a Comment