Software testing can be defined as the process of validating and verifying a software application, to check whether it meets the specified technical as well as the business requirements, which aided its design and development. STLC (Software testing life cycle) defines the various levels of testing through which a software end product goes through and describes the various functions that will be carried out on that application in each stages of the testing cycle.

 

The various stages of Software testing life cycle includes:-

 

  • Requirement Gathering Stage

 

Requirement Gathering Stage is the initial stage of a STLC. At this stage the developers analyze the requirements collected from the end customer, for designing the product. Testers may also involve as they will be able to think from the end users point of view. Thus the panel of developers, testers and sometimes the end users discuss about the requirements and finally comes up with a software requirement specification or SRS.

 

  • Test Planning

 

The Test planning activity defines the overall strategy for verifying and validating an application according to the specified requirements. The test plan states the objectives of testing. Test plan details include but are not limited to testing types, preferred tester skills, test environment, risks involved and the contingency as well the mitigation plans for these risks, time schedules and the milestones. The outcome of the test planning phase is a Test plan document.

 

  • Test Analysis

 

Once the test planning is done, the next step is to analyze what types of testing should be carried out at the various phases of Software Development Life Cycle. This is done at the Test Analysis phase of the STLC.

 

  • Test Design

 

Test preparation refers to the activity of setting up for a test. This involves including the installation of the application under test, defining and creating the test environment, test case, test scripts and the test data

 

  • Test Execution

 

This stage involves the planning and the execution of the various functionality or system test cases. The development team will complete the unit testing and (sometimes the integration testing) before this stage of the STLC. At first, a top level testing will be done to detect top level failures and the defects ( if any), are reported to the development team to get the required correction or workaround. A detailed Test execution report needs to be documented and updated for future references.

 

  • Analysis of Results

 

This phase normally involves the re-testing of the high priority defects that are being fixed. If all the above bugs are fixed, a general regression testing will be conducted to check the functionality of the already working features. Also the status of all the corrected defects has to be updated with necessary information in a Bug tracking tool.

 

  • Software Acceptance

 

This will be the final stage of Software Testing Life Cycle. This is normally done with a bunch of software acceptance tests and will be conducted at the customer location or in some cases at the field itself. Basically this test involves the performance and load based testing, along with some feature testing.