CIS 375 SOFTWARE ENGINEERING
University Of Michigan-Dearborn
Dr. Bruce Maxim, Instructor
Testing:
Defective Software:
Causes Of Errors:
Types Of Errors:
Reason for testing id to prove the existence of an error, and then deal with it.
Has to be an egoless process - if programmers were evaluated by errors, each program would not have errors.
Stages Of Testing:
Types Of Testing:
Functional specification based on pre/post.
Implementation visible - logic paths.
Which To Use:
Unit Testing:
Testing Program Logic:
Strategies To Generate Test Data:
Black Box:
Every possible combination or permutation of inputs.
White Box:
Partition input data into classes:
Basis Path Testing:
Control Structure Testing:
E1 < E2, E1 = E2, E1 > E2, - if / case / etc.
Scope / visibility - conflicts
a) Equivalence partitioning.
(1 valid class & 2 invalid classes)
(1 valid class & 2 invalid classes)
(1 valid class & 1 invalid class)
(1 valid class & 1 invalid class)
b) Boundary testing.
Function Testing:
Thread testing (set of actions associated with particular module functions)
if A then B if A then not B
Comparison Testing:
input -> output - means correct
Integration Testing:
Bottom - Up |
Top - Down |
Big Bang |
Sandwich |
|
Integration |
Early |
Early |
Early |
|
Time to get working program |
Late |
Early |
Late |
Early |
Drivers |
Yes |
No |
Yes |
Yes |
Stub |
No |
Yes |
Yes |
Yes |
Parallelism |
Medium |
Low |
High |
Medium |
Test specification |
Easy |
Hard |
Easy |
Medium |
Product control seq. |
Easy |
Hard |
Easy |
Hard |