Test driving to clean CODE Kenrick Chien CTO, Critical Phase
Photo by Toni Blay - Code we want to avoid
BENEFITS Easy to refactor Cleaner; less time spent debugging Documentation - examples More time to do what you enjoy
THE TDD “CYCLE” RED GREEN REFACTOR
UNCLE BOB’S Three LAWS OF TDD 1. You are not allowed to write any production code unless it is to make a failing unit test pass. 2. You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures. 3. You are not allowed to write any more production code than is sufficient to pass the one failing unit test.
MYTHS All about unit tests Testing methods, not behavior Too slow; I don’t have time for this!
Limitations New language /framework Database & UI Culture
Kata
references Beck, K. Test-Driven Development by Example. Addison Wesley, Erdogmus, Hakan; Morisio, Torchiano. "On the Effectiveness of Test-first Approach to Programming". Proceedings of the IEEE Transactions on Software Engineering, 31(1). January On the Effectiveness of Test-first Approach to Programming Freeman, Steve and Nat Pryce. Growing Object-Oriented Software, Guided By TestsSoae, Guided By Tests Massachusetts: Pearson Educatio Massachusetts: Pearson Education, Inc, Fowler, Martin. Refactoring: Improving the Design of Existing Code. USA: Addison Wesley Longman, Inc Martin, Robert. Agile Software Development Principles, Patterns, and Practices. New Jersey: Pearson Education, Inc
Contact website: blog: