why test driven development?
DESCRIPTION
Why should developers learn and care of TDD as an important skill?TRANSCRIPT
![Page 1: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/1.jpg)
Test Driven DevelopmentWhy Should You Care about TDD
And Automated (Unit) Testing?
Naresh JainTwitter: @nashjain
Blog: http://blogs.agilefaqs.com
Licensed Under Creative Commons by Naresh Jain1
![Page 2: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/2.jpg)
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 3: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/3.jpg)
Add a Test
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 4: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/4.jpg)
Add a Test
Run the Test
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 5: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/5.jpg)
Add a Test
Run the TestPass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 6: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/6.jpg)
Add a Test
Run the Test
Fail
Pass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 7: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/7.jpg)
Add a Test
Run the Test
Make a little change
Fail
Pass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 8: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/8.jpg)
Add a Test
Run the Test
Make a little change
Run the Test
Fail
Pass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 9: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/9.jpg)
Add a Test
Run the Test
Make a little change
Run the Test
Fail
Fail
Pass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 10: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/10.jpg)
Add a Test
Run the Test
Make a little change
Run the Test
Fail
Pass
Fail
Pass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 11: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/11.jpg)
Add a Test
Run the Test
Make a little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 12: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/12.jpg)
Add a Test
Run the Test
Make a little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 13: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/13.jpg)
Add a Test
Run the Test
Make a little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 14: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/14.jpg)
Add a Test
Run the Test
Make a little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
Test Driven Development
TDD Rhythm - Test, Code, Refactor
2
![Page 15: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/15.jpg)
Why Learn TDD?
3
![Page 16: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/16.jpg)
Manual (monkey) Checking by Developers and Tester
4
![Page 17: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/17.jpg)
Stay away from (time hungry) debugger
5
![Page 18: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/18.jpg)
Maintain Focus
6
![Page 19: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/19.jpg)
Confidence
7
![Page 20: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/20.jpg)
Reduce Wastage: Hand Overs
8
![Page 21: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/21.jpg)
Helps youSlow down and Think
9
![Page 22: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/22.jpg)
Communication
10
![Page 23: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/23.jpg)
11
![Page 24: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/24.jpg)
Ultimate Goals
12
![Page 25: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/25.jpg)
Ultimate Goals
• Bring JOY back to programming
12
![Page 26: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/26.jpg)
Ultimate Goals
• Bring JOY back to programming
• Understand Code Easily
12
![Page 27: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/27.jpg)
Ultimate Goals
• Bring JOY back to programming
• Understand Code Easily
• Produce Simple, Testable, Loosely-Coupled Design
12
![Page 28: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/28.jpg)
Ultimate Goals
• Bring JOY back to programming
• Understand Code Easily
• Produce Simple, Testable, Loosely-Coupled Design
• Build Quality In
12
![Page 29: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/29.jpg)
Ultimate Goals
• Bring JOY back to programming
• Understand Code Easily
• Produce Simple, Testable, Loosely-Coupled Design
• Build Quality In
• Reduce Maintenance Significantly
12
![Page 30: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/30.jpg)
Living, up-to-date specification
13
![Page 31: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/31.jpg)
Learning:Listen to your code
14
![Page 32: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/32.jpg)
Testable Code by Design+
Safety Net
15
![Page 33: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/33.jpg)
Communicate Design Decisions
16
![Page 34: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/34.jpg)
Loosely-Coupled Design
17
![Page 35: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/35.jpg)
Refactoring
18
![Page 36: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/36.jpg)
Ultimate Goals
• Bring JOY back to programming
• Understand Code Easily
• Produce Simple, Testable, Loosely-Coupled Design
• Build Quality In
• Reduce Maintenance Significantly
19
![Page 37: Why Test Driven Development?](https://reader034.vdocuments.mx/reader034/viewer/2022042510/55492c39b4c905b44c8bfcbb/html5/thumbnails/37.jpg)
Thank You!Naresh Jain
Licensed Under Creative Commons by Naresh Jain
20