19.3.1 Testing Life Cycle


The Software Testing Life Cycle (STLC) defines the series of activities undertaken during the testing process to ensure the quality of a software or product. Each phase has specific deliverables and is integral to the overall testing objective. Here’s a step-by-step breakdown of the STLC:

1. Requirement Analysis

  • Purpose: Understand the testing requirements based on the software’s functionality and specifications.
  • Activities:
    • Identify the type of tests to be performed.
    • Review the software documentation to understand its features and functionalities.
    • Communicate with stakeholders, like developers, business analysts, and product owners, to clarify doubts.
  • Deliverables: Requirement Traceability Matrix (RTM), which maps requirements to their respective test cases.

2. Test Planning

  • Purpose: Create a plan that details the scope, objectives, resources, budget, and timeline of testing activities.
  • Activities:
    • Select testing tools and methodologies.
    • Define test objectives and criteria for the successful completion of testing.
    • Estimate required resources, time, and budget.
    • Plan risk assessment and mitigation strategies.
  • Deliverables: Test Plan Document.
  • 3. Test Design

    • Purpose: Design the test cases, scenarios, and scripts based on gathered requirements.
    • Activities:
      • Design detailed test cases and organize them into test suites.
      • Set up test data, which is crucial for executing certain test cases.
      • Create test scripts for automation, if applicable.
  • Deliverables: Test cases, Test data, Test scripts.
  • 4. Test Execution

    • Purpose: Execute the test cases on the software or product.
    • Activities:
      • Execute test cases either manually or using automation tools.
      • Document test results and logs.
      • Retest defects after they’re fixed.
  • Deliverables: Test results, logs, and defect reports.
  • 5. Defect Reporting and Tracking

    • Purpose: Identify, report, and track defects found during test execution.
    • Activities:
      • Log defects with detailed information for reproduction.
      • Assign a severity and priority level to each defect.
      • Track defect status and ensure effective communication with the development team for resolutions.
  • Deliverables: Defect reports and defect tracking logs.
  • 6. Test Closure

    • Purpose: Conclude the testing phase and gather metrics and insights.
    • Activities:
      • Analyze the testing phase for metrics like defect density, pass percentage, and more.
      • Document lessons learned, best practices, and areas of improvement.
      • Close testing, ensuring all criteria are met and objectives achieved.
  • Deliverables: Test closure report, test metrics.
  • Conclusion

    The Software Testing Life Cycle offers a structured approach to the testing process, ensuring systematic identification and resolution of defects. Especially in critical domains like telecommunications and IT, following the STLC is crucial to deliver products that are reliable, efficient, and meet user expectations.



    Key terms in plain language

    Open a term for a concise explanation of language used on this page.

    Artificial Intelligence (AI)

    Software designed to perform tasks involving prediction, classification, generation, reasoning, or decision support. Business use still requires clear data, governance, security, and human accountability.

    API

    An application programming interface is a defined way for software systems to exchange data or request functions from one another.

    Cloud Computing

    Computing resources—such as applications, servers, storage, or databases—delivered from remote infrastructure and scaled as requirements change.

    Cybersecurity

    The practices and controls used to protect identities, devices, networks, applications, and data from unauthorized access, disruption, or manipulation.

    Identity and Access Management (IAM)

    The systems and policies that determine who a user is, what resources they may access, and how that access is authenticated and reviewed.

    Bandwidth

    The amount of data a connection can carry in a given time, usually measured in Mbps or Gbps. More bandwidth supports more users, devices, and simultaneous applications.