SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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)
 

Similaire à 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
 

Similaire à 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
 

Dernier

Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfalexjohnson7307
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdfMuhammad Subhan
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxjbellis
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...ScyllaDB
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 

Dernier (20)

Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 

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