Sei sulla pagina 1di 9

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 managements views towards Quality Assurance & Control activities. In this post we will discuss about the different stages/phases of STLC.

1. Requirement Analysis/Review This is a very important phase in STLC. Here the focus is on understanding the requirements of the system with the viewpoint of testing in mind. In this phase the QA interacts with the Business Analyst, System Analyst, Development Manager/Team Lead, etc. or if required the QA may also interact with Client to completely understand the requirements of the system. During this phase the QA takes many important decisions like what are the testing types & techniques to be performed, feasibility for automation testing implementation, etc.

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. This phase is very important as any small mistake in this phase can result in major issues in the project regarding time, money, efforts, etc.

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.

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 The test cases which were prepared earlier are executed in this phase. In this phase, the testers test the websites. Different testing techniques as well as methods are implemented and executed on the software/application to break the system and find bugs. Bugs are reported to the development team. The development team resolves the bugs and the system is retested to ensure that it is bug free and ready to go live.

6. Test Closure When the testing team is confident that all the reported bugs are resolved and the system is ready according to the clients requirements, the software testing life cycle enters the last stage ie. Test Closure stage. In this stage, evaluation is done for the complete testing cycle, test closure reports are prepared, proper analysis and documentation is done for the major or critical bugs so that such situations can be handled efficiently and effectively in future projects, etc. Each of these phases of STLC has their Entry & Exit criterias. We will put a detail article on the Entry & Exit Criterias of different stages of Software Testing Life Cycle in coming days. Hope this article will help you in understanding the Software Testing Life Cycle in detail.

Software Testing Life Cycle STLC


Contrary to popular belief, Software Testing is not a just a single activity. It consists of series of activities carried out methodologically to help certify your software product. These activities (stages) constitute the Software Testing Life Cycle (STLC). The different stages in Software Test Life Cycle -

Each of these stages have a definite Entry and Exit criteria , Activities & Deliverables associated with it. In an Ideal world you will not enter the next stage until the exit criteria for the previous stage is met. But practically this is not always possible. So for this tutorial , we will focus of activities and deliverables for the different stages in STLC. Lets look into them in detail.

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, 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 ) .Automation feasibility for the given testing project is also done in this stage.

Activities

Identify types of tests to be performed.

Gather details about testing priorities and focus. Prepare Requirement Traceability Matrix (RTM). Identify test environment details where testing is supposed to be carried out. Automation feasibility analysis (if required).

Deliverables

RTM Automation feasibility report. (if applicable)

Test Planning
This phase is also called Test Strategy phase. Typically , in this stage, a Senior QA manager will determine effort and cost estimates for the project and would prepare and finalize the Test Plan.

Activities

Preparation of test plan/strategy document for various types of testing Test tool selection Test effort estimation Resource planning and determining roles and responsibilities. Training requirement

Deliverables

Test plan /strategy document. Effort estimation document.

Test Case Development


This phase involves creation, verification and rework of test cases & test scripts. Test data, is identified/created and is reviewed and then reworked as well.

Activities

Create test cases, automation scripts (if applicable) Review and baseline test cases and scripts Create test data (If Test Environment is available)

Deliverables

Test cases/scripts Test data

Test Environment Setup


Test environment decides the software and hardware conditions under which a work product is tested. Test environment set-up is one of the critical aspects of testing process and can be done in parallel with Test Case Development Stage. Test team may not be involved in this activity if the customer/development team provides the test environment in which case the test team is required to do a readiness check (smoke testing) of the given environment.

Activities

Understand the required architecture, environment set-up and prepare hardware and software requirement list for the Test Environment. Setup test Environment and test data Perform smoke test on the build

Deliverables

Environment ready with test data set up Smoke Test Results.

Test Execution
During this phase test team will carry out the testing based on the test plans and the test cases prepared. Bugs will be reported back to the development team for correction and retesting will be performed.

Activities

Execute tests as per plan Document test results, and log defects for failed cases Map defects to test cases in RTM Retest the defect fixes

Track the defects to closure

Deliverables

Completed RTM with execution status Test cases updated with results Defect reports

Test Cycle Closure


Testing team will meet , discuss and analyze testing artifacts to identify strategies that have to be implemented in future, taking lessons from the current test cycle. The idea is to remove the process bottlenecks for future test cycles and share best practices for any similar projects in future.

Activities

Evaluate cycle completion criteria based on Time,Test coverage,Cost,Software,Critical Business Objectives , Quality Prepare test metrics based on the above parameters. Document the learning out of the project Prepare Test closure report Qualitative and quantitative reporting of quality of the work product to the customer. Test result analysis to find out the defect distribution by type and severity.

Deliverables

Test Closure report Test metrics Finally, summary of STLC along with Entry and Exit Criteria STLC Stage Requirement Analysis Entry Criteria Requirements Document available (both functional and non Activity Analyse business functionality to know the business modules and module specific Exit Criteria Signed off RTM Test automation Deliverables RTM Automation feasibility report (if

functional) Acceptance criteria defined. Application architectural document available.

functionalities. Identify all transactions in the modules. Identify all the user profiles. Gather user interface/authentication, geographic spread requirements. Identify types of tests to be performed. Gather details about testing priorities and focus. Prepare Requirement Traceability Matrix (RTM). Identify test environment details where testing is supposed to be carried out. Automation feasibility analysis (if required).

feasibility report signed off by the client

applicable)

Test Planning

Requirements Documents Requirement Traceability matrix. Test automation feasibility document.

Analyze various testing approaches available Finalize on the best suited approach Preparation of test plan/strategy document for various types of testing Test tool selection Test effort estimation Resource planning and determining roles and

Approved test plan/strategy document. Effort estimation document signed off.

Test plan/strategy document. Effort estimation document.

responsibilities. Test case development Requirements Documents RTM and test plan Automation analysis report Create test cases, automation scripts (where applicable) Review and baseline test cases and scripts Create test data Reviewed and signed test Cases/scripts Reviewed and signed test data Test cases/scripts Test data

Test Environment setup

System Design and architecture documents are available Environment setup plan is available

Understand the required architecture, environment set-up Prepare hardware and software requirement list Finalize connectivity requirements Prepare environment setup checklist Setup test Environment and test data Perform smoke test on the build Accept/reject the build depending on smoke test result

Environment setup is working as per the plan and checklist Test data setup is complete Smoke test is successful

Environment ready with test data set up Smoke Test Results.

Test Execution

Baselined RTM, Test Plan , Test case/scripts are available Test environment is ready Test data set up is

Execute tests as per plan Document test results, and log defects for failed cases Update test plans/test cases, if necessary Map defects to test cases in

All tests planned are executed Defects logged and tracked to closure

Completed RTM with execution status Test cases updated with results

done Unit/Integration test report for the build to be tested is available

RTM Retest the defect fixes Regression testing of application Track the defects to closure

Defect reports

Test Cycle closure

Testing has been completed Test results are available Defect logs are available

Evaluate cycle completion criteria based on - Time, Test coverage , Cost , Software Quality , Critical Business Objectives Prepare test metrics based on the above parameters. Document the learning out of the project Prepare Test closure report Qualitative and quantitative reporting of quality of the work product to the customer. Test result analysis to find out the defect distribution by type and severity

Test Closure report signed off by client

Test Closure report Test metrics

Potrebbero piacerti anche