Software Testing Life Cycle

  • Software Testing Life Cycle

    • The Software Testing Life Cycle (STLC) is a sequence of activities conducted to perform software testing. It consists of a series of activities carried out methodologically to help certify the software product

      • Requirements Analysis

      • Test Planning

      • Test Case Development

      • Environmental Setup

      • Test Execution

      • Test Cycle Closure

  • Entry and Exit Criteria

    • Software Testing Life Cycle (STLC) stages are generally executed sequentially

    • Entry Criteria

      • Gives the prerequisite items that must be completed before testing can begin

    • Exit Criteria

      • Defines the items that must be completed before testing can be concluded

    • In an ideal world, you will not enter the next stage until the exit criteria for the previous stage has been met. However, practically, this is not always possible

  • Requirements Analysis

    • Requirements are analyzed to determine how they can be validated

    • Requirement Type Considerations

      • Functional

        • define what the software must accomplish

      • Non-functional

        • define availability, capacity, continuity, and security

      • Activities:

        • Identify the types of tests to be performed.

        • Gather details about testing priorities and focus.

        • Prepare Requirement Traceability Matrix (RTM).

          • Helps to ensure that all requirements are captured.

          • Provides traceability between requirements and design.

          • Facilitates requirement change management.

          • Facilitates testing and validation.

          • Provides a reference for future maintenance and upgrade.

        • Identify test environment details where testing is supposed to be carried out.

        • Perform automation feasibility analysis (if required)

      • Requirements Analysis Stage Detail

        • STLC StageEntry CriteriaActivityExit CriteriaDeliverables

          Requirement Analysis

          Requirements Document available ( functional and nonfunctional). Acceptance criteria defined. Application architectural document available.

          • Analyze business functionality to know the business modules and module-specific functionalities.

          • Identify all transactions in the modules.

          • Identify all the user profiles.

          • Gather user interface/authentication and geographic-spread requirements.

          • Identify types of tests to be performed.

          • Gather details about testing priorities and focus.

          • Prepare Requirement Traceability (RTM).

          • Identify test environment details where testing is supposed to be carried out.

          • Automation feasibility analysis (if required).

          • Signed-off RTM.

          • Signed-off test automation feasibility report.

          • RTM.

          • Automation Feasibility report (if applicable).

          • List of questions with all answers to be resolved from business (e.g., testable requirements).

  • Test Planning

    • Also called the Test Strategy phase

    • Activities

      • Preparation of test plan/strategy document for various types of testing.

      • Test tool selection.

      • Test effort and cost estimation.

      • Resource planning and determination of roles and responsibilities.

      • Training requirements.

    • Test Planning Stage Detail

      • STLC StageEntry CriteriaActivityExit CriteriaDeliverables

        Test Planning

        Requirements

        Document.

        Requirement Traceability Matrix (RTM).

        Test automation feasibility report.

        • Analyze various approaches available.

        • Finalize on the best-suited approach.

        • Prepare test plan/strategy document for various types of testing.

        • Test tool selection.

        • Test effort estimation.

        Determine resource planning and roles and responsibilities.

        • Approved Test plan/strategy document.

        • Signed-off effort estimation document.

        • Test plan/strategy document.

        • Effort estimation document.

  • Test Case Development

    • Creation, verification, and rework of test cases and test scripts.

    • Test data, is identified/created and reviewed, and then may be reworked.

  • Activities:

    • Create test cases and automation scripts (if applicable).

    • Review and baseline test cases and scripts.

    • Create test data (if test environment is available).

  • Test Case Development Stage Detail

    • STLC Stage Entry CriteriaActivityExit CriteriaDeliverables

      Test Case Development

      Requirements

      Document.

      RTM and Test Plan.

      Test automation feasibility report.

      • Create test cases, test design, and automation scripts (where applicable).

      • Review and baseline test cases and scripts.

      • Create test data.

      • Reviewed and signed test cases/scripts.

      • Reviewed and signed test data.

      • Test cases and scripts.

      • Test data.

  • Test Environment Setup

    • Determines the software and hardware conditions under which a work product is to be tested.

    • The Test Environment is set up.

    • Activities:

      • Understand the required architecture and environment setup.

      • Prepare hardware and software requirements list for the test environment.

      • Set up test environment and test data.

      • Perform a smoke test on the build.

    • STLC StageEntry CriteriaActivityExit CriteriaDeliverables

      Test Environment setup

      • System design and architecture documents are available.

      • Environment set-up plan is available.

      • Understand the required architecture, environment setup.

      • Prepare hardware and software development requirement list.

      • Finalize connectivity requirements.

      • Prepare environment setup checklist.

      • Set up test environment and test data.

      • Perform smoke test on the build.

      • Accept/reject the build depending on smoke test result.

      • Environment

      setup is working per the plan and checklist.

      • Test data setup is

      complete.

      • Smoke test is successful.

      • Environment ready with

      test data setup.

      • Smoke test results.

    • Smoke Testing

      • Smoke testing is a software testing process that determines whether or not the deployed software build is stable.

        • The Aim of Smoke Testing:

          1. To detect any early defects in a software product.

          2. To demonstrate system stability.

          3. To demonstrate conformance to requirements.

          4. To assure that the acute functionalities of the program are working properly.

          5. To measure the stability of the software product by performing testing.

          6. To test all of the functions of the software product.

    • Test Execution

      • Testing performed per test plans and test cases.

      • Bugs reported to the development team for correction.

      • Retesting performed after correction.

      • Activities:

        • Execute tests per Test Plan.

          • Document test results and log defects for failed test cases.

          • Map defects to test cases in RTM.

          • Retest the defects submitted and fixed by the development group.

          • Track the defects to closure.

      • Test Execution Stage Detail

        • STLC StageEntry CriteriaActivityExit CriteriaDeliverables

          Test Execution

          • Baselined RTM,

          Test Plan, and Test case/scripts are available.

          • Test environment is ready.

          • Test data setup is done.

          • Unit/Integration test report for the build to be tested is available.

          • Execute tests per plan.

          • Document test results and log defects for failed cases.

          • Update test plans/test cases, if necessary.

          • Map defects to test cases in RTM Retest the defect fixes.

          • Regression Testing of application.

          • Track the defects to closure.

          • All tests planned are executed.

          • Defects logged and tracked to closure.

          • Completed RTM with execution status.

          • Test cases updated with results.

          • Defect reports.

  • Regression Testing

    • Regression testing is a type of software testing, wherein test cases are re-executed to check that the previous functionality of the application is working properly, and that the new changes have not produced any bugs.

    • Regression testing can be performed on a new build when there is a significant change in the original functionality. It ensures that the code still works even when the changes are occurring. Regression means retesting those parts of the application that are unchanged.

    • Whenever the bug is fixed, we retest the Bug, and if there is any dependent module, we conduct Regression Testing.

  • Test Cycle Closure

    • Activities:

      • Evaluate cycle completion criteria based on time, test coverage, cost, software, critical business objectives, and quality.

      • Prepare test metrics based on the cycle completion criteria.

      • Document the learning out of the project.

      • Prepare test closure report.

      • Provide a qualitative and quantitative quality report to the customer.

      • Test the results analysis for the defect distribution by type and severity.

    • Test Closure Stage Detail

      • STLC Stage Entry CriteriaActivityExit CriteriaDeliverables

        Test Cycle closure

        Testing has been completed.

        Test results are available.

        Defect logs are available.

        • Evaluate cycle completion criteria based on time, test, cost, software quality, and critical business objectives.

        • Prepare test metrics based on the above parameters.

        • Document the learning out of the project.

        • Prepare test closure report.

        • Provide a qualitative and quantitative quality report of the to the customer.

        • Review test result analysis to find out the defect distribution by type and severity.

        N/A

        • Test Closure Report.

Last updated