Você está na página 1de 30

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

Você também pode gostar