Download - Test driving to clean CODE
![Page 1: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/1.jpg)
Test driving to clean CODE
Kenrick Chien CTO, Critical Phase
![Page 2: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/2.jpg)
![Page 4: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/4.jpg)
BENEFITS
•Easy to refactor•Cleaner; less time spent debugging•Documentation - examples•More time to do what you enjoy
![Page 5: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/5.jpg)
THE TDD “CYCLE”
•RED
•GREEN
•REFACTOR
![Page 6: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/6.jpg)
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.
![Page 7: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/7.jpg)
MYTHS
• All about unit tests
• Testing methods, not behavior
• Too slow; I don’t have time for this!
![Page 8: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/8.jpg)
Limitations•New language /framework•Database & UI•Culture
![Page 9: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/9.jpg)
Kata
![Page 10: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/10.jpg)
referencesBeck, K. Test-Driven Development by Example. Addison Wesley, 2003.
Erdogmus, Hakan; Morisio, Torchiano. "On the Effectiveness of Test-first Approach to Programming". Proceedings of the IEEE Transactions on Software Engineering, 31(1). January 2005. <http://iit-iti.nrc-cnrc.gc.ca/publications/nrc-47445_e.html>
Freeman, Steve and Nat Pryce. Growing Object-Oriented Software, Guided By Tests Massachusetts: Pearson Education, Inc, 2009.
Fowler, Martin. Refactoring: Improving the Design of Existing Code. USA: Addison Wesley Longman, Inc. 1999.
Martin, Robert. Agile Software Development Principles, Patterns, and Practices. New Jersey: Pearson Education, Inc. 2003.
![Page 11: Test driving to clean CODE](https://reader036.vdocuments.site/reader036/viewer/2022062309/56815959550346895dc6970b/html5/thumbnails/11.jpg)
Contact
• e-mail: [email protected]
• website: http://www.criticalphase.com
• blog: http://geekyninja.blogspot.com
• twitter: @kenrickchien