SlideShare a Scribd company logo
Test Driven
Development (TDD)
Ganesh Samarthyam
ganesh@codeops.tech
Entrepreneur,
Conference Speaker/Organizer
& Author
Test
Driven
Development
All code is guilty unless
proven innocent!
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
Touch the code, whole thing breaks!
Make the change easy
A Not-So-Serious Introduction to Test Driven Development (TDD)
Grow your software, guided by tests
Source: Growing Object-Oriented Software, Guided by Tests, Steve Freeman, Nat Pryce, Addison Wesley, 2009
TDD & Unit Testing => Confident change
Check Before You Leap:
Test Driven Development!
Old school approach
Design Code Test
New school approach
Design Test Code
TDD inverts the conventional approach!
And it still works!
What exactly is this TDD thingy?
❖ Test-Driven Development (TDD) is a technique for
building software that guides software development by
writing tests. (Martin Fowler’s definition)
TDD? But I already write unit tests!
Pants == TDD
Shoes == Unit tests!
TDD is mainly about design!
❖ “Test Driven Development” is NOT primarily about
testing or development (i.e., coding)
Who writes unit tests?
❖ Developers write unit tests (NOT testers) and then code
TDD mantra
Green
Red
Refactor
failing test(s)
passing test(s)
Step 1: Write test that fails
❖ Red—write a little test that doesn’t work, perhaps
doesn’t even compile at first
Source: Test Driven Development: By Example, Kent Beck, 240 pages, Addison-Wesley Professional, 2002;
Step 2: Get code working to pass test
❖ Green—make the test work quickly, committing
whatever sins necessary in the process
Source: Test Driven Development: By Example, Kent Beck, 240 pages, Addison-Wesley Professional, 2002;
Step 3: Cleanup and refactor
❖ Refactor—eliminate all the duplication and smells created
in just getting the test to work
Source: Test Driven Development: By Example, Kent Beck, 240 pages, Addison-Wesley Professional, 2002;
Always
remember this
But where is time to refactor?
A Not-So-Serious Introduction to Test Driven Development (TDD)
Unit Testing
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
Of
TDD
Newton’s first law of testto dynamics: You may not write production
code unless you’ve first written a failing unit test.
Source: Professionalism and Test-Driven Development, Robert C. Martin, IEEE Software, 2007
Newton’s second law of testto dynamics: You may not write more of a
unit test than is sufficient to fail.
Source: Professionalism and Test-Driven Development, Robert C. Martin, IEEE Software, 2007
Newton’s third law of testto dynamics: You may not write more
production code than is sufficient to make the failing unit test pass.
Source: Professionalism and Test-Driven Development, Robert C. Martin, IEEE Software, 2007
A Not-So-Serious Introduction to Test Driven Development (TDD)
TDD is powerful
Without TDD
With TDD
TDD slows down development?
Is TDD
slowing me
down in
coding?
TDD slows down development?
Lies, damn lies, and assertions
A Not-So-Serious Introduction to Test Driven Development (TDD)
Misunderstanding TDD => trouble
Start TDD now (before its too late!)
Let the fun begin!
Image credits
❖ https://s-media-cache-ak0.pinimg.com/736x/78/c9/9e/78c99e530a69406ec249588ef87a59a9.jpg
❖ http://www.datamation.com/imagesvr_ce/4130/development-driven.jpg
❖ https://s-media-cache-ak0.pinimg.com/736x/ae/22/01/ae2201013b69918a20b6de0adf1517a1.jpg
❖ http://blog.itexus.com/img/tdd_comics.png
❖ https://martinfowler.com/articles/preparatory-refactoring-example/jessitron.png
❖ https://i2.wp.com/www.gilzilberfeld.com/wp-content/uploads/2011/02/regret-testing.png
❖ https://pixabay.com/en/pegasus-horse-winged-mythology-586124/
❖ https://pixabay.com/en/horse-gallop-horses-standard-1401914/
❖ https://refactoring.guru/images/content-public/index-clean-code.png
❖ http://www.lifeisanecho.com/wp-content/uploads/2016/06/ar131070344825846.jpg
❖ https://pixabay.com/en/ball-chain-bug-jail-insect-46207/
❖ https://pixabay.com/en/home-old-school-old-old-building-1824815/
❖ https://pixabay.com/en/escalator-stairs-metal-segments-283448/
❖ https://devops.com/wp-content/uploads/2016/07/tdd-01-1.jpg
❖ http://www.nanrussell.com/wp-content/uploads/2015/08/Not-me.jpg
❖ https://cdn.meme.am/instances/500x/43446748/winter-is-coming-brace-yourselves-endless-client-revisions-are-coming.jpg
❖ https://t4.ftcdn.net/jpg/00/87/17/55/240_F_87175567_I7FK0h2XNxrwtnoYbufTzvpLv3p2cFrk.jpg
❖ https://cdn.meme.am/cache/instances/folder518/500x/64808518/yeah-if-you-could-just-if-we-could-stop-changing-requirements-every-5-minutes-that-would-be-great.jpg
Image credits
❖ http://optymyze.com/blog/wp-content/uploads/sites/2/2017/02/change.jpg
❖ http://bookboon.com/blog/wp-content/uploads/2014/03/D%C3%A9veloppez-votre-potentiel.jpg
❖ https://techbeacon.com/sites/default/files/most_interesting_man_test_in_production_meme.jpg
❖ https://cdn-images-1.medium.com/max/490/1*k-OkcZd2fAyZf1WBkharGA.jpeg
❖ https://akchrish23.files.wordpress.com/2012/12/far-side-first-pants-then-your-shoes.jpg
❖ https://image.slidesharecdn.com/its-all-about-design-1232847245981881-1/95/its-all-about-design-10-728.jpg?cb=1232825731
❖ http://www.fox1023.com/wp-content/uploads/2016/06/fail-sign1.jpg
❖ https://vgarmada.files.wordpress.com/2012/04/pass-sign.jpg
❖ http://codelikethis.com/lessons/agile_development/make-it-green.png
❖ https://refactoring.guru/images/content-public/index-refactoring-how.png
❖ http://geek-and-poke.com/geekandpoke/2014/1/15/philosophising-geeks
❖ https://employmentdiscrimination.foxrothschild.com/wp-content/uploads/sites/18/2014/06/20350757_s.jpg
❖ https://static1.squarespace.com/static/5783a7e19de4bb11478ae2d8/t/5821d2ea09e1c46748737af1/1478614300894/shutterstock_217082875-e1459952801830.jpg
❖ https://lh3.googleusercontent.com/-eM1_28qE1cM/U1bUFmBU1NI/AAAAAAAAHEk/ZqLcxFEhMuA/w530-h398-p/slide-32-638.jpg
❖ http://www.trainingforwarriors.com/wp-content/uploads/2015/03/3-Laws-Post.jpg
Image credits
❖ https://patientsrising.org/sites/default/files/Step%20Therapy.PNG
❖ https://1.bp.blogspot.com/-Q00OoZelCic/WFSmGIUCrGI/AAAAAAAAx5U/i59y1h-
czIIXNswq6aMdAOUGjgPLaPdxACLcB/s1600/awful.png
❖ http://s2.quickmeme.com/img/f4/f4b4744206cf737305f1a4619fefde7b0df54ecc0dc012adcceaadf93196a7e8.jpg
❖ https://pbs.twimg.com/media/CeZu1YjUsAEfhcP.jpg:large
❖ https://upload.wikimedia.org/wikipedia/en/thumb/f/ff/Poison_Help.svg/1024px-Poison_Help.svg.png
❖ http://data.whicdn.com/images/207820816/large.jpg
❖ http://orig04.deviantart.net/c7cb/f/2014/171/d/a/the_bare_minimum_bandits_by_shy_waifu-d7n8813.png
ganesh@codeops.tech @GSamarthyam
www.codeops.tech slideshare.net/sgganesh
+91 98801 64463 bit.ly/sgganesh

