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. 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 client’s 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.