SlideShare a Scribd company logo
Test Driven Development
Scrum is Hot, but…
Many Scrum teams are struggling
• Slow down (fewer features/sprint)
   – More and more production issues
   – Increased fragility
• Requests for ‘refactoring’ stories from
  development team
Scrum is Hot, but…
• Regression testing is demanded
   – Takes up lots of time in a sprint
   – Sprints start to lengthen
• Documentation becomes an issue because Agile
  teams “don’t do” documentation.
• Technical debt is introduced via “Copy and paste
  coding”.
10 Year Agile Manifesto meet up 2011 concluded

“As a group, we agreed on the following four belief statements:
    •Demand technical excellence
    •Promote individual change and lead organizational change
    •Organize knowledge and improve education
    •Maximize value creation across the entire process”
Combine Scrum with XP
TestDriven Development, Why How and Smells
Test Driven Development
TestDriven Development, Why How and Smells
Uncle Bob About TDD

 “The act of writing a unit test is more an act of
 design than of verification. It is also more an act
      of documentation than of verification.
The act of writing a unit test closes a remarkable
  number of feedback loops, the least of which is
   the one pertaining to verification of function”
Kent Beck about TDD

“TDD encourages simple designs
   and inspires confidence”
TestDriven Development, Why How and Smells
About Unit Testing


 “A procedure used to validate that individual units
         of source code are working properly.
A unit is the smallest testable part of an application.
      In procedural programming a unit may be
  an individual program, function, procedure, etc.,
        while in object oriented programming,
            the smallest unit is a method.”
Why Unit Tests?
•   Avoid Combinatorial Complexity
•   Fine grained makes it easy to pin-point defects
•   Coded documentation that stays in sync
•   Supports changing the code
•   Supports collective code ownership
Source: Agile in a Flash by Jeff Langr and Tim Ottinger
TestDriven Development, Why How and Smells
Things we forget while coding
• SOLID principle
   – Lower Complexity
   – Loosely Coupled
   – Tighter cohesion
• Keep focus on Simple Design
   – YAGNI, DRY
• Continues Refactoring
TestDriven Development, Why How and Smells
Source: Agile in a Flash by Jeff Langr and Tim Ottinger
TDD mantras
TDD mantras
Given, When, Then or Arrange, Act, Assert
Source: Agile in a Flash by Jeff Langr and Tim Ottinger
Source: Agile in a Flash by Jeff Langr and Tim Ottinger
START NOW!
TestDriven Development, Why How and Smells

More Related Content

PDF
Quality at Speed - Penny Wyatt
PPT
Walking Skeleton
PPTX
200808 AIM Walking Skeleton
PPTX
Test Automation Canvas
PPTX
Agile Testing in Enterprise: Way to transform - SQA Days 2014
PPT
How engineering practices help business
PPT
VodQA_ParallelizingCukes_AmanKing
PPTX
Spec By Example or How to teach people talk to each other
Quality at Speed - Penny Wyatt
Walking Skeleton
200808 AIM Walking Skeleton
Test Automation Canvas
Agile Testing in Enterprise: Way to transform - SQA Days 2014
How engineering practices help business
VodQA_ParallelizingCukes_AmanKing
Spec By Example or How to teach people talk to each other

What's hot (20)

PPTX
Carl shaulis agile_td2014
PPTX
Making disaster routine
PDF
Devops Kaizen - DevopsDays Dallas 2017
PPTX
Mark Andersen DFW DevOps Days 2017
PPTX
Lean Canvas for Internal Product Owners
PDF
Adopting Continuous Integration in an Ops Group
PPTX
Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
PPTX
Making testability our mission
PPTX
Adapt your testing for Agile
PPTX
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
PPTX
Road to Continuous Delivery - Wix.com
PDF
Api fundamentals
PDF
Shifting is more than shifting left
PPTX
DevOps Security Coffee - Lazy hackers who think out of the box, but stay in t...
PDF
Art of the Possible - Serverless Conference NYC 2017
KEY
Driving application development through behavior driven development
PDF
You build it - Cyber Chicago Keynote
PDF
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
PDF
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
PPTX
Quality Jam 2016 Product Roadmap
Carl shaulis agile_td2014
Making disaster routine
Devops Kaizen - DevopsDays Dallas 2017
Mark Andersen DFW DevOps Days 2017
Lean Canvas for Internal Product Owners
Adopting Continuous Integration in an Ops Group
Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Making testability our mission
Adapt your testing for Agile
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Road to Continuous Delivery - Wix.com
Api fundamentals
Shifting is more than shifting left
DevOps Security Coffee - Lazy hackers who think out of the box, but stay in t...
Art of the Possible - Serverless Conference NYC 2017
Driving application development through behavior driven development
You build it - Cyber Chicago Keynote
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
Quality Jam 2016 Product Roadmap
Ad

Viewers also liked (20)

