want to contact me login to
TRANSCRIPT
Software Testing
What is Testing?
• A process of demonstrating that errors are not
present
• A process of establishing confidence that a
program does what it is supposed to do.
• A process of finding errors in a program
Objectives of Testing
To greatest possible number of errors with a
manageable find the amount of efforts applied
over a realistic time span with a finite number of
test cases.
What Does Software testing Reveal?
errorserrors
requirements conformance or the lack of itrequirements conformance or the lack of it
performanceperformance
an indicationan indicationof qualityof quality
Testing – Why?
• Contribute to the delivery of higher quality
software product
• Undetected errors are costly to detect at a
later stage
• Satisfied users and to lower maintenance cost
Testing – How?
• By examining the internal structures and
design
• By examining the functional user interface
• By examining the design objectives
• By examining the users’ requirements
• By executing code
Verification and Validation
Verification refers to a set of activities that
ensure that software correctly implements a
specific function.
Validation refers to a different set of activities
that ensure that the software that has been
built is traceable to customer requirements.
Verification and Validation
Verification – Are we building the product right?
Validation – Are we building the right product?
Test Case
• “A set of test inputs, execution conditions,
and expected results developed for a
particular objective, such as to exercise a
particular program path or to verify
compliance with a specific requirement.”
(…IEEE)
In other words, a planned sequence of actions
(with the objective of finding errors)
A Good Test-Case
• Has a high probability of detecting error(s)
• Test cases help us discover information (.. Kaner)
e.g. of information objectives
• Help managers make ship / no-ship decisions.
• Minimize technical support costs.
• Assess conformance to specification.
• Minimize safety-related lawsuit risk.
• Verify correctness of the product.
Other Terminologies
Test Scenarios - Explains which test cases to process
and how to process them.
Test Suite – A set of individual test cases/scenarios that
are executed as a package, in a particular sequence.
Test Cycle – A test cycle consists of a series of test
suites which comprises a complete execution set from
the initial setup to the the test environment through
reporting and clean up.
What Do We Test
Fundamental issues : Functions, Portability, Usability, Reliability, Security, Availability
Real-time issues : Timing, Capacity, Throughput,Performance
System management issues: Overload, Backup & Recovery,
Start-up and shut-down
Purchased software Operating systems, DBMS, Communications, Graphics
Testing Techniques (Coverage)
White Box Test Techniques• Code Coverage
• Statement Coverage • Decision Coverage• Condition Coverage
• Code complexity• Memory Leakage
Black Box Test Techniques•Equivalence Partitioning •Cause-Effect Graphing• Boundary Value Analysis • Use Case / UMl• Error Guessing
Test Case Design
• Complete testing is impossible.
• The key issue of testing is to design test cases
that has the highest probability of detecting
the maximum errors.
• One can develop a reasonably rigorous test by
using certain black box oriented test case
design methods and then supplementing them
with those of white box.
Black Box Test Techniques
• Black box is data-driven, or input/output-driven
testing
• The Test Engineer is completely unconcerned about
the internal behavior and structure of program
• Black box testing is also known as behavioral,
functional, opaque-box and closed-box.
Input Output
White Box Test Techniques
• White Box Test Techniques
• Code Coverage
Statement Coverage
Decision Coverage
Condition Coverage
• Code complexity
• Memory Leakage