Software Testing - Life Cycle



Software Testing Life Cycle is a conventional process segregated in multiple phases. The Software Testing Life Cycle is followed by test teams to finish every testing stage for a quality product. The Software Testing Life Cycle is a slice of the Software Development Life Cycle and only limited to the testing activities in a software development.

What is Software Testing Life Cycle?

Typically, the Software Testing Life Cycle should begin right from the start of the project when the requirements have been shared by the customers and other stakeholders of the product. The Software Testing Life Cycle is introduced to make the testing process methodical.

In the beginning stages of the Software Testing Life Cycle, the testers are mostly involved in analyzing the requirements and coming with a plan and strategy to test the product thoroughly. Thus the initial phase of the Software Testing Life Cycle mainly involves defining the periphery of testing, how much testing to be done, and looking for scope to reduce the cycle of testing without compromising the product quality.

At this time, the developers are mostly involved in creating the product from scratch. The test plan and test strategy are the deliverables at the early stages of the Software Testing Life Cycle.

Based on the the test plan, and test strategy, a collective decision is made by the project stakeholders on the testing approach 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, and so on. Once these are finalized, 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 are approved and reviewed by the product owner, and leads, the focus of the test team shifts to actually building the test cases. A Requirement Traceability Matrix is made to map every requirement to at least one test case and to ensure all possible scenarios - positive, negative, and edge are covered in the test cases.

Once the development team is ready with the product, the testing team can begin verifying the product with their test cases. The detailed execution of these test cases, help the testers to detect bugs in the product, thereby helping to create a quality product.

Various Stages of Software Testing Life Cycle

The various stages of the Software Life Cycle are listed below −

  • Requirement Analysis
  • Test Planning
  • Test Strategizing
  • Environment Identification
  • Test Data Identification
  • Designing of the Test Cases
  • Execution of the Test Cases
  • Defect Logging
  • Test Closure

Requirement Analysis

In this phase of the Software Testing Life Cycle, the requirements are shared to the team by customers or project stakeholders, and 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 a quality product.

Test Planning

In this phase of the Software Testing Life Cycle, the project managers and leads come together and come up with a plan to create a test plan and strategy document. These documents contain information on the in-scope, out of scope of testing, budget, testing approaches and methodologies to be adopted, tasks to be assigned to individual team members, estimation, number of testing cycles, team size, testing tools, additional resources, percentage of automation and manual testing efforts, and so on.

Test Strategizing

In this phase of the Software Testing Life Cycle, the project managers and leads come together and come up 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 are finalized. The test strategizing phase is sometimes a part of the test planning phase depending on project to project.

Environment Identification

In the environment identification phase of the Software Testing Life Cycle, the correct environment in which product is to be verified is identified. A normal sanity check to ensure that the environment meets the minimum requirements to test the product should be done before actually testing the product.

Test Data Identification

In the test data identification phase of the Software Testing Life Cycle, the correct data in which product is to be verified is identified. It is also decided, if the test data will be generated manually, or through a tool, or through automation. A proper communication on critical issues like the frequency on which the data will be replenished from the database, if production data will be handled, and so on should be identified and decided upon in the test data identification phase of the Software Testing Life Cycle.

Designing of the Test Cases

In the test case designing phase of the Software Testing Life Cycle, all the possible use cases, scenarios(positive, negative, edge, and so on) identified from the requirements are converted into test cases. A proper review of the test cases along with approval(from the stakeholders) should be taken for every test case so that tst coverage and quality are ensured. Also, requirement traceability matrix, and all other testing processes, and principals should be followed so that test cases are useful and it should be able to validate the product.

Execution of the Test Cases

In the test case execution phase of the Software Testing Life Cycle, all the test cases designed should be executed and all the areas of potential defects or bugs should be identified.

Defect Logging

In the defect logging phase of the Software Testing Life Cycle, all the bugs or defects detected during the execution phase should be documented, triaged, fixed, and brought to proper closure.

Test Closure

In the test closure phase of the Software Testing Life Cycle, all the detailed report on test execution(count of test cases, passed, failed, percentage of failure, impacted modules, number of new and regression bugs, and so on), and matrices should be documented, and shared with all project stakeholders.

Conclusion

This concludes our comprehensive take on the tutorial on Software Testing - Life Cycle. We’ve started with describing what is a software testing life cycle, and various stages of the software testing life cycle. 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