6. “The fundamental problem with
program maintenance is
that fixing a defect has a
substantial (2050 %) chance of
introducing another defect.”
Mythical Man Month
7/25/09
7. Unit Testing is intended to:
verify software behavior
7/25/09
8. Unit Testing is intended to:
verify software behavior
using software
7/25/09
9. Independent code
that test or verify
larger sections of code
7/25/09
22. Design
The “API”
Specifies form and behavior
without internal details
Adequate “coverage” of the
API allows confidence in code
changes
7/25/09
23. Facilitate Change
Confidence in refactoring code
quickly.
Determine original functions work
when new features are added.
Verifiable tests take away guess
work when changing code.
7/25/09
24. Simpler Integration
Third party libraries can be
“swapped” with minimal pain.
Upgrades and dependencies can
be changed and proven.
Third parties can be held
responsible for their bugs.
7/25/09
25. Documentation
Tests may not explain why your
code works, but it shows how you
expect it to.
Tests meta data can be used to
supplement existing documents.
A form of “knowledge” transfer for
new team members.
7/25/09
26. “The fundamental problem with
program maintenance is
that fixing a defect has a
substantial (2050 %) chance of
introducing another defect.”
Mythical Man Month
7/25/09
27. “The fundamental problem with
program maintenance is
that fixing a defect has a
substantial (2050 %) chance of
introducing another defect.”
Mythical Man Month
7/25/09
37. CodeAndroid.org
• Android Developer/User Group
• Grassroots effort by developers
• Promote Android development around this region (SEA,
Oceania)
• You can join us on Facebook, Twitter (codeandroid), IRC
(#codeandroid @ irc.freenode.net)
Special thanks to Google for the venue and food.
7/25/09
38. “The fundamental problem with
program maintenance is
that fixing a defect has a
substantial (2050 %) chance of
introducing another defect.”
Mythical Man Month
7/25/09