SlideShare a Scribd company logo
1 of 18
Acceptance Test Driven Development (ATDD)
   Automated Acceptance Testing (AAT)
   Behaviour Driven Development (BDD)

         Pioneered by Dan North 2006
What are the goals?


What's in it for The Development Team?

What is it going to cost The Development Team?


What's in it for the business?

What is it going to cost the business?


What does it mean to be doing BDD or ATDD

Tooling options?


How to deal with push back from management or team members.
Goals
●   Communication bridge
●   Measurability
●   Ultimate visibility
●   Assistance in being able to deliver every Sprint
●   Provide confirmation that we have implemented specification
●   Code that is testable, of high quality, maintainable, extensible
●   RoI
●   Write less code
Beware!


Higher level tests = more expensive to create and maintain
Slower to run, not run in CI, usually run in nightly build
●   Potential for latency in the development cycle
●   Developers less likely to run them manually
●   Faults take longer to locate and fix
What's in it for the Devs?

Clear, concise and often terse automatable specifications
Living (always up to date) documentation
Confidence we're only writing what's needed
Clarification of assumptions
Product quality
Unit tests tell us our software works...
BDD tells us it does what the customer wants
Instant feedback
Assists in tight iterations
Cost to the Development Team?
Paradigm shift
Forced into active engagement
Finding unit test and mocking frameworks
Learning curve


Mocking frameworks I've evaluated recently:
●   NMock2, 3
●   Rhino Mocks
●   TypeMock
●   Moq
Cost of not doing BDD
●   Product quality

●   Predictability

●   Accountability

●   Rework... Ultimately costing the business.
What's in it for the Business?
●   Executable, living specifications providing assurance that the
    business functionality is “Done”
●   Confidence in The Scrum Team
●   Solid development KPI
●   Visibility of what to expect from a Done increment
●   Visibility into how much business value is being delivered
●   Predictability. Empowerment
●   Higher product quality = less money spent on rework and
    maintenance
●   Confidence that not only is the product being built correctly...
    but also that the correct product is being built
Cost to the Business?

●   A little team planning and a spike on tools
●   PO and stakeholders to understand what they
    are asking for.
Cost of not doing BDD
●   Visibility
●   Forecast-ability
●   Ability to make informed decisions
●   Software that does what it should do.
●   Speed to market. Software is a liability
    until it's released.
How do we do it?
    → Once tools are chosen
    → At the beginning of the Sprint
    → Test condition workshop...
Search BinaryMist on how-to-optimise-your-testing-effort
Resources:
You'll find everything you need here:
https://github.com/techtalk/SpecFlow/wiki/Documentation
Resources:
Best Intro Video:
http://www.watchmecode.net/jasmine-standalone#preview
Standalone Runner:
https://github.com/pivotal/jasmine/downloads
Best Intro Doc:
http://pivotal.github.com/jasmine/
Serenity Runner with .NET:
http://lostechies.com/josharnold/2012/02/25/running-jasmine-specs-in-d
FitNesse
Resources:
Two Minute Example:
http://fitnesse.org/FitNesse.UserGuide.TwoMinuteExample

Test Driven .NET Development with FitNesse by Gojko Adzic

Start here with Installation:
http://fitnesse.org/FitNesse.UserGuide.DownloadingAndInstallingFitNes
FitSharp:
https://github.com/jediwhale/fitsharp/downloads
Source:
https://github.com/unclebob/fitnesse
Dealing with push back

This is never going to be easy.
Books I've found helpful:
●   Fearless Change: Patterns for Introducing New Ideas
      by Mary Lynn Manns and Linda Rising

●   Change Agent: Engaging your passion to be the one who makes
     a difference by Os Hillman
Resources
●   If not already TDD'ing
    http://blog.binarymist.net/2012/12/01/moving-to-tdd/
●   Guidance on prioritising areas to test that give biggest bang for
    your buck
    http://blog.binarymist.net/2012/03/24/how-to-optimise-your-testing-ef
●   Book: Specification By Example by Gojko Adzic

More Related Content

What's hot

Why every Tester should also aspire to be a Developer on his project!-Sandee...
Why every Tester should  also aspire to be a Developer on his project!-Sandee...Why every Tester should  also aspire to be a Developer on his project!-Sandee...
Why every Tester should also aspire to be a Developer on his project!-Sandee...bhumika2108
 
LeSS: why broader Product Definition, who is the Real PO and what we are scal...
LeSS: why broader Product Definition, who is the Real PO and what we are scal...LeSS: why broader Product Definition, who is the Real PO and what we are scal...
LeSS: why broader Product Definition, who is the Real PO and what we are scal...Artem Bykovets
 
