What
is Software Testing Life Cycle (STLC)
Software Testing is
not a single activity. It consists of several activities carried out in a
systematic way to deliver an efficient software product. All these Activities
/Phases constitute STLC.
Below are the Activities /Phases of STLC:
Below are the Activities /Phases of STLC:
- Requirements Gathering phase
- Test Planning Phase
- Test Case Development Phase
- Environment Setup Phase
- Test Case Execution Phase
- Test Conclusion Phase
- Test Cycle Closure Phase
Each
of these activities have a definite Activities & Deliverables associated
with it
1. Requirement
Phase: During this
phase of STLC, we will analyze and study the requirements. Here in this phase
we will discuss with stakeholders to understand the requirements clearly and
try to find out whether the requirements are testable or not. This phase helps
to identify the scope of the testing. If any feature is not testable,
communicate it during this phase so that the mitigation strategy can be
planned.
Activities
o
Identify types of
tests to be performed (Smoke, Sanity, Regression and Automation testing etc.,).
o
Prioritize the
requirements.
o
Prepare Requirement
Traceability Matrix (RTM).
o
Identify test
environment details where testing is supposed to be carried out.
o
Automation feasibility
analysis (if required).
Deliverables
o
RTM
o
Automation feasibility
report. (if applicable)
2. Test
Planning Phase: Infact, Test
planning is the first step of the testing process. In this phase we identify
the activities and resources which would help to meet the testing objectives.
Typically this will done by Sr. QA Manager.
Activities
Activities
o
Preparation of test
plan/strategy document for various types of testing
o
Test tool selection
o
Test effort estimation
o
Resource planning and
determining roles and responsibilities.
o
Training requirement
Deliverables
o
Test plan /strategy
document.
o
Effort estimation
document.
3. Test Case
Development Phase: The major task in this STLC phase is of creation of the detailed
test cases. Prioritize the test cases also identify which test case will become
part of the regression suite. Before finalizing the test case, It is important
to carry out the review to ensure the correctness of
the test cases. And it is also important to take the confirmation of the the
test cases created before the actual execution starts. If automation testing is
required, identify the test cases for automation and proceed for scripting the
test cases and make sure that you sent them fro review and got confirmation.
Activities
Activities
o
Create test cases,
automation scripts (if applicable)
o
Review and baseline
test cases and scripts
o
Create test data (If
Test Environment is available)
Deliverables
o
Test cases/scripts
o
Test data
4. Test
Environment Setup Phase: Test environment includes software and hardware conditions under
which product is to be 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 this case test team
is required to do a readiness check (smoke testing) of the given
environment.
Activities
Activities
o
Setup test Environment
and test data
o
Perform smoke test on
the build
Deliverables
o
Environment ready with
test data set up
o
Smoke Test Results.
5. Test
Execution Phase: 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 once the bug is fixed by the development
team, retesting/regression will be performed.
Activities
Activities
o
Execute tests as per
plan
o
Document test results,
and log defects for failed cases
o
Map defects to test
cases in RTM
o
Retest the defect
fixes
o
Track the defects to
closure
Deliverables
o
Completed RTM with
execution status
o
Test cases updated
with results
o
Defect reports
6. Test
Conclusion Phase: This phase
concentrates on the exit criteria and reporting. We've to know the reporting
persons. Depending on your project and stakeholders choice, you can decide on
reporting whether you want to send out a daily report or weekly report etc.
There are different types of reports
There are different types of reports
o
DSR – Daily status
report
o
WSR – Weekly status
reports
The important point
is, the content of the report changes and depends upon whom you are sending
your reports.
o
If you are reporting
to Project managers belong to testing background then they are more
interested in the technical aspect of the project, so include
the technical things in your report ( number of test cases passed,
failed, defects raised, severity 1 defects etc.).
o
If you are reporting
to upper stakeholders, they might not be interested in
the technical things so report them about the risks that have been
mitigated through the testing.
Activities
o
Provide the accurate
figures and result of testing
o
Identify the risks
which are mitigated
Deliverables
o
Updated Taceability
Metrics
o
Test Status report
o
Risk management report
7. Test Cycle
Closure Phase: 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 following are the tasks for the Test Closure:
The following are the tasks for the Test Closure:
o
Check for the
completion of the test. Whether all the test cases are executed or mitigated
deliberately. Check there are no severity 1 defects opened.
o
Do lessons learnt
meeting and create lessons learnt document.( Include what went well, where are
the scope of improvements and what can be improved)
Activities
o
Evaluate cycle
completion criteria based on Time,Test coverage,Cost,Software,Critical Business
Objectives , Quality
o
Prepare test metrics
based on the above parameters.
o
Document the learning
out of the project
o
Prepare Test closure
report
o
Qualitative and
quantitative reporting of quality of the work product to the customer.
o
Test result analysis
to find out the defect distribution by type and severity.
Deliverables
o
Test Closure report
o
Test metrics
Hello friends, nice post and nice urging commented at this place, I am in fact enjoying by these.
ReplyDeleteThanks a lot, this post helps a lot making some high-level architectural decision. Thanks for the information.
software testing services
software testing companies
Regression testing services
Performance testing Services
Test automation services
Great post and informative one about software testing lifecycle. It's really helpful to understand the manual and automation testing concepts. Software testing services will plays a major role in software development company. Keep sharing more content like this.
ReplyDelete