0% found this document useful (0 votes)
34 views

Chapter 2 Test Life Cycle Concepts v1.1

This document provides an overview of software testing life cycles and concepts. It discusses the typical phases of a software testing life cycle, including requirement analysis, test strategy and planning, test design, test environment setup, and test execution. It also describes the V-model for software testing and the main types of software testing. The purpose is to give readers a basic understanding of software testing processes and approaches.

Uploaded by

sai prathyush
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Chapter 2 Test Life Cycle Concepts v1.1

This document provides an overview of software testing life cycles and concepts. It discusses the typical phases of a software testing life cycle, including requirement analysis, test strategy and planning, test design, test environment setup, and test execution. It also describes the V-model for software testing and the main types of software testing. The purpose is to give readers a basic understanding of software testing processes and approaches.

Uploaded by

sai prathyush
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Chapter – 2 Test Life Cycle & Concepts

Certificate in Software Testing Skill

Page 1 of 28
Confidentiality Statement

This document should not be carried outside the physical and virtual boundaries of TCS and
its client work locations. Sharing this document with any person other than a TCS associate
would tantamount to violation of confidentiality agreement signed by you while joining
TCS.

Notice
The information given in this course material is merely for reference. Certain third party
terminologies or matter that may be appearing in the course are used only for contextual
identification and explanation, without an intention to infringe.
Certificate in Software Testing Skill TCS Business Domain Academy

Contents
Chapter-2 Test Life Cycle & Concepts .............................................................................4
2.1 What is Software Testing Life Cycle ....................................................................... 5
2.2 SDLC Vs STLC...................................................................................................... 15
2.3 V Model in software testing ................................................................................. 16
2.4 Main Types of Software Testing .......................................................................... 18
Summary ........................................................................................................................26

Page 3 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Chapter-2 Test Life Cycle & Concepts

Introduction
Software Testing is not a just an activity. It consists of series of activities carried out
systematically to help in certify your software product. These activities (stages) constitutes
the Software Testing Life Cycle (STLC). In other words the software testing life cycle is
basically a step-by-step process used for testing any software before it is believed fit for
final production. There is many types of testing software for various purposes.

This chapter will give you a basic understanding on software testing life cycle, V Model and
various types software testing.

Learning Objective
After reading this chapter, you will be able to understand:
• Software Testing Life Cycle
• SDLC & STLC
• V Model
• Types of testing

Page 4 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

2.1 Software Testing Life Cycle


STLC (Software testing life cycle) process is an integral part of the Software Development
Life Cycle. The complete aspect of software testing life cycle phase deals with testing and
correcting any error code producing within the program under many test conditions.

Software Testing Life Cycle (STLC) defines the phases/stages/steps in testing of software.
However, there is no fixed standard STLC in the world.

Software Testing Life Cycle comprises of the following phases as shown in Figure 1.

Figure 1: Testing process

Page 5 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Requirement Analysis
In this requirement analysis phase, test team analyse the customer requirements from a
testing point of view to find the testable requirements. The project team may interact with
various stakeholders (like clients, Business analyst, System Architects and Technical Leads
etc.) to know the requirements in detail. Requirements could be either Functional or Non
Functional (defining system performance /security availability etc).Automation feasibility
also can be complete in this stage.

Review Defect report, Requirement Traceability Matrix and Automation feasibility report (if
applicable) are deliverable of this phase.

Test Strategy & Planning


Test Analyst/Manager will prepare the Test Strategy and Test Plan documents.

Activities carried out at the Test Strategy level are as given below. These details will be
documented in the Test Strategy document
• Identify suitable engagement and delivery model
• Define test objectives, scope of testing, testing phases and activities
• Define test organization and role and responsibility of individual in the organization
• Review business requirement and system requirements to identify test items
• Define testing process and procedures
• Establish configuration standards, defect management and change management
procedures
• Identify suitable testing tools, techniques and practices
• Identify components that carry higher risk and may require enhanced levels of
testing
• Evaluate feasibility for automating the application
• Define automation solution and identify suitable candidates for automation

