A Software Testing Life Cycle is made up of series of
phases.
1. Requirement
Gathering and Analysis
Requirements
analysis is critical to the success of any project. The scope and
boundary of the proposed software solution is drawn. Identifying stakeholders
such as customers, end-users, system administrators etc. is the next step in
requirements analysis. This is one of the most important steps in the whole
process as proper identification of stakeholders enables the business analyst
to draw a road map for gathering requirements. Testing Team identifies the
testable requirements. Requirement can be functional or non functional. Scope
of Automation (if any) is also considered.
Activities
·
Prepare Requirement Traceability Matrix (RTM).
·
Identifying the approach or setting the
priorities module wise.
·
Identification of areas to be tested
automatically and those requiring manual testing
Out-Put After This
Phase
·
Requirement Traceability Matrix (RTM).
2. Test
Planning
A test plan is a document is created which provides detail of a
systematic approach to testing. Testing Effort and Cost Estimation for the
project would be calculated.
Activities
·
Project scope and expectations definition
·
Technology and methodology selection
·
Preparation of test plan document for various
types of testing to be performed.
·
Testing effort estimation
·
Definition of QA metrics
·
Resource Planning and identifying the roles and
responsibility.
·
Testing Tool Selection.
Out-Put After This Phase
·
Test Plan
·
Testing Effort Estimation
3.
Test Case Development
After Requirement is freeze followed by
initial understanding, testing team starts creating Test Case or Test Scripts
along with test data, which are later reviewed followed by rectifying the
issues reported by reviewer. Categorization of Test Case as per their priority
is also set.
Activities
·
Create test cases or Test scripts (if
applicable).
·
Categorization of Test Case.
·
Create Test Data
Out-Put After This Phase
·
Test Cases/Scripts
·
Test Data
4.
Test Environment Setup
A testing environment is a setup of
software and hardware on which the testing team is going to perform the testing
of the software product. This setup consists of the physical setup of hardware
and software setup that includes Server Operating system, client operating
system, database server, front end running environment, browser (if web
application) and other software components required to run this software
product. These setups are done by support staff. Testing team has to ensure the
conditions are met before testing is taken off. Followed by Smoke Test which
verifies the Test Environment as well as stability of the build delivered to
Test Team.
Activities
·
Ensure the required Hardware and Software or
different combination of machines are ready
·
Perform a Smoke Test on the build delivered for
Testing
Out-Put After This Phase
·
Test Machine or Test Lab
·
Smoke Test Result
5.
Test Case Execution
Test Case execution is a process of executing
test cases/scripts in a logical sequence with specific test data (if
available). If any Test Case/Script or Test Scenario fails, Testing Team logs
the bug in Bug Tracking tool (Bugzilla, Jira, TTPro, etc.). Simultaneously a dedicated
team of developers would be fixing the bugs and release the fixes in next
build. Testing team shall verify the reported bug and accordingly update the Bugs
logged. This cycle continues till all the bugs identified in product are fixed.
Finally a Regression or Ad-hoc Testing is performed after which Test Report is
prepared if all goes well.
Activities
·
Execution of Test Cases
·
Log bugs in bug tracking tool
·
Create Test Result document
·
Map defects to Test Cases in RTM
·
Verify the bug logged in new build
·
Update the bug status in bug reporting tool as
per verification status
Out-Put After This Phase
·
Test Result
·
Defect Report
·
RTM with execution status
6.
Closure - Product Release
Once the test meets the exit criteria, the
activities such as capturing the key outputs, lessons learned, results, logs,
documents related to the project are noted down and used as a reference for
future projects. Later a Causal Analysis and Resolution (CAR) Report is prepared
where in best practices and cause of failures occurred are noted down.
Activities
·
Test Metrics based on Test coverage, Cost, Time,
Quality etc is prepared
·
Test Closure Report Preparation
·
Test Result Analysis is performed to calculate the
defect distribution by type and severity.
·
Causal Analysis and Resolution (CAR) Report is
prepared
Out-Put After This Phase
·
Test Closure Report
·
Test Metrics
·
Causal Analysis and Resolution (CAR) Report
Note: There are different process and methodologies followed
in various organizations. The above content is as per my experience in industry
so far.