MY WORDS FOR SOFTWARE TESTING LIFE CYCLE(STLC)
Software Testing Life Cycle (STLC) :-
The process of testing a software in a well planned and systematic
way is known as software testing life cycle . STLC is a very
important concept that we need to know if You want to understand
testing process in detailed. Software testing life cycle (STLC) model
is basically develop to identify which Testing activities needs to be
carry out and what’s the best time to perform them to accomplish
those test activities. Even though testing differs between
organizations, there is a testing life cycle. 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 different
structures for Software Testing Life Cycle. STLC is affected by the
Software Development Life Cycle (SDLC) implemented by the company and
the management’s views towards Quality Assurance & Control
activities.
Software Testing Life Cycle(STLC)
mainly consists of six phases:
Each of these stages have a definite
Entry and Exit criteria , Activities & Deliverables associated
with it. So for this tutorial , we will focus of activities and
deliverables for the different stages in STLC.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.
Phase -1. Software Requirement
Analysis/Review :- This is a very important phase in STLC. During
this phase, test team studies the requirements from a testing point
of view to identify the testable requirements. Here the focus is on
understanding the requirements of the system with the viewpoint of
testing in mind. It is very important to start testing activities
from the requirements phase itself because the cost of fixing defect
is very less if it is found in requirements phase rather than in
future phases. 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.
Phase -2. Software Test Planning:- In
this phase the QA,QA Lead,QA Manager plans for the complete testing
process. This phase is also called Test Strategy phase. In this phase
all the planning about testing is done like what needs to be tested,
how the testing will be done, test strategy to be followed, 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. 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. A high
level test plan document is created which includes all the planning
inputs mentioned above and circulated to the stakeholders.
Phase -3. Software Test Designing:-
Creation, Review & Update of Test Cases as well as Test Scripts
are done in this phase. In this phase various black-box and white-box
test design techniques are used to design the test cases for testing,
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. 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.In this stage prepare test case and
test plan document based on test planning and test analysis.
-Prepare functional test case
documents.-Negative value test case document.-prepare validation test document.-Test data is prepared.-Finalized test environment is decided.
Phase -4.Software Test Environment
Setup:- Test Environment is the actual system/environment/setup where
the testing team will be testing the application. Test environment
decides the software and hardware conditions under which a work
product is tested. Test environment is prepared by understanding the
required system architecture, software & hardware requirements,
etc. After test planning phase is over test analysis phase starts, in
this phase we need to dig deeper into project and figure out what
testing needs to be carried out in each SDLC phase. 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.
Phase - 5.Software Test Execution:-
The test cases which were prepared earlier are executed in this
phase. In this phase, the testers test the websites. 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.
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. In this stage we need to done test cycles
until test cases are executed without errors. And our test plans is
reached.
Phase - 6. Software 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
I.e. Test Closure stage. In this phase the final testing is done for
the software, non functional testing like stress, load and
performance testing are performed in this phase. The software is also
verified in the production kind of environment. Final test execution
reports and documents are prepared in this phase. 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. The idea is to
remove the process bottlenecks for future test cycles and share best
practices for any similar projects in future. Each of these phases of
STLC has their Entry & Exit criteria 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.
No comments:
Post a Comment