PDF
Agile in Heads and Companies
PDF
PDF
От Agile к глобальным измененям в компании
PDF
Продукт: вам нарезать или целым куском?
PDF
"WTF is LRM, YAGNI, JIT?“ или вы не знаете основные Agile-принципы
PDF
Мифы и реалии самоорганизующихся команд - AgileBaseCamp@Kharkov
PDF
Agility, как способ выживания (ITEM, Днепропетровск, 2015)
PDF
Первое правило распределенных самоорганизующихся систем (доклад AgileBaseCamp...
PDF
Три примера Scrum команд
PDF
Agile is dead or The Force Awakening? (ITEM, 2016)
PDF
Вспомните о Пользователях
PDF
Agility, как способ выживания компаний (ver. 2)
PDF
Сеанс коллективного гадания или почему совместные оценки все-таки помогают Ag...
PPTX
Scrum Bangalore 13th meet up 13 june 2015 - n ways to retrospective - nagesh ...
PDF
SCALING PRODUCT COMPANY THE AGILE WAY
PPT
Истории Пользователей (User Stories) - семинар на AgileUkraine 7, 2009-04-25
PDF
Agile in Ukraine
PDF
Всегда ли ваш Scrum Scrummy? на CV.InTouch
PDF
Внутренний PR для ИТ-компаний
PDF
Культура Лидерства в ИТ
Agile in Heads and Companies
От Agile к глобальным измененям в компании
Продукт: вам нарезать или целым куском?
"WTF is LRM, YAGNI, JIT?“ или вы не знаете основные Agile-принципы
Мифы и реалии самоорганизующихся команд - AgileBaseCamp@Kharkov
Agility, как способ выживания (ITEM, Днепропетровск, 2015)
Первое правило распределенных самоорганизующихся систем (доклад AgileBaseCamp...
Три примера Scrum команд
Agile is dead or The Force Awakening? (ITEM, 2016)
Вспомните о Пользователях
Agility, как способ выживания компаний (ver. 2)
Сеанс коллективного гадания или почему совместные оценки все-таки помогают Ag...
Scrum Bangalore 13th meet up 13 june 2015 - n ways to retrospective - nagesh ...
SCALING PRODUCT COMPANY THE AGILE WAY
Истории Пользователей (User Stories) - семинар на AgileUkraine 7, 2009-04-25
Agile in Ukraine
Всегда ли ваш Scrum Scrummy? на CV.InTouch
Внутренний PR для ИТ-компаний
Культура Лидерства в ИТ
Ad

Similar to TestDriven Development, Why How and Smells (20)

PDF
Agile Testing
PPTX
Unit Testing and TDD 2017
PPT
Test Driven Development - Overview and Adoption
PDF
An Introduction to Test Driven Development
PDF
TDD Workshop UTN 2012
PDF
PPTX
Unit Testing talk
PPTX
Unit Testing & Test Driven Development
PDF
Test Drive Development
PPTX
Testing
PPTX
Test driven development
PPT
Tech talks #1- Unit testing and TDD
PDF
[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean Development
PPT
product Qa workflow
PPT
Reduce Development Cost with Test Driven Development
PPT
Automated Unit Testing and TDD
PDF
Test driven development : software process
PPTX
Test Driven Development
PDF
Getting started with Test Driven Development
PPTX
Unit Testing Full@
Agile Testing
Unit Testing and TDD 2017
Test Driven Development - Overview and Adoption
An Introduction to Test Driven Development
TDD Workshop UTN 2012
Unit Testing talk
Unit Testing & Test Driven Development
Test Drive Development
Testing
Test driven development
Tech talks #1- Unit testing and TDD
[Rakuten TechConf2014] [G-4] Beyond Agile Testing to Lean Development
product Qa workflow
Reduce Development Cost with Test Driven Development
Automated Unit Testing and TDD
Test driven development : software process
Test Driven Development
Getting started with Test Driven Development
Unit Testing Full@

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Electronic commerce courselecture one. Pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Approach and Philosophy of On baking technology
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Modernizing your data center with Dell and AMD
PPTX
Cloud computing and distributed systems.
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Understanding_Digital_Forensics_Presentation.pptx
Spectral efficient network and resource selection model in 5G networks
20250228 LYD VKU AI Blended-Learning.pptx
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Review of recent advances in non-invasive hemoglobin estimation
Electronic commerce courselecture one. Pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Modernizing your data center with Dell and AMD
Cloud computing and distributed systems.
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Monthly Chronicles - July 2025
NewMind AI Weekly Chronicles - August'25 Week I
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The AUB Centre for AI in Media Proposal.docx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

TestDriven Development, Why How and Smells

  • 2. Scrum is Hot, but… Many Scrum teams are struggling • Slow down (fewer features/sprint) – More and more production issues – Increased fragility • Requests for ‘refactoring’ stories from development team
  • 3. Scrum is Hot, but… • Regression testing is demanded – Takes up lots of time in a sprint – Sprints start to lengthen • Documentation becomes an issue because Agile teams “don’t do” documentation. • Technical debt is introduced via “Copy and paste coding”.
  • 4. 10 Year Agile Manifesto meet up 2011 concluded “As a group, we agreed on the following four belief statements: •Demand technical excellence •Promote individual change and lead organizational change •Organize knowledge and improve education •Maximize value creation across the entire process”
  • 9. Uncle Bob About TDD “The act of writing a unit test is more an act of design than of verification. It is also more an act of documentation than of verification. The act of writing a unit test closes a remarkable number of feedback loops, the least of which is the one pertaining to verification of function”
  • 10. Kent Beck about TDD “TDD encourages simple designs and inspires confidence”
  • 12. About Unit Testing “A procedure used to validate that individual units of source code are working properly. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual program, function, procedure, etc., while in object oriented programming, the smallest unit is a method.”
  • 13. Why Unit Tests? • Avoid Combinatorial Complexity • Fine grained makes it easy to pin-point defects • Coded documentation that stays in sync • Supports changing the code • Supports collective code ownership
  • 14. Source: Agile in a Flash by Jeff Langr and Tim Ottinger
  • 16. Things we forget while coding • SOLID principle – Lower Complexity – Loosely Coupled – Tighter cohesion • Keep focus on Simple Design – YAGNI, DRY • Continues Refactoring
  • 18. Source: Agile in a Flash by Jeff Langr and Tim Ottinger
  • 20. TDD mantras Given, When, Then or Arrange, Act, Assert
  • 21. Source: Agile in a Flash by Jeff Langr and Tim Ottinger
  • 22. Source: Agile in a Flash by Jeff Langr and Tim Ottinger