More Related Content

What's hot (20)

PPT
Test Driven Development
Sachithra Gayan
 
PDF
How To Write A Test Case In Software Testing | Edureka
Edureka!
 
ODP
BDD with Cucumber
Knoldus Inc.
 
PPT
Testing in Agile Projects
sriks7
 
PPTX
Tdd and bdd
MohamedSubhiBouchi
 
PPTX
UNIT TESTING PPT
suhasreddy1
 
PPTX
Test-Driven Development
John Blum
 
PPTX
Test Automation Framework with BDD and Cucumber
Rhoynar Software Consulting
 
PPTX
Unit Testing
Sergey Podolsky
 
PDF
Unit and integration Testing
David Berliner
 
PPTX
Agile Testing and Test Automation
Naveen Kumar Singh
 
PDF
Unit Testing
Scott Leberknight
 
PPT
Software Testing 101
QA Hannah
 
PDF
An Introduction to Test Driven Development
CodeOps Technologies LLP
 
PPTX
ISTQB Test Process
HoangThiHien1
 
PPTX
Agile Testing: The Role Of The Agile Tester
Declan Whelan
 
PPT
Agile testing
Yogita patil
 
PPT
TDD (Test Driven Design)
nedirtv
 
PPTX
Unit Testing (C#)
Prashant Cholachagudd
 
PDF
Selenium with Cucumber
Knoldus Inc.
 
Test Driven Development
Sachithra Gayan
 
How To Write A Test Case In Software Testing | Edureka
Edureka!
 
BDD with Cucumber
Knoldus Inc.
 
Testing in Agile Projects
sriks7
 
Tdd and bdd
MohamedSubhiBouchi
 
UNIT TESTING PPT
suhasreddy1
 
Test-Driven Development
John Blum
 
Test Automation Framework with BDD and Cucumber
Rhoynar Software Consulting
 
Unit Testing
Sergey Podolsky
 
Unit and integration Testing
David Berliner
 
Agile Testing and Test Automation
Naveen Kumar Singh
 
Unit Testing
Scott Leberknight
 
Software Testing 101
QA Hannah
 
An Introduction to Test Driven Development
CodeOps Technologies LLP
 
ISTQB Test Process
HoangThiHien1
 
Agile Testing: The Role Of The Agile Tester
Declan Whelan
 
Agile testing
Yogita patil
 
TDD (Test Driven Design)
nedirtv
 
Unit Testing (C#)
Prashant Cholachagudd
 
Selenium with Cucumber
Knoldus Inc.
 

Similar to A Not-So-Serious Introduction to Test Driven Development (TDD) (20)

PPTX
Test Driven Development
Josh Candish
 
PPT
Automated Unit Testing and TDD
Greg Sohl
 
PPT
Test Driven Development - Overview and Adoption
Pyxis Technologies
 
PPTX
Test Driven Development on Android (Kotlin Kenya)
Danny Preussler
 
PPTX
Test-Driven Development In Action
Jon Kruger
 
PDF
Real Developers Don't Need Unit Tests
John Ferguson Smart Limited
 
PDF
Tdd 왜 배우기 어려운가
Jaehoon Oh
 
PDF
Test-Driven Development Reference Card
Seapine Software
 
PPTX
TDD with Visual Studio 2010
Stefano Paluello
 
PDF
iOS Test-Driven Development
Pablo Villar
 
PPT
Introduction to Test Driven Development
Michael Denomy
 
PPT
Presentation_TDD
Raihan Masud
 
PPTX
Test Driven Development
bhochhi
 
PDF
Improve your TDD skills
XPeppers
 
PPTX
TDD Basics with Angular.js and Jasmine
Luis Sánchez Castellanos
 
PPT
Unit Testing, TDD and the Walking Skeleton
Seb Rose
 
ODP
xUnit and TDD: Why and How in Enterprise Software, August 2012
Justin Gordon
 
PPTX
Improving code quality and testability wiht TDD
Francieli Viane
 
PDF
Tdd red-green-refactor
Francisco Iglesias Gómez
 
Test Driven Development
Josh Candish
 
Automated Unit Testing and TDD
Greg Sohl
 
Test Driven Development - Overview and Adoption
Pyxis Technologies
 
Test Driven Development on Android (Kotlin Kenya)
Danny Preussler
 
Test-Driven Development In Action
Jon Kruger
 
Real Developers Don't Need Unit Tests
John Ferguson Smart Limited
 
Tdd 왜 배우기 어려운가
Jaehoon Oh
 
Test-Driven Development Reference Card
Seapine Software
 
TDD with Visual Studio 2010
Stefano Paluello
 
iOS Test-Driven Development
Pablo Villar
 
Introduction to Test Driven Development
Michael Denomy
 
Presentation_TDD
Raihan Masud
 
Test Driven Development
bhochhi
 
Improve your TDD skills
XPeppers
 
TDD Basics with Angular.js and Jasmine
Luis Sánchez Castellanos
 
Unit Testing, TDD and the Walking Skeleton
Seb Rose
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
Justin Gordon
 
Improving code quality and testability wiht TDD
Francieli Viane
 
Tdd red-green-refactor
Francisco Iglesias Gómez
 
Ad

More from CodeOps Technologies LLP (20)

PDF
AWS Serverless Event-driven Architecture - in lastminute.com meetup
CodeOps Technologies LLP
 
PPTX
Understanding azure batch service
CodeOps Technologies LLP
 
PDF
DEVOPS AND MACHINE LEARNING
CodeOps Technologies LLP
 
PDF
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
CodeOps Technologies LLP
 
PPT
BUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONS
CodeOps Technologies LLP
 
PPTX
APPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICES
CodeOps Technologies LLP
 
PPTX
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
CodeOps Technologies LLP
 
PPTX
CREATE RELIABLE AND LOW-CODE APPLICATION IN SERVERLESS MANNER
CodeOps Technologies LLP
 
PPTX
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CodeOps Technologies LLP
 
PPTX
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESS
CodeOps Technologies LLP
 
PPTX
Training And Serving ML Model Using Kubeflow by Jayesh Sharma
CodeOps Technologies LLP
 
PPTX
Deploy Microservices To Kubernetes Without Secrets by Reenu Saluja
CodeOps Technologies LLP
 
PDF
Leverage Azure Tech stack for any Kubernetes cluster via Azure Arc by Saiyam ...
CodeOps Technologies LLP
 
PDF
YAML Tips For Kubernetes by Neependra Khare
CodeOps Technologies LLP
 
PDF
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...
CodeOps Technologies LLP
 
PPTX
Monitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
CodeOps Technologies LLP
 
PDF
Jet brains space intro presentation
CodeOps Technologies LLP
 
PDF
Functional Programming in Java 8 - Lambdas and Streams
CodeOps Technologies LLP
 
PPTX
Distributed Tracing: New DevOps Foundation
CodeOps Technologies LLP
 
PDF
"Distributed Tracing: New DevOps Foundation" by Jayesh Ahire
CodeOps Technologies LLP
 
AWS Serverless Event-driven Architecture - in lastminute.com meetup
CodeOps Technologies LLP
 
Understanding azure batch service
CodeOps Technologies LLP
 
DEVOPS AND MACHINE LEARNING
CodeOps Technologies LLP
 
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
CodeOps Technologies LLP
 
BUILDING SERVERLESS SOLUTIONS WITH AZURE FUNCTIONS
CodeOps Technologies LLP
 
APPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICES
CodeOps Technologies LLP
 
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
CodeOps Technologies LLP
 
CREATE RELIABLE AND LOW-CODE APPLICATION IN SERVERLESS MANNER
CodeOps Technologies LLP
 
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CodeOps Technologies LLP
 
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESS
CodeOps Technologies LLP
 
Training And Serving ML Model Using Kubeflow by Jayesh Sharma
CodeOps Technologies LLP
 
Deploy Microservices To Kubernetes Without Secrets by Reenu Saluja
CodeOps Technologies LLP
 
Leverage Azure Tech stack for any Kubernetes cluster via Azure Arc by Saiyam ...
CodeOps Technologies LLP
 
YAML Tips For Kubernetes by Neependra Khare
CodeOps Technologies LLP
 
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...
CodeOps Technologies LLP
 
Monitor Azure Kubernetes Cluster With Prometheus by Mamta Jha
CodeOps Technologies LLP
 
Jet brains space intro presentation
CodeOps Technologies LLP
 
Functional Programming in Java 8 - Lambdas and Streams
CodeOps Technologies LLP
 
Distributed Tracing: New DevOps Foundation
CodeOps Technologies LLP
 
"Distributed Tracing: New DevOps Foundation" by Jayesh Ahire
CodeOps Technologies LLP
 
Ad

Recently uploaded (20)

PDF
IObit Uninstaller Pro 14.3.1.8 Crack for Windows Latest
utfefguu
 
PPTX
For my supp to finally picking supp that work
necas19388
 
PDF
Laboratory Workflows Digitalized and live in 90 days with Scifeon´s SAPPA P...
info969686
 
PDF
Automated Test Case Repair Using Language Models
Lionel Briand
 
PPTX
IObit Uninstaller Pro 14.3.1.8 Crack Free Download 2025
sdfger qwerty
 
PDF
TEASMA: A Practical Methodology for Test Adequacy Assessment of Deep Neural N...
Lionel Briand
 
PPTX
NeuroStrata: Harnessing Neuro-Symbolic Paradigms for Improved Testability and...
Ivan Ruchkin
 
PPTX
Seamless-Image-Conversion-From-Raster-to-wrt-rtx-rtx.pptx
Quick Conversion Services
 
PDF
>Wondershare Filmora Crack Free Download 2025
utfefguu
 
PPTX
IObit Driver Booster Pro 12.4-12.5 license keys 2025-2026
chaudhryakashoo065
 
PPTX
B2C EXTRANET | EXTRANET WEBSITE | EXTRANET INTEGRATION
philipnathen82
 
PDF
Code Once; Run Everywhere - A Beginner’s Journey with React Native
Hasitha Walpola
 
PDF
How DeepSeek Beats ChatGPT: Cost Comparison and Key Differences
sumitpurohit810
 
PDF
What Is an Internal Quality Audit and Why It Matters for Your QMS
BizPortals365
 
PDF
LPS25 - Operationalizing MLOps in GEP - Terradue.pdf
terradue
 
PDF
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
 
PPTX
Introduction to web development | MERN Stack
JosephLiyon
 
PPTX
Quality on Autopilot: Scaling Testing in Uyuni
Oscar Barrios Torrero
 
PDF
The Rise of Sustainable Mobile App Solutions by New York Development Firms
ostechnologies16
 
PPTX
Automatic_Iperf_Log_Result_Excel_visual_v2.pptx
Chen-Chih Lee
 
IObit Uninstaller Pro 14.3.1.8 Crack for Windows Latest
utfefguu
 
For my supp to finally picking supp that work
necas19388
 
Laboratory Workflows Digitalized and live in 90 days with Scifeon´s SAPPA P...
info969686
 
Automated Test Case Repair Using Language Models
Lionel Briand
 
IObit Uninstaller Pro 14.3.1.8 Crack Free Download 2025
sdfger qwerty
 
TEASMA: A Practical Methodology for Test Adequacy Assessment of Deep Neural N...
Lionel Briand
 
NeuroStrata: Harnessing Neuro-Symbolic Paradigms for Improved Testability and...
Ivan Ruchkin
 
Seamless-Image-Conversion-From-Raster-to-wrt-rtx-rtx.pptx
Quick Conversion Services
 
>Wondershare Filmora Crack Free Download 2025
utfefguu
 
IObit Driver Booster Pro 12.4-12.5 license keys 2025-2026
chaudhryakashoo065
 
B2C EXTRANET | EXTRANET WEBSITE | EXTRANET INTEGRATION
philipnathen82
 
Code Once; Run Everywhere - A Beginner’s Journey with React Native
Hasitha Walpola
 
How DeepSeek Beats ChatGPT: Cost Comparison and Key Differences
sumitpurohit810
 
What Is an Internal Quality Audit and Why It Matters for Your QMS
BizPortals365
 
LPS25 - Operationalizing MLOps in GEP - Terradue.pdf
terradue
 
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
 
Introduction to web development | MERN Stack
JosephLiyon
 
Quality on Autopilot: Scaling Testing in Uyuni
Oscar Barrios Torrero
 
The Rise of Sustainable Mobile App Solutions by New York Development Firms
ostechnologies16
 
Automatic_Iperf_Log_Result_Excel_visual_v2.pptx
Chen-Chih Lee
 

A Not-So-Serious Introduction to Test Driven Development (TDD)

  • 1. Test Driven Development (TDD) Ganesh Samarthyam [email protected] Entrepreneur, Conference Speaker/Organizer & Author Test Driven Development
  • 2. All code is guilty unless proven innocent!
  • 5. Touch the code, whole thing breaks!
  • 8. Grow your software, guided by tests Source: Growing Object-Oriented Software, Guided by Tests, Steve Freeman, Nat Pryce, Addison Wesley, 2009
  • 9. TDD & Unit Testing => Confident change
  • 10. Check Before You Leap: Test Driven Development!
  • 13. TDD inverts the conventional approach! And it still works!
  • 14. What exactly is this TDD thingy? ❖ Test-Driven Development (TDD) is a technique for building software that guides software development by writing tests. (Martin Fowler’s definition)
  • 15. TDD? But I already write unit tests! Pants == TDD Shoes == Unit tests!
  • 16. TDD is mainly about design! ❖ “Test Driven Development” is NOT primarily about testing or development (i.e., coding)
  • 17. Who writes unit tests? ❖ Developers write unit tests (NOT testers) and then code
  • 19. Step 1: Write test that fails ❖ Red—write a little test that doesn’t work, perhaps doesn’t even compile at first Source: Test Driven Development: By Example, Kent Beck, 240 pages, Addison-Wesley Professional, 2002;
  • 20. Step 2: Get code working to pass test ❖ Green—make the test work quickly, committing whatever sins necessary in the process Source: Test Driven Development: By Example, Kent Beck, 240 pages, Addison-Wesley Professional, 2002;
  • 21. Step 3: Cleanup and refactor ❖ Refactor—eliminate all the duplication and smells created in just getting the test to work Source: Test Driven Development: By Example, Kent Beck, 240 pages, Addison-Wesley Professional, 2002;
  • 23. But where is time to refactor?
  • 32. Newton’s first law of testto dynamics: You may not write production code unless you’ve first written a failing unit test. Source: Professionalism and Test-Driven Development, Robert C. Martin, IEEE Software, 2007
  • 33. Newton’s second law of testto dynamics: You may not write more of a unit test than is sufficient to fail. Source: Professionalism and Test-Driven Development, Robert C. Martin, IEEE Software, 2007
  • 34. Newton’s third law of testto dynamics: You may not write more production code than is sufficient to make the failing unit test pass. Source: Professionalism and Test-Driven Development, Robert C. Martin, IEEE Software, 2007
  • 36. TDD is powerful Without TDD With TDD
  • 37. TDD slows down development? Is TDD slowing me down in coding?
  • 38. TDD slows down development?
  • 39. Lies, damn lies, and assertions
  • 42. Start TDD now (before its too late!)
  • 43. Let the fun begin!
  • 44. Image credits ❖ https://s-media-cache-ak0.pinimg.com/736x/78/c9/9e/78c99e530a69406ec249588ef87a59a9.jpg ❖ http://www.datamation.com/imagesvr_ce/4130/development-driven.jpg ❖ https://s-media-cache-ak0.pinimg.com/736x/ae/22/01/ae2201013b69918a20b6de0adf1517a1.jpg ❖ http://blog.itexus.com/img/tdd_comics.png ❖ https://martinfowler.com/articles/preparatory-refactoring-example/jessitron.png ❖ https://i2.wp.com/www.gilzilberfeld.com/wp-content/uploads/2011/02/regret-testing.png ❖ https://pixabay.com/en/pegasus-horse-winged-mythology-586124/ ❖ https://pixabay.com/en/horse-gallop-horses-standard-1401914/ ❖ https://refactoring.guru/images/content-public/index-clean-code.png ❖ http://www.lifeisanecho.com/wp-content/uploads/2016/06/ar131070344825846.jpg ❖ https://pixabay.com/en/ball-chain-bug-jail-insect-46207/ ❖ https://pixabay.com/en/home-old-school-old-old-building-1824815/ ❖ https://pixabay.com/en/escalator-stairs-metal-segments-283448/ ❖ https://devops.com/wp-content/uploads/2016/07/tdd-01-1.jpg ❖ http://www.nanrussell.com/wp-content/uploads/2015/08/Not-me.jpg ❖ https://cdn.meme.am/instances/500x/43446748/winter-is-coming-brace-yourselves-endless-client-revisions-are-coming.jpg ❖ https://t4.ftcdn.net/jpg/00/87/17/55/240_F_87175567_I7FK0h2XNxrwtnoYbufTzvpLv3p2cFrk.jpg ❖ https://cdn.meme.am/cache/instances/folder518/500x/64808518/yeah-if-you-could-just-if-we-could-stop-changing-requirements-every-5-minutes-that-would-be-great.jpg
  • 45. Image credits ❖ http://optymyze.com/blog/wp-content/uploads/sites/2/2017/02/change.jpg ❖ http://bookboon.com/blog/wp-content/uploads/2014/03/D%C3%A9veloppez-votre-potentiel.jpg ❖ https://techbeacon.com/sites/default/files/most_interesting_man_test_in_production_meme.jpg ❖ https://cdn-images-1.medium.com/max/490/1*k-OkcZd2fAyZf1WBkharGA.jpeg ❖ https://akchrish23.files.wordpress.com/2012/12/far-side-first-pants-then-your-shoes.jpg ❖ https://image.slidesharecdn.com/its-all-about-design-1232847245981881-1/95/its-all-about-design-10-728.jpg?cb=1232825731 ❖ http://www.fox1023.com/wp-content/uploads/2016/06/fail-sign1.jpg ❖ https://vgarmada.files.wordpress.com/2012/04/pass-sign.jpg ❖ http://codelikethis.com/lessons/agile_development/make-it-green.png ❖ https://refactoring.guru/images/content-public/index-refactoring-how.png ❖ http://geek-and-poke.com/geekandpoke/2014/1/15/philosophising-geeks ❖ https://employmentdiscrimination.foxrothschild.com/wp-content/uploads/sites/18/2014/06/20350757_s.jpg ❖ https://static1.squarespace.com/static/5783a7e19de4bb11478ae2d8/t/5821d2ea09e1c46748737af1/1478614300894/shutterstock_217082875-e1459952801830.jpg ❖ https://lh3.googleusercontent.com/-eM1_28qE1cM/U1bUFmBU1NI/AAAAAAAAHEk/ZqLcxFEhMuA/w530-h398-p/slide-32-638.jpg ❖ http://www.trainingforwarriors.com/wp-content/uploads/2015/03/3-Laws-Post.jpg
  • 46. Image credits ❖ https://patientsrising.org/sites/default/files/Step%20Therapy.PNG ❖ https://1.bp.blogspot.com/-Q00OoZelCic/WFSmGIUCrGI/AAAAAAAAx5U/i59y1h- czIIXNswq6aMdAOUGjgPLaPdxACLcB/s1600/awful.png ❖ http://s2.quickmeme.com/img/f4/f4b4744206cf737305f1a4619fefde7b0df54ecc0dc012adcceaadf93196a7e8.jpg ❖ https://pbs.twimg.com/media/CeZu1YjUsAEfhcP.jpg:large ❖ https://upload.wikimedia.org/wikipedia/en/thumb/f/ff/Poison_Help.svg/1024px-Poison_Help.svg.png ❖ http://data.whicdn.com/images/207820816/large.jpg ❖ http://orig04.deviantart.net/c7cb/f/2014/171/d/a/the_bare_minimum_bandits_by_shy_waifu-d7n8813.png