Beruflich Dokumente
Kultur Dokumente
Some practices:
Good design and planning
Coding style guides
Code reviews/walkthroughs
Pair programming
y Memory behavior
o Detects corruption and leaks
y Performance
o Time of routines Gnu gprof
Verify: Did we
Verify: Did we build
build the
the system
system right?
right?
y Methodical
o Follow experimental procedures precisely
o Document observed behaviors, their precursors and
environment
y Brutally honest
o You cant argue with the data
Often
CSE 403, Spring 2006, Alverson developer
driven
How do we design good tests?
y Well-defined inputs and outputs
o Consider environment as inputs
o Consider side effects as outputs
Necessary when:
o GUI is present
o Behavior is dependent on physical activity
Advisable when:
o Automation is more complex system being
tested!
o System is changing rapidly (early development)
CSE 403, Spring 2006, Alverson
Automated Testing
Tests that can be executed
independent of human interaction
y Good: replaces manual testing
y Better: performs tests difficult for manual testing
(e.g. timing related issues)
y Best: enables other types of testing (regression,
perf, stress, lifetime)
y Cost: Time investment to link tests into harness
CSE 403, Spring 2006, Alverson
Tools rock!
Example Test Harness
25
20
15
10
TIME
CSE 403, Spring 2006, Alverson
Classifying bugs
Tune in on Monday!