|

|
|
Software Testing In The
Real World
|
|
|
|
|
|
What works - and
why
|
|
|
|
|
|
What doesn't work - and
why
|
|
|
|
|
|
What can go wrong
|
|
|
The Basics and the
Terminology
|
|
|
|
|
|
Black Box vs. Glass Box
Testing
|
|
|
|
|
|
Why you can't test for
everything
|
|
|
|
|
|
How you can still test
well anyway
|
|
|
|
|
|
The difference between
getting Code Coverage, Path Coverage, and other
measures of completeness
|
|
|
Risk Driven
Testing
|
|
|
|
|
|
How Risk Prioritization
keeps testing on track
|
|
|
|
|
|
Using Impact and
Likelihood to determine Risk
|
|
|
|
|
|
How to get the Risk
numbers for your project and how to use them
to prioritize testing
|
|
|
How Bugs Get
Missed
|
|
|
|
|
|
Example: Lots of
tests, but a major bug is still missed
|
|
|
|
|
|
Test cases that would have
found this bug, and why
|
|
|
|
|
|
Getting traction on the
problem:
Systematic test case design techniques
|
|
|
The Key: Designing
the Right Test Cases
|
|
|
|
|
|
What a good test case
looks like
|
|
|
|
|
|
Selecting outputs for
testing, based on Risk
|
|
|
|
|
|
What to use as inputs for
the test case
|
|
|
All Inputs Are Not
Alike
|
|
|
|
|
|
Do you have to test all
combinations of inputs?
|
|
|
|
|
|
The three types of
inputs
|
|
|
|
|
|
Which two types are
trivial to test - and how to handle the type that
counts
|
|
|
Reducing the Number of
Test Cases - New Techniques
|
|
|
|
|
|
Making each test case
count
|
|
|
|
|
|
Reduction by using
Equivalence Classes in an new way
|
|
|
|
|
|
How to reduce the cases by
exploiting dependencies
|
|
|
|
|
|
How to spot redundant
tests even though they look completely
different
|
|
|
Finding the Tough
Bugs
|
|
|
|
|
|
Using 'State of The World'
variables to prevent surprises
|
|
|
|
|
|
How to limit side effects
by using Hidden Outputs
|
|
|
|
|
|
Controlling problems
caused by interactions of different parts of the
system
|
|
|
What To Do When The
Output is an Action
|
|
|
|
|
|
The 'SEND msg TO
userid' example
|
|
|
|
|
|
How to tell whether the
test worked right
|
|
|
|
|
|
How many tests you need,
and what they are
|
|
|
How To Handle Complex
Sets of Conditions
|
|
|
|
|
|
Introduction to using
Decision Tables in testing
|
|
|
|
|
|
A better way to design
Decision Tables
|
|
|
|
|
|
How to subdivide Decision
Tables to limit complexity
|
|
|
What To Do When the
System's Output is its Behavior
|
|
|
|
|
|
Easier testing by using a
States & Events model
|
|
|
|
|
|
What the test cases are,
with examples
|
|
|
|
|
|
A new technique that keeps
the number of States small and manageable
|
|
|
Mapping Tests to
Requirements
|
|
|
|
|
|
Breaking the requirements
down for testing
|
|
|
|
|
|
Requirements coverage
based on Risk
|
|
|
|
|
|
What to do if you don't
have any (decent) requirements
|
|
|
The Testing
Process
|
|
|
|
|
|
The realities: time
pressure, getting along with developers
|
|
|
|
|
|
We know it won't be
perfect - but it can be very
good
|
|
|
|
|
|
Fatal Error: The
Caboose
|
|
|
How To Do Each Type of
Testing
|
|
|
|
|
|
Unit Testing
|
|
|
|
|
|
Integration Testing - an
innovative new approach
|
|
|
|
|
|
System Testing
|
|
|
A New Approach:
CATS
|
|
|
|
|
|
Beating the combination
problem
|
|
|
|
|
|
How constrained arrays
minimize tests of many factors
|
|
|
|
|
|
Results at Bell Labs on
real systems
|
|
|
|
|
|
How to do
CATS testing yourself
|
|
|
Testing
Tools
|
|
|
|
|
|
What's available
|
|
|
|
|
|
How each type of tool
works
|
|
|
|
|
|
What each tool can - and
can't - do for you
(Includes coverage
analyzers, automated capture / playback and
script-driven regression testing tools, test
management tools, and load / performance testing
tools)
|
|
|
Walkthroughs and
Inspections
|
|
|
|
|
|
What's the
difference?
|
|
|
|
|
|
How to perform them
effectively
|
|
|
|
|
|
The five pitfalls to
avoid
|
|
|
Metrics
|
|
|
|
|
|
How much testing is
enough?
|
|
|
|
|
|
Metrics to tell how we're
doing
|
|
|
|
|
|
The one best metric for
measuring testing effectiveness
|
|
|
What To Put In The Test
Plan
|
|
|
|
|
|
What is a Test
Plan?
|
|
|
|
|
|
The critical sections that
must be in the Plan
|
|
|
|
|
|
A complete sample test
plan outline, and a template that you can
use to create your own Test Plan
|
|
|
The Politics of
Testing
|
|
|
|
|
|
There's never enough time
- how to get more
|
|
|
|
|
|
Avoiding getting stuck
with Mission Impossible
|
|
|
|
|
|
How to handle technical
people well and get their cooperation as part of
the solution
|
|
|
Resources
|
|
|
|
|
|
Glossary
|
|
|
|
|
|
Recommended Books
|
|
|
|
|
|
Web resources
|
|
Who Should Attend:
This course is valuable for quality
assurance and testing staff, programmers, systems analysts,
and project managers.
Cost: $395 US web
delivered, approx $795 / student
instructor-led
|
|