Stlc in Software Testing

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

The Software Testing Life Cycle, often known as the STLC, is a series of distinct actions that are carried out during the testing process to guarantee that the desired levels of software quality are achieved. Activities consisting of verification and validation are included in STLC. In contrast to what most people believe, software testing is not just a single, stand-alone activity, which we will refer to simply as testing. In order to assist in the certification of your software product, it is comprised of a set of activities that are carried out in a systematic manner. The abbreviation STLC refers to the Software Testing Life Cycle.
Phases of STLC
Every Software Testing Life Cycle Model, also known as an STLC Model, is comprised of the following six primary phases:

STLC Phases

Entry Criteria: Entry Criteria provides the tasks that must be done before testing can begin. These items are called prerequisites.
Exit Criteria: Exit Criteria delineates the tasks that have to be carried out in order for testing to be considered successful.
At every stage of the Software Testing Life Cycle, there is a set of entry and exit criteria to follow (STLC)

In a perfect world, you won’t be able to go to the following level until all of the requirements for leaving the one before it have been satisfied. However, in terms of practicality, this is not always achievable. In light of this, for the purposes of this tutorial, we will concentrate on the activities and deliverables that correspond to the various stages of the STLC life cycle. Let’s delve more into those particulars, shall we?

What is Entry and Exit Criteria in STLC?

Testing performed during the Requirement Phase, also referred to as Requirement Analysis, involves a team of testers examining the requirements from a testing perspective in order to identify testable requirements. During this phase, the QA team may interact with a variety of stakeholders in order to gain a deeper understanding of the requirements. There is a distinction between functional and non-functional requirements. In this stage of the process, we also investigate the possibility of automating the testing project.

Requirement Phase Testing

Determine the different kinds of examinations that will be carried out.
Collect information regarding the focus and priorities of the test.
Create a Traceability Matrix for the Requirements (RTM).
Determine the specifics of the testing environment in which the testing is intended to take place.
An investigation on the potential for automation (if required).
Deliverables from the Testing Phase of the Requirement Phase

A report on the viability of RTM Automation. (if applicable)

Test Planning in STLC

During the Test Planning phase of the STLC process, a Senior QA manager is responsible for determining the test plan strategy, as well as providing estimates of the amount of work and money associated with the project. In addition, the resources, test environment, test constraints, and testing schedule are all figured out at this point. During this phase, both the preparation of the Test Plan and its finalisation will take place.

Activities in the Planning of Tests

Preparation of documents including test plans and test strategies for a variety of sorts of testing
The selection of testing tools
Test effort estimation
The planning of resources as well as the assignment of jobs and tasks.
Training required
Products to be Obtained from Test Planning

Test plan /strategy document.
Effort estimation document.

Test Case Development Phase

After the test strategy is completed, the next step, known as the Test Case Development Phase, involves the design, verification, and rework of test cases as well as test scripts. First, the Test data are located, then created and examined, and then revised according to the preconditions. The quality assurance team will then begin the process of developing test cases for each individual unit.

Activities Related to the Development of Test Cases

Develop test cases in addition to automation scripts (if applicable)
Conduct a review and establish a baseline for the test cases and scripts.
Create test data (If Test Environment is available)
Produced Results from the Development of Test Cases

Test cases/scripts
Test data

Test Environment Setup

Test Environment Setup is responsible for determining the software and hardware conditions that a work product will be tested under. It is possible to complete it at the same time as the Test Case Development Phase, which is convenient given that it is one of the most important components of the testing process. If the development team is the one to offer the testing environment, the testing team might not be required to participate in this activity. The test team is obligated to do a readiness check (also known as smoke testing) on the environment that has been provided.

Test Execution Phase

Gain an understanding of the necessary architecture, then set up the necessary environment, and compile a list of the hardware and software requirements for the Test Environment.
Setup test Environment and test data
Carry out a smoke test on the structure.
Deliverables for the Setting Up of the Test Environment

Prepared environment, complete with data for testing
Smoke Test Results.

Test Cycle Closure

Testers are responsible for carrying out the Test Execution Phase, which involves testing the software build in accordance with test plans and test cases that have been established. Execution of test scripts, maintenance of test scripts, and the reporting of bugs are the components of the process. If errors are found, the product will be sent back to the development team so that it may be fixed, and then it will go through another round of testing.

Activities Related to the Execution of Tests

Execute tests as per plan
Record the results of the tests and make a note of any faults in the failed cases.
In the RTM version, map defects to test cases.
Retest the corrections for the defects.
Follow the defects until they are fixed.
Products of the Test’s Actual Execution

RTM with the execution status has been completed.
Cases of testing brought up to date with findings
Reports of defects
Test Cycle Closure
The Test Cycle Closure phase marks the end of the test execution phase and includes a number of actions, including the reporting of test completion, the gathering of test completion matrices, and the evaluation of test findings. Members of the testing team get together to talk about and examine testing artefacts in order to determine tactics that need to be applied in the future, based on the lessons learned during the current test cycle. The goal here is to free up more time for testing in the future by eliminating any bottlenecks in the process.

Test Cycle Closure Activities

Examine the criteria for cycle completion based on factors like time, test coverage, cost, software, critical business objectives, and quality.
Create test metrics by basing them on the parameters described above.
The lessons that were learned from the project should be documented.
Prepare Test closure report
reporting to the client, both qualitatively and quantitatively, on the quality of the finished work output.
Analysis of the test results to determine the distribution of defects according to kind and severity.
Deliverables Upon Completion of the Test Cycle

STLC Phases along with Entry and Exit Criteria

STLC Stage Entry Criteria Activity Exit Criteria Deliverables
Requirement Analysis
  • Requirements Document available (both functional and non functional)
  • Acceptance criteria defined.
  • Application architectural document available.
  • Analyse 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, geographic spread requirements.
  • 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).
  • Signed off RTM
  • Test automation feasibility report signed off by the client
  • RTM
  • Automation feasibility report (if applicable)
Test Planning
  • Requirements Documents
  • Requirement Traceability matrix.
  • Test automation feasibility document.
  • Analyze various testing approaches available
  • Finalize on the best-suited approach
  • Preparation of test plan/strategy document for various types of testing
  • Test tool selection
  • Test effort estimation
  • Resource planning and determining roles and responsibilities.
  • Approved test plan/strategy document.
  • Effort estimation document signed off.
  • Test plan/strategy document.
  • Effort estimation document.
Test case development
  • Requirements Documents
  • RTM and test plan
  • Automation analysis report
  • Create test cases, test design, 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/scripts
  • Test data
Test Environment setup
  • System Design and architecture documents are available
  • Environment set-up plan is available
  • Understand the required architecture, environment set-up
  • Prepare hardware and software development requirement list
  • Finalize connectivity requirements
  • Prepare environment setup checklist
  • Setup test Environment and test data
  • Perform smoke test on the build
  • Accept/reject the build depending on smoke test result
  • Environment setup is working as per the plan and checklist
  • Test data setup is complete
  • Smoke test is successful
  • Environment ready with test data set up
  • Smoke Test Results.
Test Execution
  • Baselined RTM, Test Plan , Test case/scripts are available
  • Test environment is ready
  • Test data set up is done
  • Unit/Integration test report for the build to be tested is available
  • Execute tests as 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
Test Cycle closure
  • Testing has been completed
  • Test results are available
  • Defect logs are available
  • Evaluate cycle completion criteria based on – Time, Test coverage, Cost, Software Quality, Critical Business Objectives
  • 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
  • Test Closure report signed off by client
  • Test Closure report
  • Test metrics