software dev team members
developer (writes implementation)
tester (writes specification)
and manager
4 observations
testing checks
consistency between specification and implementation
classification of testing approaches
manual/automated vs black box/ white box
advantages of automated testing
advantages of manual testing
- potential better coverage (not guarantee)
advantages of black box testing
advantages of white box testing
- potential better coverage
disadvantages of automated testing
pre/post conditions
common problems of a test suite
- too many tests: costly to run, bloat, and redundancy, harder to maintain.
2 approaches to test suite validation
- mutation analysis (or mutation testing)
code coverage
type of code coverage
mutation analysis
- the mutant can be equivalent to the original
frame conditions
the assumption about everything else outside of the pre/post condition
mutation analysis adequates if
mutant fails but the original code passes
problem with mutation analysis
if mutant is equivalent to the original