A test plan is a organised approach to testing a system such as a machine or software. The
plan generally contains a full understanding of what the ultimate workflow will be. During
Test Planning phase the activities carried out in Test Strategy phase will be detailed and
more application specific data will be gathered.

Page 6 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

A task as extensive as testing requires careful planning. This planning and test preparation
starts as early as possible in the software project. The test policy of an organization and the
objectives, risks, and limitations of the project as well as the criticality of the product
influence the test plan.

In testing, a test plan offers complete testing information regarding an upcoming testing
effort, including scope of testing, schedule, Test deliverables, release criteria and risks and
contingencies etc.

Test plan template, based on IEEE 829 format contains below information
• Test Plan Identifier (TPI).
• References
• Test Items
• Introduction
• Software risk Issue
• Features to be tested
• Features not to tested
• Approach.
• Item Pass / Fail Criteria
• Entry & exit criteria
• Suspension criteria and resumption requirements
• Test deliverables
• Remaining test tasks
• Environmental needs
• Staffing and training needs
• Responsibilities
• Planning risks and contingencies
• Approvals
• Glossary

Test Plan, Test Estimation and Test Schedule are deliverable of this phase.

Page 7 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Test Design
The test purposes established in the test plan should be decomposed into separate test
cases. Begin the process with high-level test objectives. These are decomposed into lower
and lower objectives until functional and structural test objectives are defined individually.

Once the test cases are written and reviewed by BAs and development team, changes are
notified to the QA test (if any), QA team makes necessary amends to complete design
phase.

The suggested process for the creation and use of test cases is a nine-step process as
follows:
• Identify test resources.
• Identify conditions to be tested.
• Rank test conditions.
• Select conditions for testing
• Determine correct results of processing
• Create test cases
• Document test conditions
• Conduct test
• Verify and correct
Test cases, Test Scripts, and Test Data are deliverable of this phase.

Test Environment Setup


Setup the test environment (server/ client/ network, etc.) with the goal of replicating the
end-users’ environment. It is one of the serious aspects of testing process and can be
conducted parallel with test case development. Test team may not be involved in this
activity if the development / customer team offers the test environment in which case the
test team is need to do a readiness check (smoke testing) of the given environment.

Activities perform in this phase are


• Know the required architecture, environment set-up and prepare hardware and
software requirement list for the test environment.
• Setup test environment and test data
• Perform smoke test on the software build

Page 8 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Test environment ready with test data set up and smoke test result are deliverable of this
phase.

Test Execution
Test execution is most important phase in the STLC and also the entire software
development life cycle because every team/team member’s contribution and work gets
validated here.
• Has the Business Analyst interpreted the requirements correctly or not?
• Has the development team translated the business requirements to functional
requirement and ultimately to code correctly or not?
• Has the data Architect and DBA designed the right back end systems or not?

Test Execution Guidelines:


