blog

What Is Software Testing Life Cycle

Let us begin by answering two questions. What is Software Testing? and Why do we need Software Testing?

 

Let’s see the answer for the first question- What is Software Testing? To put it simply, Software Testing is the process of running a program or application in order to detect software bugs.

 

Further explanation would mean the process of validating and verifying if a software program or application or product,

  • Fulfills the business and technical requirements that led to its design and development
  • Works appropriately and can be implemented with the same characteristic.

 

Now coming to answer the second question, Why do we need Software Testing? Software testing is required to detect bugs in softwares. It is also done to test if the software meets the requirements of the customers.

 

It is possible that sometimes human errors can lead to producing a software that does not meet customers requirements.

 

What Is Testing Life-Cycle?

Life-cycle simply signifies the sequence of changes from one form to another form. Such changes can be easily seen in both tangible and intangible things. Every entity on earth has a lifecycle from its beginning to demise.

 

Similarly, software is also an entity. Like how developing software, involves a sequence of steps, testing also involves steps that have to be executed in a definite sequence. This manner of executing testing in a systematic and planned way is called Testing Life Cycle.

 

STLC Life Cycle (Software Testing Life Cycle), Entry and Exit Criteria

Software Testing Life Cycle or STLC Life Cycle comprises of 6 phases. The STLC process is executed in a sequential manner to meet the quality goals. The testing team does the STLC work in a company or an organization.

 

Before the different phases begin and end, the Entry Criteria and the Exit Criteria have to be fulfilled. Entry Criteria indicates the prerequisite items that have to be completed before testing can begin. The Exit Criteria mentions the items that must be completed before the conclusion of a test. The Entry and Exit Criteria is necessary at all levels of the Software Testing Life Cycle (STLC).

 

The Six Phases Of Software Testing Life Cycle (STLC)

The six phases of the STLC are,

 

  • Requirement Analysis
  • Test Planning
  • Test Case Development
  • Environment Setup
  • Test Execution and
  • Test Cycle Closure

 

Now let us see what process will be undertaken in each phase, classified on the basis of Entry Criteria, Activities Involved, Exit Criteria and Deliverables.

 

Requirement Analysis

Requirement Analysis is the first step in STLC. The testing team looks at the Requirement document with both functional and non-functional details in order to identify the testable requirements.

Entry Criteria

  • Requirements specifications and
  • Document of application architectural

 

Activities Involved

  • Analyze the System Requirement specifications from a testing point of view.
  • To prepare Requirement Traceability Matrix (RTM).
  • To identify testing techniques and testing types.
  • To prioritize features that require focused testing.
  • To analyze automation feasibility and
  • Identify the details about the testing environment where actual testing will be done.

 

Exit Criteria

  • RTM should be signed off and
  • The customer should sign off on the test automation feasibility

 

Deliverables

  • Procurement of the Requirement Traceability Matrix (RTM) and
  • Automation Feasibility report if applicable.

 

Test Planning

In this phase, all the testing strategies are defined. The Test Manager will determine the cost and effort of the entire project.

Entry Criteria

  • Requirements documents and
  • Automation Feasibility Report

 

Activities

  • To estimate the testing effort
  • To select the testing approach
  • To prepare the Test Plan and Test strategy documents
  • Resource planning and assigning of roles and responsibilities
  • Selection of Testing tool

 

Exit Criteria

  • Approved test plan and test strategy document
  • Effort estimation document

 

Deliverables

  • To procure the Test Plan or Test strategy document and
  • Testing Effort estimation document

 

Test Case Development

Here the testing team writes down the detailed test cases. If required they also prepare the test data. Obviously, RTM is also prepared.

Entry Criteria

  • Availability of the Requirements Documents and
  • The automation feasibility report.

 

Activities Involved

  • To create test cases
  • To create test scripts if required
  • To verify test cases and automation scripts and
  • To create test data in the testing environment

 

Exit Criteria

  • Reviewed test cases
  • Reviewed test automation scripts and
  • Test data creation ready for testing

 

Deliverables

  • You have the test cases
  • Test data and
  • Test Automation Scripts, if required.

 

Test Environment Set Up

This phase involves the setup or installation process of software and hardware that is required to test the application.

Entry Criteria

  • Availability of Test Plan
  • Availability of Smoke Test cases and
  • Availability of test data.

 

Activities Involved

  • Based on the Requirement and Architecture document the list of required software and hardware is prepared.
  • To set up the test environment
  • To create test data and
  • After the Test Environment is set up we have to execute the Smoke test cases in order to check the readiness of the test environment.

 

Exit Criteria

  • Environment setup is ready for testing
  • Installed required software and hardware
  • Build installation is complete and successful
  • Completion of test data creation and
  • Completion of Smoke testing.

 

Deliverables

  • The Test Environment is ready with test data and
  • We have the results of the Smoke test cases.

 

Test Execution

In this phase, the testing team begins to execute test cases based on the prepared test planning and prepared test cases.

 

Entry Criteria

  • To procure the Test Plan or Test strategy document
  • Test cases and
  • Test data

 

Activities Involved

  • To execute test cases
  • To report test results
  • Logging defects for the failed test cases
  • To verify and retest the defect and
  • Closure of defects

 

Exit Criteria

  • Execution of all test cases and
  • Defects are logged and tracked for closure

 

Deliverables

  • Test case execution report and
  • Defect report

 

Test Cycle Closure

The Test Cycle Closure process is where you meet with the testing team members. You discuss and evaluate cycle completion criteria based on Test coverage, Quality, Cost, Time, Critical Business Objectives, and Software.

 

You brush up on what all went good and which area needs improvement. You also acquire lessons from current STLC as input to upcoming test cycles. This will also help in reducing bottlenecks in the future STLC processes.

 

Entry Criteria

  • Completion of Test Case Execution
  • Report of the Test Case Execution and
  • Defect Report

 

Activities Involved

  • Evaluate test completion based on Test Coverage and Software Quality
  • Documentation of learning from the project
  • To analyze the test results in order to find out the distribution of severe defects.
  • Preparation of the Test Closure report.

 

Exit Criteria

We procure the signed off Test Closure report by the client.

 

Deliverables

  • Test Closure report and
  • Test metrics

 

The above mentioned six phases are essential to complete the STLC process. These processes are carried out meticulously to ensure that the product quality fulfills the demanded expectations.


2 Comments

  • Adithya Sharma

    December 29, 2018

    As a software testing student I got to learn a lot from this blog. I found your website very useful and I would like to recommend this site to everyone there . Keep sharing the knowledge .!!!

    Reply
  • Siya begam

    January 2, 2019

    Wonderful post. I am learning so many things from your blog. keep posting.

    Reply

Leave a Reply