SOFTWARE TESTING

ISAS SEMINAR ON

Presented by Jaikumar Sudharshan

CONTENTS
1. 2. 3. 4. 5.

Introduction Testing objectives Testing principles Classification of testing Black box testing

CONTENTS
1. 2. 3. 4. 5.

White box testing Performance testing Reliability testing Security testing Testing automation

CONTENTS
1. 2. 3. 4. 5.

Available Tools And Techniques Testing level Testing cycle Summary 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 inthe-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 : mutation testing tool developed at Purdue university. Can create and execute test cases, measure adequacy Determine input – output correctness, remove bugs

 3. 4. 5.

AVAILABLE TOOLS AND TECHNIQUES
 2. 3.  5.

NuMega's Boundschecker, National's Purify Runtime checking and debugging aids. Check and protect against memory leaks and pointer problems. Ballista COTS Software Robustness Testing Harness : Full scale automated robustness testing tool.

TESTING LEVELS
 Acceptance

testing – system requirementperformed 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
 All

tests 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

Sign up to vote on this title
UsefulNot useful