Professional Documents
Culture Documents
Software Testing Basics: Elaine Weyuker AT&T Labs - Research Florham Park, NJ November 11, 2002
Software Testing Basics: Elaine Weyuker AT&T Labs - Research Florham Park, NJ November 11, 2002
Elaine Weyuker
AT&T Labs – Research
Florham Park, NJ
• Detect faults
• Establish confidence in software
• Evaluate properties of software
– Reliability
– Performance
– Memory Usage
– Security
– Usability
Software Testing Difficulties
Most of the software testing literature equates test
case selection to software testing but that is just one
difficult part. Other difficult issues include:
• Stages of Development
• Source of Information for Test Case
Selection
Stages of Testing
• Unit Testing
• Feature Testing
• Integration Testing
Unit Testing
Tools:
• Test driver/harness
• Code coverage analyzer
• Automatic test case generator
Integration Testing
Tests interactions between two or more units or
components. Usually done by programmers.
Emphasizes interfaces.
Issues:
• In what order are units combined?
• How do you assure the compatibility and
correctness of externally-supplied components?
Integration Testing
How are units integrated? What are the implications
of this order?
Potential Problems:
• Inadequate unit testing.
• Inadequate planning & organization for
integration testing.
• Inadequate documentation and testing of
externally-supplied components.
Stages of Testing
• The input stream for this system is also the input stream
for a different already-operational system.
• The input stream for this system is the output stream for a
different already-operational system.
• Although this system is new, it is replacing an existing
system which ran on a different platform.
• Although this system is new, it is replacing an existing
system which used a different design paradigm or
different programming language.
• There has never been a software system to do this task,
but there has been a manual process in place.
Operational Distribution-Based Test
Case Selection
If income is Tax is
$0 - 20K 15% of total income
$20 -50K $3K + 25% of amount over $20K
Above $50K $10.5K + 40% of amount over $50K
Risk is based on
• Failure likelihood or likelihood of occurrence.
• Failure consequence.
So risk-based testing involves selecting test cases
in order to minimize risk by making sure that the most
likely inputs and highest consequence ones are selected.
Risk-based Testing