Software Testing - Software Testing Life Cycle

The Software Testing Life Cycle (STLC) is a step-by-step process that defines all the activities carried out during the testing of software.
It ensures testing is systematic, efficient, and effective.


Phases of STLC

1. Requirement Analysis

  • Goal: Understand what needs to be tested.

  • Activities:

    • Analyze functional and non-functional requirements.

    • Identify testable requirements.

    • Review with stakeholders.

  • Output: Requirement Traceability Matrix (RTM), clarification documents.


2. Test Planning

  • Goal: Define the testing strategy and resources.

  • Activities:

    • Decide test scope, objectives, schedule, budget.

    • Identify test environment needs and tools.

    • Assign roles and responsibilities.

  • Output: Test Plan document.


3. Test Case Design (Test Design)

  • Goal: Create detailed test cases and test data.

  • Activities:

    • Write test cases for each requirement.

    • Prepare test data.

    • Review and approve test cases.

  • Output: Test cases, test scripts.


4. Test Environment Setup

  • Goal: Prepare hardware, software, and network for testing.

  • Activities:

    • Configure systems and tools.

    • Install required software builds.

    • Ensure environment matches production as closely as possible.

  • Output: Ready test environment.


5. Test Execution

  • Goal: Run the test cases on the software build.

  • Activities:

    • Execute tests (manual or automated).

    • Log results and defects.

    • Retest after fixes.

  • Output: Test execution reports, defect reports.


6. Test Closure

  • Goal: Finalize and evaluate the testing process.

  • Activities:

    • Assess if testing objectives were met.

    • Document lessons learned.

    • Archive test artifacts for future reference.

  • Output: Test summary report, closure report.