SlideShare ist ein Scribd-Unternehmen logo
1 von 24
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
Test Driven Development
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”
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
Things we forget while coding
• SOLID principle
   – Lower Complexity
   – Loosely Coupled
   – Tighter cohesion
• Keep focus on Simple Design
   – YAGNI, DRY
• Continues Refactoring
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

Weitere ähnliche Inhalte

Was ist angesagt?

Carl shaulis agile_td2014
Carl shaulis agile_td2014Carl shaulis agile_td2014
Carl shaulis agile_td2014Carl Shaulis
 
Making disaster routine
Making disaster routineMaking disaster routine
Making disaster routinePeter Varhol
 
Devops Kaizen - DevopsDays Dallas 2017
Devops Kaizen - DevopsDays Dallas 2017 Devops Kaizen - DevopsDays Dallas 2017
Devops Kaizen - DevopsDays Dallas 2017 John Willis
 
Mark Andersen DFW DevOps Days 2017
Mark Andersen DFW DevOps Days 2017Mark Andersen DFW DevOps Days 2017
Mark Andersen DFW DevOps Days 2017Mark Andersen
 
Lean Canvas for Internal Product Owners
Lean Canvas for Internal Product OwnersLean Canvas for Internal Product Owners
Lean Canvas for Internal Product OwnersKeith Klundt
 
Adopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops GroupAdopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops Groupcolleenfry
 
Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Cloud Academy Webinar: Recipe for DevOps Success: Capital One StyleCloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Cloud Academy Webinar: Recipe for DevOps Success: Capital One StyleMark Andersen
 
Making testability our mission
Making testability our missionMaking testability our mission
Making testability our missionAsh Winter
 
Adapt your testing for Agile
Adapt your testing for AgileAdapt your testing for Agile
Adapt your testing for AgileEmma Armstrong
 
Adventures in QA
Adventures in QAAdventures in QA
Adventures in QADirk Haun
 
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupMinimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupRandy Shoup
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
Api fundamentals
Api fundamentalsApi fundamentals
Api fundamentalsAgileDenver
 
Shifting is more than shifting left
Shifting is more than shifting leftShifting is more than shifting left
Shifting is more than shifting leftPractiTest
 
DevOps Security Coffee - Lazy hackers who think out of the box, but stay in t...
DevOps Security Coffee - Lazy hackers who think out of the box, but stay in t...DevOps Security Coffee - Lazy hackers who think out of the box, but stay in t...
DevOps Security Coffee - Lazy hackers who think out of the box, but stay in t...Freek Kauffmann
 
Art of the Possible - Serverless Conference NYC 2017
Art of the Possible - Serverless Conference NYC 2017 Art of the Possible - Serverless Conference NYC 2017
Art of the Possible - Serverless Conference NYC 2017 John Willis
 
Driving application development through behavior driven development
Driving application development through behavior driven developmentDriving application development through behavior driven development
Driving application development through behavior driven developmentEinar Ingebrigtsen
 
You build it - Cyber Chicago Keynote
You build it -  Cyber Chicago KeynoteYou build it -  Cyber Chicago Keynote
You build it - Cyber Chicago KeynoteJohn Willis
 
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald BelchamGetting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham.NET Conf UY
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB
 

Was ist angesagt? (20)

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

Andere mochten auch

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

Andere mochten auch (20)

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

Ähnlich wie TestDriven Development, Why How and Smells

Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?Alexander Tarlinder
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveMalinda Kapuruge
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...QASymphony
 
"Challenges Faced by Testers Working on Agile Teams" by Aldo Rall
"Challenges Faced by Testers Working on Agile Teams" by Aldo Rall"Challenges Faced by Testers Working on Agile Teams" by Aldo Rall
"Challenges Faced by Testers Working on Agile Teams" by Aldo RallIndigoCube
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Developmentsatya sudheer
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionSteven Mak
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryNaveen Kumar Singh
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesShiva Narayanaswamy
 
Be Modern Agile Tester
Be Modern Agile TesterBe Modern Agile Tester
Be Modern Agile TesterYi Xu
 
Intro Of Agile
Intro Of AgileIntro Of Agile
Intro Of AgileSam Hwang
 
Agile Testing - What, why and how.
Agile Testing - What, why and how.Agile Testing - What, why and how.
Agile Testing - What, why and how.Asim Kazmi
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...Ortus Solutions, Corp
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...Uma Ghotikar
 
Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.Malinda Kapuruge
 

Ähnlich wie TestDriven Development, Why How and Smells (20)

Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?Agile Testing – Is it for me and how are others doing it?
Agile Testing – Is it for me and how are others doing it?
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
 
"Challenges Faced by Testers Working on Agile Teams" by Aldo Rall
"Challenges Faced by Testers Working on Agile Teams" by Aldo Rall"Challenges Faced by Testers Working on Agile Teams" by Aldo Rall
"Challenges Faced by Testers Working on Agile Teams" by Aldo Rall
 
Benefits from AATs
Benefits from AATsBenefits from AATs
Benefits from AATs
 
Fundamentals of Agile
Fundamentals of AgileFundamentals of Agile
Fundamentals of Agile
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Development
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile Adoption
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
Be Modern Agile Tester
Be Modern Agile TesterBe Modern Agile Tester
Be Modern Agile Tester
 
Agile test practices
Agile test practicesAgile test practices
Agile test practices
 
Intro Of Agile
Intro Of AgileIntro Of Agile
Intro Of Agile
 
Agile
AgileAgile
Agile
 
Agile Testing - What, why and how.
Agile Testing - What, why and how.Agile Testing - What, why and how.
Agile Testing - What, why and how.
 
Agile testing
Agile testingAgile testing
Agile testing
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
 
Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.Understanding TDD - theory, practice, techniques and tips.
Understanding TDD - theory, practice, techniques and tips.
 

Kürzlich hochgeladen

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

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”
  • 6.
  • 8.
  • 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”
  • 11.
  • 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
  • 15.
  • 16. Things we forget while coding • SOLID principle – Lower Complexity – Loosely Coupled – Tighter cohesion • Keep focus on Simple Design – YAGNI, DRY • Continues Refactoring
  • 17.
  • 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