Class Notes (1,100,000)
CA (650,000)
UW (20,000)
CS (1,000)
CS447 (60)
Lin Tan (60)
Lecture

CS447 Lecture Notes - Unit Testing, Visual Basic, Vbscript


Department
Computer Science
Course Code
CS447
Professor
Lin Tan

This preview shows half of the first page. to view the full 3 pages of the document.
Integration Testing
Name
Description
Pro
Con
Big-Bang
Integrate all
components together
and test
- Good for small
systems
- Doesn’t work well
for large programs;
because its hard to
know what caused the
error
Bottom-
up
First Lowest layer of
the hierarchy
subsystem are tested,
then the upper levels,
until all system is
tested together
- No stubs needed
- Useful for integrating
systems that don’t
have much user
interface ( OO, real
time, strict
performance )
- The user interface is
tested last ( most
important part ) , so
can’t demo to people
- Drivers are needed
Top-
Down
Test top layer or
controlling subsystem,
then one level down,
repeat until all are
integrated
- No Drivers needed
- test cases are defined
in terms of
functionality ( user
interface, can change it
easily )
- Stubs are needed
and are hard to write
( should work for all
conditions )
especially hard for
lower level of system
which has lots of
methods
Sandwich
Combine top-down
and bottom-up,
middle layer is the
target, need to
converge to it
- Top and bottom tests
can be done in parallel
- Does not test the
individual subsystems
and their interfaces
thoroughly before
integrations
Modified
Sandwich
Unit testing of
components then use
sandwich strategy
- test individual
subsystems and their
interfaces thoroughly
before integration
Identify correct output
Method name
Description
Con
Direct Verification
Checks and
verification to identify
a correct output
- complicated , easy to make
mistakes
Redundant computation
Write two programs,
check they produce
the same answer
- Very expensive to produce
N-version programs
- Problem with coincident
failures -> the problem that
it fails the independent
failure assumption
You're Reading a Preview

Unlock to view full version