Software Testing Ppt

Preview:

Citation preview

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

6. White box testing

7. Performance testing

8. Reliability testing

9. Security testing

10. Testing automation

CONTENTS

11. Available Tools And Techniques

12. Testing level

13. Testing cycle

14. Summary

15. 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 :

1. mutation testing tool developed at Purdue university.

2. Can create and execute test cases, measure adequacy

3. Determine input – output correctness, remove bugs

AVAILABLE TOOLS AND TECHNIQUES

NuMega's Boundschecker, National's Purify 1. Runtime checking and debugging aids.2. Check and protect against memory leaks

and pointer problems. Ballista COTS Software Robustness

Testing Harness : 1. 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 Testing is a destructive activity.destructive activity.

Testing cannot Testing cannot show the absence show the absence of defects.of defects.

Testing > 30% of Testing > 30% of total effort.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

Recommended