Download - Software Testing Ppt
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