Software Testing Life Cycle

Software Testing Life Cycle

Testing Tools Online TrainingThere can not be a standardized testing process across various organizations, however every organization involved in software development business, defines & follows some sort of testing life cycle. The various phases involved in testing, with regard to the software development life cycle are:

Requirement Stage
Test Planning
Test Analysis
Test Design
Test Verification and Construction
Test Execution
Result Analysis
Bug Tracking
Reporting and Rework
Final Testing and Implementation
Post Implementation

Requirements Stage:

This is the initial stage in the process of software testing life cycle where the developers take part in analyzing the requirements for designing a product. Even software testers are required in this phase as they can think from the ‘users’ point of view which the developers may not. Thus a team of developers, testers and users can be formed, to analyze the requirements of the product. Formal meetings of the team can be held in order to document the requirements which can further be used as software requirements specification or SRS.

Test Plan

Without a good plan, no work is a success. A successful work always contains a good plan. The testing process of software should also require good plan. Test plan document is the most important document that brings in a process – oriented approach. A test plan document should be prepared after the requirements of the project are confirmed.
Test Analysis

Once the test plan documentation is done, the next stage is to analyze what types of software testing should be carried out at the various stages of SDLC.

Test Design

Test Design is done based on the requirements of the project. Test has to be designed based on whether manual or automated testing is done. For automation testing, the different paths for testing are to be identified first. An end to end checklist has to be prepared covering all the features of the project.

Test Verification and Construction

In this phase, the test plan, test design and automated test script are completed. Stress and performance testing plans are also completed at this stage. When the development team is done with a unit of code, the testing team is required to help them in testing that unit and report any bug in the product, if found. Integration testing and bug reporting is done in this phase of software testing life cycle.

Test Execution

Planning and execution of various test cases is done in this phase. Once the unit testing is completed, the functionality of the tests is done in this phase. At first, top-level testing is done to find out the top-level failures and bugs are reported immediately to the development team to get the required workaround. Test reports have to be documented properly and the bugs have to be reported to the development team.

Result Analysis

After the successful execution of the test case, the testing team has to retest it to compare the expected values with the actual values, and declare the result as pass/fail.

Bug Tracking

This is one of the important stages as the Defect Profile Document (DPD) has to be updated for letting the developers know about the defect

Reporting and Rework

Testing is an iterative process. The bug that is reported and fixed by the development team has to undergo the testing process again to assure that the bug found has been resolved. Regression testing has to be done. Once the Quality Analyst assures that the product is ready, the software is released for production. Before release, the software has to undergo one more round of top-level testing. Thus testing is an ongoing process.

Final Testing and Implementation

This phase focuses on the remaining levels of testing, such as acceptance, load, stress, performance and recovery testing. The application needs to be verified under specified conditions with respect to the SRS. Various documents are updated and different matrices for testing are completed at this stage of the software testing life cycle.

Post Implementation

Once the test results are evaluated, the recording of errors that occurred during the various levels of the software testing life cycle, is done. Creating plans for improvement and enhancement is an ongoing process. This helps to prevent similar problems from occurring in the future projects

Thus Software testing life cycle or STLC refers to a comprehensive group of testing related actions specifying details of every action along with the specification of the best time to perform such actions.

For Testing Tools Online Training please visit http://www.revanthtechnologies.com