ISAS SEMINAR ON
SOFTWARE TESTING
Presented by
Jaikumar
Sudharshan
CONTENTS
1. Introduction
2. Testing objectives
3. Testing principles
4. Classification of testing
5. Black box testing
CONTENTS
1. White box testing
2. Performance testing
3. Reliability testing
4. Security testing
5. Testing automation
CONTENTS
1. Available Tools And Techniques
2. Testing level
3. Testing cycle
4. Summary
5. Queries
INTRODUCTION
Software testing:
Testing a
software for its
Correctness
Completeness
Security.
INTRODUCTION
SQA – Software Quality
Assurance is testing a
software product
completely in a broader
aspect.
Software testing is a
part of SQA.
TESTING OBJECTIVES
Testing = executing a program to find an
error
Quality of a test case: probability of finding
an as-yet undiscovered error.
A successful test uncovers a lot of
undiscovered error
TESTING PRINCIPLES
All tests should be
Made according to customer requirements
planned long before testing begins
begin in-the-small and progress toward in-
the-large
Exhaustive testing is not possible
Classification of testing
It is broadly classified based on point of view
a test engineer takes as
Black-box testing
White-box testing
BLACK BOX TESTING
Only inputs and output functionality are
visible
Inputs are given and outputs are compared
against specification.
No implementation details of the code are
considered.
Data driven testing.
BLACK BOX TESTING
Targets: To find
incorrect or missing functions
interface errors
performance errors
WHITE BOX TESTING
Contrary to black-box testing.
structure and code are visible.
Implementation of the software is given
importance
programming language, logic, and styles are
considered.
WHITE BOX TESTING
Targets: To check
Control-flow
Looping
data-flow
all the nodes or paths are covered or
traversed at least once.
PERFORMANCE TESTING
software should not take infinite time or
infinite resource to execute.
PERFORMANCE BUGS – process that
causes system performance to degrade.
Usage of workload to check software
performance.
PERFORMANCE TESTING
Targets: To check
CPU cycles.
Disk space.
Disk access operations.
Memory usage.
RELIABILITY TESTING
probability of failure-free operation of a
software.
Robustness testing - degree to which it can
function correctly in the presence of
exceptional inputs.
RELIABILITY TESTING
Targets:
To check for robustness problems such as
machine crashes.
process hangs.
abnormal termination.
SECURITY TESTING
Need for security testing:
Flaws in software can be exploited by
hackers.
With the development of the Internet,
software security problems are becoming
even more severe.
SECURITY TESTING
Targets: To check
security violations.
validating the effectiveness of security
measures.
Simulated security attacks to find security
vulnerabilities.
TESTING AUTOMATION
The need:
Software testing can be very costly.
Automation is a good way to cut down time
and cost.
In order to automate the testing process we
have to generate the test cases to check for
complete correctness.
TESTING AUTOMATION
Today we still don't have a full-scale system
that has achieved this goal.
significant amount of human intervention is
still needed in testing.
The degree of automation remains at the
automated test script level.
AVAILABLE TOOLS AND
TECHNIQUES
A lot of testing tools are available. some of them are
Mothora :
3. mutation testing tool developed at Purdue university.
4. Can create and execute test cases, measure
adequacy
5. Determine input – output correctness, remove bugs
AVAILABLE TOOLS AND
TECHNIQUES
NuMega's Boundschecker, National's Purify
2. Runtime checking and debugging aids.
3. Check and protect against memory leaks
and pointer problems.
Ballista COTS Software Robustness Testing
Harness :
5. Full scale automated robustness testing
tool.
TESTING LEVELS
Acceptance testing – system requirement-
performed after testing and before
implementation phase.
Alpha testing - testing by an independent
test team at developers' site.
Beta testing – beta versions released outside
the company sometimes to open public to
increase feedback.
TESTING CYCLE
SUMMARY
Testing is a
destructive activity.
Testing cannot
show the absence
of defects.
Testing > 30% of
total effort.
SUMMARY
Alltests should be
traceable to
customer
requirements.
White-box testing.
Black-box testing
SUMMARY
Software quality,
reliability and
security are tightly
coupled.
Robustness,
performance,
reliability testing.
SUMMARY
•Testing automation
•Testing cycle
•Testing levels
QUERIES