In today’s digital era where businesses hurry to build new digital products, Software Testing becomes an integral part of that endeavor. Applying software testing properly and with the right tools, Software Testing can speed up the entire Software Development Life Cycle (SDLC) and thus accelerate Digital Transformation efforts. As an indispensable part of SDLC, the Software Testing Life Cycle (STLC) provides a step-by-step roadmap for the entire testing process. The STLC will be the central theme of this paper, which gives an overview of STLC, its key phases and activities involved in each phase, as well as the common principles of STLC.
2. In today’s digital era where businesses hurry to build new digital
products, Software Testing becomes an integral part of that
endeavor. Applying software testing properly and with the right
tools, Software Testing can speed up the entire Software
Development Life Cycle (SDLC) and thus accelerate Digital
Transformation efforts.
As an indispensable part of SDLC, the Software Testing Life
Cycle (STLC) provides a step-by-step roadmap for the entire
testing process. The STLC will be the central theme of this paper,
which gives an overview of STLC, its key phases and activities
involved in each phase, as well as the common principles of STLC.
01
01
An introduction to Software Testing Lifecyle (STLC)
An Introduction to Software Testing Lifecyle (STLC)
3. Software Testing Life Cycle (STLC), often abbreviated as STLC, is a plan of
actions that is executed by the testing team to ensure the quality of software
products.
It is true that in practice no STLD is long or comprehensive enough to cover
100% test coverage. This limit of STLD will be discovered further below.
Nevertheless, carefully designing and implementing STLC is the most effective
way to build confidence for any product releases.
WHAT IS SOFTWARE TESTING LIFE CYCLE (STLC)?
What is STLC?
02
An Introduction to Software Testing Lifecyle (STLC)
4. Before diving deeper into the step-by-step process of STLC, some notes worth considering:
• STLC offers a step-by-step process to evaluate, maintain, and enhance quality of software.
• STLC attends only to testing activities, which makes it an integral part of the Software
Development Life Cycle (SDLC), and thus also integral to the Digital Transformation Process.
• STLC begins immediately after stakeholders have agreed on Software Requirement
Documents (SRD). Stakeholders typically include various roles such as project manager,
business analysts, developers, testers, and clients, depending on the nature of the project.
• STLC can only be applied to identify the presence of defects somewhere in the software,
never to prove the absence of defects, which practically is impossible.
• If STLC is an equation, it would be “Software Testing Life Cycle = Verification + Validation”,
where verification means “building the product right”, and validation “building the right product”.
RULES OF SOFTWARE TESTING LIFE CYCLE (STLC)
03
An Introduction to Software Testing Lifecyle (STLC)
5. THE STEP-BY-STEP SOFTWARE TESTING LIFE CYCLE
Step 1
Requirement
Analysis
Step 2
Test
Planning
Step 5
Cycle
Closure
Step 4
Test
Execution
Step 3
Test
Design
04
An Introduction to Software Testing Lifecyle (STLC)
6. In this initial phase, requirements are analyzed and corrected by testers and from software
testing’s point of view. The goal is to identify testable requirements. Because SRD is not
defined by the testing team, they may have to work with many or all stakeholders to have a
thorough understanding of requirements.
During Requirement Analysis, the testing would be asked to:
• Identify suitable types of tests to perform
• Collect information about what areas of testing to prioritize and focus on.
• Prepare Requirement Traceability Matrix (RTM), which is a document that associates
requirements with tests
• Define test environment, which is where testing activities are carried out
• Perform automation feasibility analysis to know how feasible and how much testing can be
automated.
Once requirement analysis is done, the team gather testable requirements as deliverables.
STEP 1 - REQUIREMENT ANALYSIS
05
An Introduction to Software Testing Lifecyle (STLC)
7. Test Planning is all about designing the complete testing process. Planning for testing is
essential to estimating and thus minimizing costs and efforts, as well as estimating and thus
accelerating testing life cycle.
As the preparation for the later execution stage, in test planning the team would:
• Prepare a test plan/strategy document for various types of testing: Unit Testing,
Regression Testing, Smoke Testing, Stress Testing, etc.
• Decide on testing tools: Test Automation platforms, Test Management tool, collaboration
tool, etc
• Estimate efforts and resources for the whole STLC
• Plan and set up for test environment
• Assign roles and the associated responsibilities and accountabilities
• Determine training requirements.
After finishing test planning, the testing team should have a detailed test plan/strategy
document, and error estimation document.
STEP 2 - TEST PLANNING
06
An Introduction to Software Testing Lifecyle (STLC)
8. The team defines the HOW of software testing during test design. This requires them to
create, verify, and rework test cases and test scripts. Moreover in this phase, the team also
identifies and creates test data; as well as reviews and eventually reworks test data.
Based on the 2 key inputs, which are requirements and test plan, in test design the team
would:
• Create Test cases and test scenarios
• Generate test data
• Develop automation scripts
• Compile Requirement Traceability Matrix (RTM)
• Review and baseline the outputs of all the activity above
The deliverables of test design are test cases, test scripts, and test data.
STEP 3 - TEST DESIGN
07
An Introduction to Software Testing Lifecyle (STLC)
9. Now that everything has been prepared, it is time for the team to do the real work. During
test execution, testing is performed as required in the test plans and test cases that the team has
prepared. The defects being found will be reported and sent to the development team, who
then make appropriate corrections. Eventually, the testing team will perform retesting on the
builds that have been fixed.
Within the scope of Test Execution, testers are required to
• Execute tests as per plan
• Document test results, and log defects for failed cases
• Map defects to test cases in RTM
• Retest the defect fixes
• Track the defects to closure
After executing all the required tests, the team should gather as deliverables the completed
RTM with execution status, test cases updated with results, and defect reports.
STEP 4 - TEST EXECUTION
08
An Introduction to Software Testing Lifecyle (STLC)
10. In this final phase, the testing team will sit down together to collect data from testing activities
that they have executed. From that, they consolidate experience, learnings, and key findings.
The goal is to identify bottlenecks and share best practices to improve future projects. In
other words, test cycle closure is the opportunity for learning and development.
Now that all the works have been done, the team would:
• Evaluate cycle completion criteria based on time, test coverage, cost, software, critical
business objectives, and quality
• Prepare test metrics based on the above parameters
• Document the learning out of the project
• Prepare test closure report
• Perform qualitative and quantitative reporting of quality of the work product to the
customer
• Perform test result analysis to find out the defect distribution by type and severity.
Key deliverables include test closure report and test metrics.
STEP 5 - CYCLE CLOSURE
09
An Introduction to Software Testing Lifecyle (STLC)
11. Now when more and more businesses seek to build new
digital applications and software to accelerate Digital
Transformation, properly designing and implementing
STLC proves essential.
This paper has covered the most basic form of STLC,
where steps are executed leanearly in a predefined order.
This tradional method is most appropriate for small
projects that have predictable outcomes and timeframe.
But if the application in question is dynamic and subject
to frequently changing requirements, it’s optimal to apply
a more vigorous mothod called Agile Testing.
To discover our latest thought on Software Testing, visit:
https://info.kms-solutions.asia/testing-strategies-for-a-co
re-banking-transformation
09
An Introduction to Software Testing Lifecyle (STLC)
12. KMS Solutions works closely with leading software companies
across the globe to bring the most advanced and innovative
technologies to Asia Pacific. The focus is to help organizations
achieve their business goals through world-class fit-for-purpose
solutions and proven industry best practices. KMS Solutions’ success
is ultimately measured by the positive impact that it makes to the
client’s business.