05 | STLC

Published on Aug 11, 2021 | By Tesvan team

What is Software Testing Life Cycle?

 

Software Testing Life Cycle (STLC) is a sequence of specific activities conducted during the testing process to ensure software quality goals are met. STLC involves both verification and validation activities. Contrary to popular belief, Software Testing is not just a single/isolate activity, i.e. testing. It consists of a series of activities carried out methodologically to help certify your software product. STLC stands for Software Testing Life Cycle.

There are following six major phases in every Software Testing Life Cycle Model (STLC Model):

  1. Requirement Analysis
  2. Test Planning
  3. Test case development
  4. Test Environment setup
  5. Test Execution
  6. Test Cycle closure

 

Requirement Collection and analysis

Requirement Phase Testing also known as Requirement Analysis in which test team studies the requirements from a testing point of view to identify testable requirements and the QA team may interact with various stakeholders to understand requirements in detail. Requirements could be either functional or non-functional. Automation feasibility for the testing project is also done in this stage.

Activities in Requirement Phase Testing

  • Identify types of tests to be performed. 
  • Gather details about testing priorities and focus.
  • Prepare Requirement Traceability Matrix (RTM).
  • Identify test environment details where testing is supposed to be carried out.
  • Automation feasibility analysis (if required).

Deliverables of Requirement Phase Testing

  • RTM
  • Automation feasibility report. (if applicable)

 

Test Planning

Test Planning in STLC is a phase in which a Senior QA manager determines the test plan strategy along with efforts and cost estimates for the project. Moreover, the resources, test environment, test limitations and the testing schedule are also determined. The Test Plan gets prepared and finalized in the same phase.

Test Planning Activities

  • Preparation of test plan/strategy document for various types of testing
  • Test tool selection
  • Test effort estimation
  • Resource planning and determining roles and responsibilities.
  • Training requirement

Deliverables of Test Planning

  • Test plan /strategy document.
  • Effort estimation document.

 

Test Case Development

The Test Case Development Phase involves the creation, verification and rework of test cases & test scripts after the test plan is ready. Initially, the Test data is identified then created and reviewed and then reworked based on the preconditions. Then the QA team starts the development process of test cases for individual units.

Test Case Development Activities

  • Create test cases, automation scripts (if applicable)
  • Review and baseline test cases and scripts
  • Create test data (If Test Environment is available)

Deliverables of Test Case Development

  • Test cases/scripts
  • Test data

 

Test Environment Setup

Test Environment Setup decides the software and hardware conditions under which a work product is tested. It is one of the critical aspects of the testing process and can be done in parallel with the Test Case Development Phase. Test team may not be involved in this activity if the development team provides the test environment. The test team is required to do a readiness check (smoke testing) of the given environment.

Test Environment Setup Activities

  • Understand the required architecture, environment set-up and prepare hardware and software requirement list for the Test Environment.
  • Setup test Environment and test data
  • Perform smoke test on the build

Deliverables of Test Environment Setup

  • Environment ready with test data set up
  • Smoke Test Results.

 

Test Execution

Test Execution Phase is carried out by the testers in which testing of the software build is done based on test plans and test cases prepared. The process consists of test script execution, test script maintenance and bug reporting. If bugs are reported then it is reverted back to development team for correction and retesting will be performed.

Test Execution Activities

  • Execute tests as per plan
  • Document test results, and log defects for failed cases
  • Map defects to test cases in RTM
  • Retest the Defect fixes
  • Track the defects to closure

Deliverables of Test Execution

  • Completed RTM with the execution status
  • Test cases updated with results
  • Defect reports

 

Test Cycle Closure

Test Cycle Closure Activities

  • Evaluate cycle completion criteria based on Time, Test coverage, Cost,Software, Critical Business Objectives, Quality
  • Prepare test metrics based on the above parameters.
  • Document the learning out of the project
  • Prepare Test closure report
  • Qualitative and quantitative reporting of quality of the work product to the customer.
  • Test result analysis to find out the defect distribution by type and severity.

Deliverables of Test Cycle Closure

  • Test Closure report
  • Test metrics

 

 

Useful links
1. STLC /video tutorial/eng/
2. STLC /video tutorial/eng/
3. SDLC vs STLC /video tutorial/eng/
4. STLC /video tutorial/rus/
5. STLC /article/eng/
6. SDLC vs STLC /article/rus/

Next Lessons


06 | Verification and Validation

Aug 11, 2021

Verification and Validation VerificationVerification in Software Testing is a process of checking documents, design, code, and program in order to check if the ...

By Tesvan team

07 | Unit testing

Aug 12, 2021

Testing levels There are mainly four Levels of Testing in software testing Unit testingA Unit is a smallest testable portion of system or application which can ...

By Tesvan team

08 | Integration testing

Aug 12, 2021

Integration testing Integration means combining. For Example, in this testing phase, different software modules are combined and tested as a group to make sure ...

By Tesvan team

09 | System testing

Aug 12, 2021

System testing System testing is performed on a complete, integrated system. It allows checking system's compliance as per the requirements. It tests the overal...

By Tesvan team

10 | Acceptance testing

Aug 12, 2021

Acceptance testing Acceptance testing is a test conducted to find if the requirements of a specification or contract are met as per its delivery. Acceptance tes...

By Tesvan team

Interesting For You



32 | Kanban methodology

Aug 18, 2021 | By Tesvan team

Kanban methodology Visualize what you do today (workflow): seeing all the items in context of each other can be very informativeLimit the amount of work in prog...

09 | System testing

Aug 12, 2021 | By Tesvan team

System testing System testing is performed on a complete, integrated system. It allows checking system's compliance as per the requirements. It tests the overal...