Scrum and agile principles
Scrum and agile principles Scrum and agile principles
Scrum and agile principles Ruben Canlas
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme ProgrammingKnoldus Inc.
 
Understanding the Scrum Team and Scrum Roles
Understanding the Scrum Team and Scrum RolesUnderstanding the Scrum Team and Scrum Roles
Understanding the Scrum Team and Scrum RolesOrangescrum
 
Scrum for Video Game Development
Scrum for Video Game DevelopmentScrum for Video Game Development
Scrum for Video Game DevelopmentClinton Keith
 
Modern agile devspace - 2017-10-14
Modern agile   devspace - 2017-10-14Modern agile   devspace - 2017-10-14
Modern agile devspace - 2017-10-14Daniel Heater
 
Introduction To Scrum
Introduction To ScrumIntroduction To Scrum
Introduction To Scrumvineet
 
Agile Framework Overview
Agile Framework OverviewAgile Framework Overview
Agile Framework OverviewNitin KR
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To AgileKnoldus Inc.
 
Short introduction to Agile Scrum
Short introduction to Agile ScrumShort introduction to Agile Scrum
Short introduction to Agile ScrumNishan Bose
 
зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokiaMagneta AI
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 

What's hot (20)

AdvanScrum: To Scrum and Beyond
AdvanScrum: To Scrum and BeyondAdvanScrum: To Scrum and Beyond
AdvanScrum: To Scrum and Beyond
 
Scrum team and efficiency
Scrum team and efficiencyScrum team and efficiency
Scrum team and efficiency
 
Scrum basics
Scrum basicsScrum basics
Scrum basics
 
Why every Tester should also aspire to be a Developer on his project!-Sandee...
Why every Tester should  also aspire to be a Developer on his project!-Sandee...Why every Tester should  also aspire to be a Developer on his project!-Sandee...
Why every Tester should also aspire to be a Developer on his project!-Sandee...
 
LeSS: why broader Product Definition, who is the Real PO and what we are scal...
LeSS: why broader Product Definition, who is the Real PO and what we are scal...LeSS: why broader Product Definition, who is the Real PO and what we are scal...
LeSS: why broader Product Definition, who is the Real PO and what we are scal...
 
Agile - Essential Scrum
Agile - Essential ScrumAgile - Essential Scrum
Agile - Essential Scrum
 
Scrum and agile principles
Scrum and agile principles Scrum and agile principles
Scrum and agile principles
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Understanding the Scrum Team and Scrum Roles
Understanding the Scrum Team and Scrum RolesUnderstanding the Scrum Team and Scrum Roles
Understanding the Scrum Team and Scrum Roles
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Scrum for Video Game Development
Scrum for Video Game DevelopmentScrum for Video Game Development
Scrum for Video Game Development
 
Modern agile devspace - 2017-10-14
Modern agile   devspace - 2017-10-14Modern agile   devspace - 2017-10-14
Modern agile devspace - 2017-10-14
 
Introduction To Scrum
Introduction To ScrumIntroduction To Scrum
Introduction To Scrum
 
Agile Framework Overview
Agile Framework OverviewAgile Framework Overview
Agile Framework Overview
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Agile Scrum
Agile ScrumAgile Scrum
Agile Scrum
 
Short introduction to Agile Scrum
Short introduction to Agile ScrumShort introduction to Agile Scrum
Short introduction to Agile Scrum
 
Agile Scrum
Agile ScrumAgile Scrum
Agile Scrum
 
зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokia
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 

Viewers also liked

Historia i guiadocente.planificaciones EGB
Historia i guiadocente.planificaciones EGBHistoria i guiadocente.planificaciones EGB
Historia i guiadocente.planificaciones EGBAdolfo Cerda Muñoz
 
Ciencias naturales 6 tierra y universo diario educacion
Ciencias naturales 6 tierra y universo diario educacionCiencias naturales 6 tierra y universo diario educacion
Ciencias naturales 6 tierra y universo diario educacionI Municipalidad santa Juana
 
Prueba 5° ciencias
Prueba 5° cienciasPrueba 5° ciencias
Prueba 5° cienciasJemima
 
139183705 prueba-capas-tierra-6º-basicos
139183705 prueba-capas-tierra-6º-basicos139183705 prueba-capas-tierra-6º-basicos
139183705 prueba-capas-tierra-6º-basicosYañez Roxana
 
Propuesta didáctica de ciencias naturales sexto (autoguardado)
Propuesta didáctica de ciencias naturales sexto (autoguardado)Propuesta didáctica de ciencias naturales sexto (autoguardado)
Propuesta didáctica de ciencias naturales sexto (autoguardado)emilseara
 

