Thursday, January 16, 2014

STLC (Software Testing Life Cycle)

Software Testing Life Cycle (STLC) is a very important concept that we need to know if we wants to understand testing process in detail. Many people think testing is a static task and finds it boring, but it is definitely not. STLC shows the different phases which are essential for quality control of any software project.

Every company follows its own Software Testing Life Cycle. STLC is affected by the Software Development Life Cycle (SDLC) implemented by the company as well as the management’s views towards Quality Assurance & Control activities.

1. Requirement Analysis/Review
2. Test Planning
3. Test Designing
4. Test Environment Setup
5. Test Execution
6. Test Closure

 1.) Requirement Analysis

During this phase, test team studies the requirements from a testing point of view to identify the testable requirements. The QA team may interact with various stakeholders (Client, Business Analyst, Technical Leads, and System

Architects etc) to understand the requirements in detail. Requirements could be either Functional (defining what the software must do) or Non Functional

(defining system performance /security availability )

2.) Test Planning

  In this phase the QA/QA Lead/QA Manager plans for the complete testing process. Important documents like Test Strategy, Test Plan and Effort Estimation are derived from this phase.

Everything regarding testing like selection of the testing tools, test efforts estimations, planning resources, determining roles and responsibilities of the personnel involved in the process, planning for the training required, etc. are decided in this phase.

3.) Test Designing

 Creation, Review & Update of Test Cases as well as Test Scripts are done in this phase. The test cases prepared by the QA team are reviewed and approved.

Test data may also be created in this phase by the QA team if test environment is available to them.

If automation testing needs to be done then automation scripts also needs to be written in this phase.

4.) Test Environment Setup

 Test Environment is the actual system/environment/setup where the testing team will be testing the application. Test environment is prepared by understanding the required system architecture, software & hardware requirements, etc.

Many times it happens that testing team is not involved in setting up the test environment. In such scenarios, it is preferable that the testing team should implement Smoke Testing to verify the readiness of the test environment before starting the actual testing.

5.) Test Execution

 During this phase test team will carry out the testing based on the test plans and the test cases prepared different testing techniques as well as methods are implemented and executed on the software/application to break the system and find bugs.
Bugs will be reported to the development team, then development team resolves the bugs and the system is retested to ensure that it is bug free and ready to go live.

No comments:

Post a Comment