What Is Software Testing Life Cycle
What Is Software Testing Life Cycle
1990’s Trend
2000’s Trend:
2
The trend and competency of testing are changing. Testers are now required to be more
technical and process oriented. Testing now is not only limited just to find bugs but has a
wider scope and is required right from the beginning of the project when the
requirements are not even finalized.
Since testing is also standardized. Just like the development of software has a lifecycle,
Testing too has a lifecycle. In the subsequent sections, I will be discussing what a life
cycle is and how that is related to software testing and will try to elaborate it.
Let us start!
What is Lifecycle?
Lifecycle in the simple term refers to the sequence of changes from one form to other
forms. These changes can happen to any tangible or intangible things. Every entity has a
lifecycle from its inception to retire / demise.
In a similar fashion, Software is also an entity. Just like developing software involves a
sequence of steps, testing also has steps which should be executed in a definite
sequence.
This phenomenon of executing the testing activities in a systematic and planned way is
called testing life cycle.
1. Requirements phase
2. Planning Phase
3. Analysis phase
4. Design Phase
5. Implementation Phase
6. Execution Phase
7. Conclusion Phase
8. Closure Phase
#1. Requirement Phase:
During this phase of STLC, analyze and study the requirements. Have brainstorming
sessions with other teams 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.
#2. Planning Phase:
In practical scenarios, 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.
During planning we also try to identify the metrics, the method of gathering and tracking
those metrics.
The answer is NO. Requirements do form one of the bases but there are 2 other very
important factors which influence test planning. These are:
There are various factors which affect the identification of test conditions:
– Levels and depth of testing
– The complexity of the product
– Product and project risks
– Software development life cycle involved.
– Test management
– Skills and knowledge of the team.
– Availability of the stakeholders.
We should try to write down the test conditions in a detailed way. For example, for an e-
commerce web application, you can have a test condition as “User should be able to
make a payment”. Or you can detail it out by saying “User should be able to make
payment through NEFT, debit card, and credit card”.
The most important advantage of writing the detailed test condition is that it increases the
test coverage since the test cases will be written on the basis of the test condition, these
4
details will trigger to write more detailed test cases which will eventually increase the
coverage.
Also, identify the exit criteria of the testing, i.e determine some conditions when you will
stop the testing.
– Detail the test condition. Break down the test conditions into multiple sub-conditions to
increase coverage.
– Identify and get the test data
– Identify and set up the test environment.
– Create the requirement traceability metrics
– Create test coverage metrics.
If your project involves automation, identify the candidate test cases for automation and
proceed for scripting the test cases. Don’t forget to review them!
#6. Execution Phase:
As the name suggests, this is the Software Testing Life Cycle phase where the actual
execution takes place. But before you start your execution, make sure that your entry
criterion is met. Execute the test cases, log defects in case of any discrepancy.
Simultaneously fill your traceability metrics to track your progress.
#7. Conclusion Phase:
This STLC phase concentrates on the exit criteria and reporting. Depending on your
project and stakeholders choice, you can decide on reporting whether you want to send
out a daily report of the weekly report, etc.
There are different types of reports ( DSR – Daily status report, WSR – Weekly status
reports) which you can send, but the important point is, the content of the report changes
and depends upon whom you are sending your reports.
If 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.).
But 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.
5
– Check for the completion of the test. Whether all the test cases are executed or
mitigated deliberately. Check there is no severity 1 defects opened.
– Do lessons learned meeting and create lessons learned document. ( Include what went
well, where are the scope of improvements and what can be improved)
Conclusion
Let’s try to summarize the Software Testing Life Cycle (STLC) it now!
S.N
Phase Name Entry Criteria Activities Performed Deliverables
o
2 Planning Updated Define the scope of the project Test Plan doc
requirements
document. Do the risk analysis and prepare the risk Risk mitigatio
mitigation plan. document.
Test feasibility
reports “ Perform test estimation. Test estimatio
document.
Automation Determine the overall testing strategy and
feasibility report. process.
Risk Document
Test estimation
6
S.N
Phase Name Entry Criteria Activities Performed Deliverables
o
document
5 Implementatio Detailed test Create and review the test cases. Test cases
n condition document
Create and review the automation scripts. Test scripts
Updated requ
traceability m
7 Conclusion Updated test cases Provide the accurate figures and result of Updated trace
with results testing metrics
Test closure Identify the risks which are mitigated Test summary
conditions
Updated risk
management