Software Testing - Life Cycle



Software Testing Life Cycle (STLC) is a conventional process segregated in multiple phases. It is followed by a team to finish testing at every stage for a quality software. STLC is a slice of the Software Development Life Cycle (SDLC) and is only limited to the testing activities in software development.

Features of STLC

The features of STLC are listed below −

  • STLC is the rudimentary part of the SDLC.
  • STLC begins from the time requirements are shared from the client’s side.
  • STLC is a methodical approach to achieve software quality.

What is STLC?

Typically, the STLC should begin right from the start of the project when the requirements have been shared by the customers. It is introduced to make the testing process more methodical.

In the beginning stages of the STLC, the testers are mostly involved in analyzing the requirements and coming up with a plan and a strategy to test the software thoroughly. Thus the initial phases of the STLC mainly involve defining the periphery of testing, how much testing is to be done, looking for scopes to reduce the test cycle without compromising the quality etc. At this time, the developers are mostly involved in creating the software from scratch. The test plan and test strategy are the deliverables at the early stages of the STLC.

Based on the test plan, and test strategy, a collective decision is made by the project stakeholders on the testing approaches to be taken, tools to be used for testing, resources, environments, scopes, skills needed for the team, the timelines, percentage of manual and automation test cases etc. Then, the test team identifies the probable use cases, scenarios, data, and other details required to create the test cases involving all the requirements. As all these items are approved and reviewed by the product stakeholders, the focus of the test team shifts to actually building the test cases.

A Requirement Traceability Matrix (RTM) is made to map every requirement to at least one test case and to ensure all possible scenarios - positive, negative, and edge are covered. As the software development has been completed, the testing team begins verifying it. The detailed execution of test cases results in detecting defects and verifying if all the features of the software are working as expected.

Various Stages of STLC

The various stages of the STLC are listed below −

Requirement Analysis

In the requirement analysis phase of the STLC, the requirements are shared to the team by the clients. Then the testing team goes through these requirements, analyzes them, and comes up with the planning and strategizing of the testing process. It is very important to have a proper test plan and strategy in place for ensuring quality software.

Test Planning

In the test planning phase of the STLC, the project managers and leads come together and come up with a test plan. These documents contain information on the items in scope, out of scope, budget, approach, methodologies, tasks of individual team members, estimations, number of testing cycles, team size, tools, additional resources, percentage of automation and manual testing efforts etc.

Test Strategizing

In the test strategizing phase of the STLC, the project managers and leads come together with a strategy document. Once a test strategy document has been developed, it is normally not changed till the project end. In the test strategizing phase, mainly the protocolos and methods to be adopted for testing are finalized.

Environment Identification

In the environment identification phase of the STLC, the correct environment in which software is to be verified is identified. A normal sanity check to ensure that it meets the minimum requirements to test the software should be done before starting the testing process.

Test Data Identification

In the test data identification phase of the STLC, the correct inputs, and data in which software is to be verified are identified.

Designing of the Test Cases

In the test case designing phase of the STLC, all the possible use cases, and scenarios (positive, negative, edge) identified from the requirements are converted into test cases. A proper review along with approvals (from the stakeholders) are taken for them to ensure test coverage and software quality. Also, RTM, and all standard test processes, and principals are followed in this phase.

Execution of the Test Cases

In the test case execution phase of the STLC, all the test cases are executed to verify if the software is working as expected and all the areas of potential defects are identified.

Defect Logging

In the defect logging phase of the STLC, all the defects detected during the execution phase are documented, triaged, fixed, and brought to proper closure.

Test Closure

In the test closure phase of the STLC, all the detailed reports on test execution (count of test cases, passed, failed, percentage of failure, impacted modules, defects etc), and metrics are documented, and shared with all project stakeholders.

What Role Does the STLC Play in SDLC?

The main aim of SDLC is to create quality software. However, to measure if it is working as per the requirements and it is good enough to be shipped to the customers, the STLC is introduced. Thus STLC plays a crucial role in SDLC to identify the errors and defects and to resolve them.

STLC is an important step towards ensuring if the software being developed is as per the functional and non-functional requirements. It is seen that a high quality software needs less maintenance efforts in future. The STLC ensures that the software is stable, usable, reliable, has all the security features, good performance etc. In short, to make the software relevant in the industry for a long time, STLC is a very important step.

Entry and Exit Criteria in STLC

The entry criterias are the conditions which should be satisfied prior to the beginning of the testing process and the exit criterias are the items which should be completed before software moves to the next stages of the SDLC. The entry and exit criteria are defined for all the testing levels and phases in the STLC.

Conclusion

This concludes our comprehensive take on the tutorial on Software Testing Life Cycle. We’ve started with describing what is a STLC, various stages of the STLC, what role does the STLC play in SDLC, and what is the entry and exit criteria in STLC. This equips you with in-depth knowledge of the Software Testing Life Cycle. It is wise to keep practicing what you’ve learned and exploring others relevant to Software Testing to deepen your understanding and expand your horizons.

Advertisements