Viewers also liked (9)

Naturales 6 3
Naturales 6 3Naturales 6 3
Naturales 6 3
 
Módulo 2 gobierno electrónico
Módulo 2 gobierno electrónicoMódulo 2 gobierno electrónico
Módulo 2 gobierno electrónico
 
Historia i guiadocente.planificaciones EGB
Historia i guiadocente.planificaciones EGBHistoria i guiadocente.planificaciones EGB
Historia i guiadocente.planificaciones EGB
 
Ciencias naturales 6 tierra y universo diario educacion
Ciencias naturales 6 tierra y universo diario educacionCiencias naturales 6 tierra y universo diario educacion
Ciencias naturales 6 tierra y universo diario educacion
 
Prueba corregida
Prueba corregidaPrueba corregida
Prueba corregida
 
Prueba 5° ciencias
Prueba 5° cienciasPrueba 5° ciencias
Prueba 5° ciencias
 
139183705 prueba-capas-tierra-6º-basicos
139183705 prueba-capas-tierra-6º-basicos139183705 prueba-capas-tierra-6º-basicos
139183705 prueba-capas-tierra-6º-basicos
 
Examen de naturales prueba saber 4ºb
Examen de naturales prueba saber 4ºbExamen de naturales prueba saber 4ºb
Examen de naturales prueba saber 4ºb
 
Propuesta didáctica de ciencias naturales sexto (autoguardado)
Propuesta didáctica de ciencias naturales sexto (autoguardado)Propuesta didáctica de ciencias naturales sexto (autoguardado)
Propuesta didáctica de ciencias naturales sexto (autoguardado)
 

Similar to Moving to tdd bdd

How Dealogic Scaled Agile &; Delivers Effectively
How Dealogic Scaled Agile &; Delivers EffectivelyHow Dealogic Scaled Agile &; Delivers Effectively
How Dealogic Scaled Agile &; Delivers EffectivelyIrfan Ikram
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia eventXebia India
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
 
Six Steps to Conversation Driven Development
Six Steps to Conversation Driven DevelopmentSix Steps to Conversation Driven Development
Six Steps to Conversation Driven DevelopmentRasa Technologies
 
Pnp Agile Tech Ed India
Pnp Agile Tech Ed IndiaPnp Agile Tech Ed India
Pnp Agile Tech Ed Indiarsnarayanan
 
Becoming the Docker Champion: Bringing Docker Back to Work
Becoming the Docker Champion: Bringing Docker Back to WorkBecoming the Docker Champion: Bringing Docker Back to Work
Becoming the Docker Champion: Bringing Docker Back to WorkDocker, Inc.
 
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesLuiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesAgile Trends
 
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...Agile Testing Alliance
 
How to efficiently build great products in a startup
How to efficiently build great products in a startupHow to efficiently build great products in a startup
How to efficiently build great products in a startupRoger Dudler
 
Top 5 Software Purchasing Fails for an Agile Environment
Top 5 Software Purchasing Fails for an Agile EnvironmentTop 5 Software Purchasing Fails for an Agile Environment
Top 5 Software Purchasing Fails for an Agile EnvironmentAndy Marks
 
Introduction to BDD
Introduction to BDDIntroduction to BDD
Introduction to BDDKnoldus Inc.
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDaysJKT
 
BDD presentation
BDD presentationBDD presentation
BDD presentationtemebele
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopJim Plush
 
Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd Sakares Saengkaew
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQASymphony
 
Pair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical thingsPair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical thingsMarcello Duarte
 

Similar to Moving to tdd bdd (20)

Introduction to TDD and BDD
Introduction to TDD and BDDIntroduction to TDD and BDD
Introduction to TDD and BDD
 
How Dealogic Scaled Agile &; Delivers Effectively
How Dealogic Scaled Agile &; Delivers EffectivelyHow Dealogic Scaled Agile &; Delivers Effectively
How Dealogic Scaled Agile &; Delivers Effectively
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Six Steps to Conversation Driven Development
Six Steps to Conversation Driven DevelopmentSix Steps to Conversation Driven Development
Six Steps to Conversation Driven Development
 
Pnp Agile Tech Ed India
Pnp Agile Tech Ed IndiaPnp Agile Tech Ed India
Pnp Agile Tech Ed India
 
Becoming the Docker Champion: Bringing Docker Back to Work
Becoming the Docker Champion: Bringing Docker Back to WorkBecoming the Docker Champion: Bringing Docker Back to Work
Becoming the Docker Champion: Bringing Docker Back to Work
 
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesLuiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
 
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
 
