4. Types of Testing
• Unit Testing
• Acceptance Testing
• Internal Quality - is it easy to maintain?
How hard is it to make changes?
• External Quality - does it do what it's
supposed to?
6. Costs of not Testing
• Code debt
• Can’t refactor safely
7. Benefits
• Tests facilitate change
• Good coverage ensures that all code
paths work
• Tests make the code easier to
understand
• Testability leads to cleaner code;
microformats
8. Cost of Testing
• Hard work and discipline
• Requires hardcore team commitment
14. Further Reading
• Agile Software Development: Principles, Patterns and Practices, Robert
C. Martin
• Architecture is a Second Order Effect, http://blog.objectmentor.com/
articles/2007/10/20/architecture-is-a-second-order-effect
• Re: Simples Rules make creating Big Balls of Mud impossible. http://
coding.derkeiler.com/Archive/General/comp.object/2007-01/
msg00241.html
• http://en.wikipedia.org/wiki/Code_coverage
• http://www.objectmentor.com/omSolutions/agile_xp_differences.html
• Extreme programming explained: Embrace Change By Kent Beck
• Planning Extreme Programming, Beck, Fowler, Kohnke