Below are the list of all things that are important for Test Execution phase:
• The build (code written by development team is packaged into installable (e.g.: msi
file for window OS.) and made available to the QA environment is one of the
aspects that needs to start the execution of test.
• Test execution must happen in the QA environment not in development
environment. In general practice is to have dedicated QA and Development
environment (There is also a production environment to host the live application).
• Team size is not constant from the beginning of the project. The team might just a
team lead at the time of initiation phase and at maximum size at the test execution
phase.
• Test execution can happens in at least 2 cycles. Generally in each cycle, the test
cases will be executed.
• Test execution phase consists of executing the test scripts, test scripts maintenance
(correct gaps in the scripts) and reporting & tracking (defect, status, metrics etc.)
Hence at the time of planning, this schedules and effort should be estimated taking
into consideration of all these aspects and not just the script execution.
• There is intermediate step before the test execution begins. This is called “Test
Readiness Review (TRR)”.This is a sort of transitional step that will end the test
designing phase and ease us into the test execution.

Page 9 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

• Except TRR, there are few more additional checks before we ensure that we can go
ahead with accepting the current build that is deployed in the QA environment for
test execution. Those are the smoke and sanity tests.
• The test cycle begin on successful completion of TRR, smoke and sanity test.
• Exploratory testing would be carried out once the build is ready for testing. The
purpose of this test is to make sure critical\serious defects are removed before the
next levels of testing can start. Exploratory testing is carried out in the application
without any test scripts and documentation.
• Like the other phases of the STLC , work is divided among team members in the
test execution phase based on module wise or test case count wise or anything else
that might make sense.
• The main outcome of the test execution phase is in the form of reports (defects
report and test execution status report, completed RTM with execution status).

Test Result (Incremental) and test report and completed RTM with execution status are
deliverable of this phase.

Figure 2: Test execution process

Page 10 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Defect Reporting & Tracking


Testers generate a formal defect report, after detecting a defects (bugs) in the application
under test or by product testing or recording feedback from customers and building new
version of the product that fix and close defects.
Defect tracking is an important process in software testing process as business critical and
complex systems have hundreds of defects. One of the challenging factors is managing,
evaluating and prioritizing these defects. Defect tracking system is used to make the job
easier in effectively manage when the number of defects get multiplied over a period of
time.
Defect report contains Defect id, Project, Product, release version, module, detected build
version, Summery, Description, Steps to replicate, Actual result , expected result,
Attachments ,remarks ,defect severity defect priority ,Reported by, assign to, status ,fixed
build version as shown in the Table 1.
Table 1: Defects Report Template

Page 11 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Test Results (Final), Test/ Defect Metrics, and Test Closure Report are deliverable of this
phase.

Test Project Closer


Once the test meets the exit conditions, the activities such as capturing the key outputs, ,
results, lessons learned, logs, documents associated to the project are archived and used as
a reference for forthcoming projects.

Test closer defect report and signoff are deliverable of this phase.

Below Table 2 illustrates Software Test life Cycle summary


Table 2: Software Test Life Cycle
STLC Input Criteria Activity Output Deliverabl
Stage Criteria es
Requirem Requirements
ent document
Analysis available forboth Analyze business functionality to
functional and understand the business modules and
non-functional module specific functionalities.
functionalities
Find all transactions in the modules.
User Acceptance Identify all the user profiles.
criteria defined.
Gather user interface/authentication,
Application geographic spread requirements.
architectural Signed off
docs available Recognize types of tests to be RTM RTM,
performed. Test Automatio
automation n feasibility
Gather details about testing priorities feasibility report (if
and focus. report signed applicable)
off by the
Prepare Requirement Traceability client
Matrix (RTM).

Recognize test environment details


where testing is supposed to be
carried out.

Automation feasibility analysis (if it is


required).

Page 12 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

STLC Input Criteria Activity Output Deliverabl


Stage Criteria es
Test Requirements
Planning Documents Analyse various testing approaches Approved
available test Test
Requirement plan/strategy plan/strate
Traceability Finalize on the best suited approach document. gy
matrix. document.
Preparation of test plan/strategy Effort
Test automation document for various types of testing estimation Effort
feasibility document estimation
document. Test tool selection signed off. document.

Test effort estimation

Resource planning and determining


roles and responsibilities.
Test case Requirements Reviewed
developm Documents Create test cases, automation scripts and signed
ent (where applicable) test Test
RTM and test Cases/scripts cases/script
plan Review and baseline test cases and Reviewed s
Automation scripts and signed Test data
analysis report Create test data test data

Test Understand the required architecture,


Environm environment set-up Environment
ent setup System design setup is Environme
and architecture Prepare hardware and software working as nt ready
docs are requirement list per the plan with test
available and checklist data set up
Finalize connectivity requirements
Prepare environment setup checklist Test data Smoke
Environment setup is Test
set-up plan is Setup test Environment and test data complete Results.
available Smoke test is
Perform smoke test on the build successful

Accept/reject the build depending on


smoke test result
Test
Execution Baseline RTM, Execute tests as per plan
Test Plan , Test
case/scripts are Document test results, and log defects
available for failed cases
Completed
Test All tests RTM with
environment is Update test plans/test cases, if planned are execution
ready necessary executed status

Test data set up Map defects to test cases in RTM Defects Test cases
is done logged and updated
Retest the defect fixes tracked to with results
Unit/Integration closure
test report for Defect
the build to be reports

Page 13 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

STLC Input Criteria Activity Output Deliverabl


Stage Criteria es
tested is Regression testing of application
available
Track the defects to closure

Test Cycle Testing has been


closure completed
Evaluate cycle completion criteria
Test results are based on - Time, Test coverage, Cost
available ,Software Quality, Critical Business Test
Objectives Closure
Defect logs are report
available Test Closure Test
Prepare test metrics based on the report signed metrics
above parameters. off by client

Document the learning out of the


project

Prepare Test closure report

Qualitative and quantitative reporting


of quality of the work product to the
customer.

Test result analysis to find out the


defect distribution by type and
severity

Page 14 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

2.2 SDLC Vs STLC


This section will cover the difference between software development life cycle and software
testing life cycle.

Figure 3 SDLC Vs STLC

Difference between SDLC and STLC


SDLC and STLC have some common characteristics but they differ completely from each
other. SDLC vs STLC is a complex debate and hence we have provided some examples to
make this point clear.
• STLC is a part of SDLC. It is like a SET and a SUBSET. We cannot have STLC running
individually on its own. It needs to wait for its roll call before implementing its
phases.
• STLC is limited to Testing software module. SDLC is rather a vast model with more
inputs and executions.
• STLC is the most important part of the SDLC life cycle. One cannot release the final
product without running it through STLC process.

Page 15 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

• STLC team requires skilled developers and Testers. The efficiency demand is rather
high here in comparison to other parts of the SDLC module.
• STLC is also a part of the post release update cycle. The bug fixes and end user
reports are logged by the application. This log is checked and fixed while building
and releasing the new version of the software or Program module.

2.3 V Model in software testing


The V-model can be said to have developed as a result of the evolution of software testing.
Various testing techniques were defined and various kinds of testing were clearly separated
from each other which led to the waterfall model evolving into the V-model. The tests in the
ascending (Validation) hand are derived directly from their design or requirements
counterparts in the descending (Verification) hand. The ‘V’ can also stand for the terms
Verification and Validation.

Figure 4: V Shaped Model

Verification Phases
• Requirements analysis
• System Design

Page 16 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

• Architecture Design
• Module Design
• Coding

Validation phases
• Unit Testing
• Integration Testing
• System Testing
• User Acceptance Testing

The V-model deploys a well-structured method in which each phase can be implemented by
the detailed documentation of the previous phase. Testing activities like test designing start
at the beginning of the project well before coding and therefore saves a huge amount of the
project time.

Advantages of V Shaped model development:


• Usage is simple and easy.
• Less time consuming. Most of the activities like planning, test designing etc.
happens well before the coding takes place.
• More tracking of defects. The major defects are found at the initial stage.
• Avoids downward flow of defects.
• Small type projects are mostly worked well as it is easy to understand more.
• This model has gained acceptance because of its simplicity and straightforward

Disadvantages of V Shaped Model Development:


• Least flexible.
• Software’s developed during implementation phases and no prototypes are
developed or produced for this software’s.
• If anything happens or stops in between then the whole document both testing and
requirement are to be updated all over again.
• Lot of time taken and is also risky.
• Since no prototypes are produced then there are less chance in meeting the
customer expectation.

Page 17 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

2.4 Main Types of Software Testing

Smoke & Sanity Testing


There are many requirements in a project and each requirements has numerous functions.
Project build team set up the testing environment and before testing all functionalities,
team is performing some basic functionalities testing called smoke test and if it is ok, then
moving for detailed testing.

In other words, Smoke test consists of nominal attempts to operate the software, designed
to determine whether there are any basic problems that will prevent it from working.
A sanity testing is a very brief rehearsal of the functionality of a computer program, system,
calculation, or other analysis, to assure that part of the system or methodology works
roughly as expected.

Load Testing
Software Load testing is the process of putting demand on a software system or computing
device and to measure its response under both normal and peak load conditions. Load
testing helps to identify the maximum operating capacities of an application and blockages
if any. Load testing is one of the performance testing technique. It falls under the class of
black box testing category.

Below are load testing tools.


• Apache JMeter (Apache Jakarta),
• BlazeMeter (Blaze Meter Ltd.),
• Blitz (Spirent Communications),
• CloudTest (SOASTA),
• Gatling (Open Source),
• LoadRunner (HP),
• OpenSTA (Open System Testing Architecture),
• Silk Performer (Borland),
• Test Studio (Telerik),
• Visual Studio Ultimate edition (Microsoft),
• WebLOAD (RadView),
• Workload Simulator (WSim) (IBM)

Page 18 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Performance testing
A Performance test, a non-functional testing technique, to determine the system
parameters in terms of responsiveness and stability under various workloads. Performance
test measures the quality attributes of the system, such as scalability, speed, reliability and
resource usage.

Figure 5: Performance Testing

In performance testing, testers are testing to assess the speed and effectiveness of the
system and to ensure it is generating results within a specified time as in performance
requirements. Its falls under black box testing category.

Load testing, stress testing, Soak, Spick etc. are type of performance testing.

Jmeter, Open STA, Load Runner, Web Load etc. are tool for performance testing.

AD HOC Testing:
Ad hoc Test is a type of testing the system without any planning and documentation. Tests
are accompanied informally and randomly without any formal expected results.

The tester creates the steps and randomly to executes them (like a monkey typing while
dancing). However defects found using this method are more difficult to reproduce (since
there are no written test cases), sometimes very remarkable defects are found which would
never have been found if written test cases were strictly followed.

Page 19 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

The success of ad hoc testing depends on the creativity and persistence of the tester and of
course, luck.

Security testing
Security Testing intends to expose vulnerabilities of the system and determine that its data
and resources are protected from possible attackers. In other words, Security testing is a
testing technique to determine if an information system protects data and maintains
functionality as planned. Security testing is non-functional testing.
It verifying 6 basic principles listed below:
• Confidentiality
• Integrity
• Authentication
• Authorization
• Availability
• Non-repudiation

Top 10 security threats for 2013 are


• Injection
• Broken Authentication and Session Management
• Cross-Site Scripting (XSS)
• Insecure Direct Object References
• Security Misconfiguration
• Sensitive Data Exposure
• Missing Function Level Access Control
• Cross-Site Request Forgery (CSRF)
• Using Known Vulnerable Components
• Un-validated Redirects and Forwards

Table 3: Open Source/Free Security Testing Tools


Product Vendor URL
FxCop Microsoft https://www.owasp.org/index.php/FxCop
FindBugs The University of Maryland http://findbugs.sourceforge.net/
FlawFinder GPL http://www.dwheeler.com/flawfinder/
Ramp Ascend GPL http://www.deque.com

Page 20 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Apart from this Armorize CodeSecure, GrammaTech, Appscan, Veracode etc. are
commercial testing tool.

Usability testing
Usability Testing done from an end user's standpoint to check if the system is easily usable
and it is non-functional testing technique. It is very difficult to evaluate and measure but can
be appraised based on the below parameters
• Level of Skill required to use/learn the software. Software should maintain the
balance for both novice and expert user.
• Time required to get used to in using the software.
• The measure of increase in user productivity if any.
• Assessment of a user's attitude towards using the software.

Usability Testing is generally performed during System Testing and Acceptance Testing
levels.
Usability Testing is a type of testing done from an end-user’s standpoint to determine if the
system is easily usable.

ISTQB’s Definition: Usability testing is a Testing to determine the extent to which the
software product is understood, easy to learn, easy to operate and attractive to the users
under specified conditions.

The purpose of this event is to review the application user interface and other human
factors of the application with the people who will be using the application. This is to
guarantee that the design (layout, sequence, etc.) enables the business functions to be
executed as easily and intuitively as possible.
Below Figure illustrates Usability Testing Processes

Page 21 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Figure 6: Usability Testing Process

Stress Testing
Stress testing is one of the performance testing technique. In stress testing, system is
stressed beyond its conditions to check how and when it fails. It’s performed under heavy
load like putting large number outside storage capacity, complex database queries,
continuous input to system or database load. This testing is generally used to understand
the upper limits of capacity of system. This type testing is to perform to check the system
strength in terms of extreme load and to help application administrators to check that the
system will perform satisfactorily if load goes above the expected maximum load. It fall
under Black box testing category.

Compliance Testing
Compliance Testing is a type of testing to determine the compliance of a system with
internal or external standards. It’s also known as conformance testing, regulation testing,
standards testing.

Accessibility testing
Accessibility testing one of the technique of usability testing where in the users under
consideration are people with all abilities and disabilities. The significance of this testing is

Page 22 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

to verify both usability and accessibility of Application/product. Below are Accessibility


testing tools.
• AccVerify HiSoftware
• Bobby Watch fire
• WebXM Watch fire
• Ramp Ascend Deque
• InFocus SSB Technologies

Acceptance Testing
Acceptance testing is done to check if system meets the customer specified requirements.
User or customer do this type of testing in their environment to determine whether to
accept application or not. User acceptance testing, Business acceptance testing, Alpha and
Beta testing are forms of acceptance testing. Acceptance testing activities are designed to
reach on of the below conclusions
• Accept the system as delivered
• Accept the delivered system after requested modifications have been made.
• Do not accept.

The Acceptance test Report contains following attributes:


• Report Identifier
• Summary of Results
• Variations
• Recommendations
• Summary of To-Do List
• Approval Decision

Internationalization testing
Internationalization testing is a testing to check the application under test to work
consistently across multiple regions and cultures. It is very difficult to survives any product
in current world if is not supporting regional languages and stick with only one location.
Product developed in one location are used all over world with different languages and its
standards, rise the need of this type of testing.

Page 23 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Internationalization Checklists:
• Testing to check if the product works across settings.
• Verifying the installation using various settings.
• Verify if the product works across language settings and currency settings.

Alpha testing
It is simulated or actual operational testing by potential customers/users or an independent
test team at the developers' site.

Beta Testing
Beta testing is the testing which is done by end users, a team outside development, or
publicly releasing full pre-version of the product which is known as beta version. The aim of
beta testing is to cover unexpected errors. It falls under the class of black box testing.

Parallel Testing
A test where the existing and new systems are operated in parallel and the before-and-after
results are compared.

Fail over Testing


Fail over testing in the midrange environments involves the ability to move hardware and
software resources from one host to another, which provides for high availability.

Regression Testing
Testing of a formerly verified application following modifications for extension or correction
to ensure now new defects have been introduced. It is estimated that 20-50% of system
enhancements and repairs introduce new defects to the application. A Full Regression
testing is executed when multiple changes have been made to critical components of the
application.
A test to ensure that all unchanged functions still operate as expected after a change has
been introduced. Regression testing is used to validate that everything will work together
after all changes and fixes have been made.

Page 24 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Recovery Testing
Testing how well a system recovers from crashes, hardware failures, or other disastrous
problems. Recovery testing evaluates the contingency features built into the application for
handling interruptions, and for returning to specific points in the application processing.
Any backup, restoration, and restart capabilities are also tested here. This test may be
conducted by the test team during system test.

Install/Uninstall Testing
This type of testing is performed for full, partial, or upgrade installation/uninstallation
processes on different operating systems under different hardware, software environment.

Page 25 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

Summary
• Software Testing Life Cycle process is an integral part of the Software Development
Life Cycle.
• Software Testing Life Cycle (STLC) defines the phases/stages/steps in testing of
software. However, there is no fixed standard Software Testing Life Cycle (STLC) in
the world.
• Requirement Analysis: In this phase, test team analyse the customer requirements
from a testing point of view to identify the testable requirements.
• Review Defect report, Requirement Traceability Matrix and Automation feasibility
report (if applicable) are deliverable of Requirement Analysis phase.
• Test Strategy & Planning: Test Analyst/Manager will prepare the Test Strategy and
Test Plan documents.
• Test Plan, Test Estimation and Test Schedule are deliverable of Test Strategy &
planning phase.
• Test Design: The test objectives established in the test plan should be decomposed
into individual test cases. Begin the process with high-level test objectives.
• Test Cases, Test Scripts, and Test Data are deliverable of Test Design phase.
• Test Environment Setup: Setup the test environment (server/ client/ network, etc)
with the goal of replicating the end-users’ environment. It is one of the critical
aspects of testing process and can be done parallel with Test case development
stage.
• Test Environment ready with test data set up and Smoke Test result are deliverable
of Test Environment Setup phase.
• Test Execution: Test execution is most important phase in the STLC and also the
entire software development life cycle because every team/team member’s
contribution and work gets validated here.
• Test Result (Incremental) and test report and completed RTM with execution status
are deliverable of Test Execution phase.
• Defect Reporting & Tracking: Testers generate a formal defect report ,after finding
a defects (bugs) in the application under test or by product testing or recording
feedback from customers and building new version of the product that fix defects.
• Test Results (Final), Test/ Defect Metrics, and Test Closure Report are deliverable of
Defect Reporting & Tracking phase.

Page 26 of 28
Certificate in Software Testing Skill TCS Business Domain Academy

• Test Project Closer: Once the test meets the exit criteria, the activities such as
capturing the key outputs, lessons learned, results, logs, documents related to the
project are archived and used as a reference for future projects.
• Test closer defect report and signoff are deliverable of Test Project Closer phase.
• Various testing techniques were defined and various kinds of testing were clearly
separated from each other which led to the waterfall model evolving into the V-
model.
• Load Testing: Software Load testing is the process of putting demand on a software
system or computing device and measuring its response under both normal and
peak load conditions.
• Performance testing: Performance testing, a non-functional testing technique, to
determine the system parameters in terms of responsiveness and stability under
various workload.
• AD HOC Testing: Ad hoc Testing is a type of testing the system without any
planning and documentation. Tests are conducted informally and randomly without
any formal expected results.
• Security testing: Security Testing intends to uncover vulnerabilities of the system
and determine that its data and resources are protected from possible invaders.
• Usability testing: Usability Testing done from an end user's perspective to check if
the system is easily usable and it is non-functional testing technique.
• Compliance Testing: Compliance Testing is a type of testing to determine the
compliance of a system with internal or external standards.
• Accessibility testing: Accessibility testing one of the technique of usability testing
where in the users under consideration are people with all abilities and disabilities.
• Acceptance Testing: Acceptance testing is done to verify if system meets the
customer specified requirements.
• Regression Testing: A test to ensure that all unmodified functions still operate as
expected after a change has been introduced.
• Install/Uninstall Testing: This type of testing is performed for full, partial, or
upgrade install/uninstall processes on different operating systems under different
hardware, software environment

Page 27 of 28

You might also like