How to efficiently build great products in a startup
How to efficiently build great products in a startupHow to efficiently build great products in a startup
How to efficiently build great products in a startup
 
Top 5 Software Purchasing Fails for an Agile Environment
Top 5 Software Purchasing Fails for an Agile EnvironmentTop 5 Software Purchasing Fails for an Agile Environment
Top 5 Software Purchasing Fails for an Agile Environment
 
Introduction to BDD
Introduction to BDDIntroduction to BDD
Introduction to BDD
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
Scrum + bdd + ddd
Scrum + bdd + dddScrum + bdd + ddd
Scrum + bdd + ddd
 
Pair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical thingsPair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical things
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Moving to tdd bdd

  • 1. Acceptance Test Driven Development (ATDD) Automated Acceptance Testing (AAT) Behaviour Driven Development (BDD) Pioneered by Dan North 2006
  • 2. What are the goals? What's in it for The Development Team? What is it going to cost The Development Team? What's in it for the business? What is it going to cost the business? What does it mean to be doing BDD or ATDD Tooling options? How to deal with push back from management or team members.
  • 3. Goals ● Communication bridge ● Measurability ● Ultimate visibility ● Assistance in being able to deliver every Sprint ● Provide confirmation that we have implemented specification ● Code that is testable, of high quality, maintainable, extensible ● RoI ● Write less code
  • 4. Beware! Higher level tests = more expensive to create and maintain Slower to run, not run in CI, usually run in nightly build ● Potential for latency in the development cycle ● Developers less likely to run them manually ● Faults take longer to locate and fix
  • 5. What's in it for the Devs? Clear, concise and often terse automatable specifications Living (always up to date) documentation Confidence we're only writing what's needed Clarification of assumptions Product quality Unit tests tell us our software works... BDD tells us it does what the customer wants Instant feedback Assists in tight iterations
  • 6. Cost to the Development Team? Paradigm shift Forced into active engagement Finding unit test and mocking frameworks Learning curve Mocking frameworks I've evaluated recently: ● NMock2, 3 ● Rhino Mocks ● TypeMock ● Moq
  • 7. Cost of not doing BDD ● Product quality ● Predictability ● Accountability ● Rework... Ultimately costing the business.
  • 8. What's in it for the Business? ● Executable, living specifications providing assurance that the business functionality is “Done” ● Confidence in The Scrum Team ● Solid development KPI ● Visibility of what to expect from a Done increment ● Visibility into how much business value is being delivered ● Predictability. Empowerment ● Higher product quality = less money spent on rework and maintenance ● Confidence that not only is the product being built correctly... but also that the correct product is being built
  • 9.
  • 10. Cost to the Business? ● A little team planning and a spike on tools ● PO and stakeholders to understand what they are asking for.
  • 11. Cost of not doing BDD ● Visibility ● Forecast-ability ● Ability to make informed decisions ● Software that does what it should do. ● Speed to market. Software is a liability until it's released.
  • 12. How do we do it? → Once tools are chosen → At the beginning of the Sprint → Test condition workshop... Search BinaryMist on how-to-optimise-your-testing-effort
  • 13.
  • 14. Resources: You'll find everything you need here: https://github.com/techtalk/SpecFlow/wiki/Documentation
  • 15. Resources: Best Intro Video: http://www.watchmecode.net/jasmine-standalone#preview Standalone Runner: https://github.com/pivotal/jasmine/downloads Best Intro Doc: http://pivotal.github.com/jasmine/ Serenity Runner with .NET: http://lostechies.com/josharnold/2012/02/25/running-jasmine-specs-in-d
  • 16. FitNesse Resources: Two Minute Example: http://fitnesse.org/FitNesse.UserGuide.TwoMinuteExample Test Driven .NET Development with FitNesse by Gojko Adzic Start here with Installation: http://fitnesse.org/FitNesse.UserGuide.DownloadingAndInstallingFitNes FitSharp: https://github.com/jediwhale/fitsharp/downloads Source: https://github.com/unclebob/fitnesse
  • 17. Dealing with push back This is never going to be easy. Books I've found helpful: ● Fearless Change: Patterns for Introducing New Ideas by Mary Lynn Manns and Linda Rising ● Change Agent: Engaging your passion to be the one who makes a difference by Os Hillman
  • 18. Resources ● If not already TDD'ing http://blog.binarymist.net/2012/12/01/moving-to-tdd/ ● Guidance on prioritising areas to test that give biggest bang for your buck http://blog.binarymist.net/2012/03/24/how-to-optimise-your-testing-ef ● Book: Specification By Example by Gojko Adzic