SlideShare a Scribd company logo
BDD Crash Course for Testers
Gaspar Nagy
coach • trainer • bdd addict • creator of specflow
@gasparnagy • gaspar@specsolutions.eu
Copyright © Gaspar Nagy
What is BDD?
Copyright © Gaspar Nagy
BDD?
BDD is a second-generation,
outside-in, pull-based, multiple-
stakeholder, multiple-scale, high-
automation, agile methodology.
It describes a cycle of interactions
with well-defined outputs, resulting
in the delivery of working, tested
software that matters.
Dan North, Agile Testing, Specifications and BDD Exchange 2009
Copyright © Gaspar Nagy
BDD
Behavior Driven
Development
TDD
Test Driven
Development
DDD
Domain Driven Design
ATDD
Acceptance Test
Driven Development
User Stories
Specification
by Example
Definition of
Done
Outside-In
Development
DSL
Domain Specific
Language
Copyright © Gaspar Nagy
FEAR
My Story
Agile
Engineering
(XP, TDD,
pairing)
Agile
Project
Mgmt.
(Scrum, Kanban)
Agile
Requirement
Analysis
(User Story,
Acceptance
Criteria)
Agile
Testing
(bug prevention,
exploratory
testing, context-
driven)
Bug Hunting → Bug Prevention
Copyright © Gaspar Nagy
Requirements vs. Tests
As formality increases, tests and
requirements become indistinguishable.
At the limit, tests and requirements are
equivalent.
Equivalence Hypothesis (Martin, Melnik)
Pic: Martin/Melnik: Requirements and Tests
Copyright © Gaspar Nagy
Specification-By-Example
Example Tests
Specifications
consist of
describe validate fulfillment
Source: Gojko Adzic – Bridging the Communication Gap
My Story
Agile
Engineering
(XP, TDD,
pairing)
Agile
Project
Mgmt.
(Scrum, Kanban)
Agile
Requirement
Analysis
(User Story,
Acceptance
Criteria)
Agile
Testing
(bug prevention,
exploratory
testing, context-
driven)
BDD
Copyright © Gaspar Nagy
BDD
BDD =
Product Ownership +
Collaboration +
Automation
on the product
of requirements
real
Team Foundation Server Version Control
TeamFoundation Server Workitems
SpecLog
Story Maps
Product
Backlog
Sprint
Backlog
Task Board
SpecFlow Scenarios
Test-
auto-
mation
Product
Living
Documen-
tation
Our Process
Source: TechTalk (www.techtalk.at)
Planning a story with acceptance
criteria
“Imagine this story is
already implemented:
How would you verify
it?”
“I would try to put a book
into the shopping cart …”
“I would try to remove a
book from the shopping
cart…”
“I’d check whether the shopping
cart is empty, when I enter the
shop …”
Shopping cart should be
empty when entering the
shop
Gherkin Scenarios
Scenario: Books can be added to the shopping basket
Given the following books
|Author |Title |
|Martin Fowler |Analysis Patterns |
|Gojko Adzic |Bridging the Communication Gap |
And my shopping basket is empty
When I add the book “Analysis Patterns” to my shopping basket
Then my shopping basket should contain 1 copy of “Analysis Patterns”
Copyright © Gaspar Nagy
DEMO
SpecFlow in
Action
Copyright © Gaspar Nagy
Test automation is hard
Approach and Landing Tests
Source: https://en.Wikipedia.org/wiki/Approach_and_Landing_Tests
An example of using stubs…
Source: https://en.Wikipedia.org/wiki/Approach_and_Landing_Tests
Copyright © Gaspar Nagy
Test-first thinking in designing
complex applications helps a lot for
test automation efficiency
Copyright © Gaspar Nagy
Test-first is hard
• When we exploring new areas/technologies
• When we need to work with legacy systems
• When …
But this should not be an excuse but a source of
inspiration!
Copyright © Gaspar Nagy
Copyright © Gaspar Nagy
SpecFlow
Course
Kiev
9-11 November
Thank you!
See you at on scrummaster.com.ua's booth!
Gaspar Nagy
coach • trainer • bdd addict • creator of specflow
@gasparnagy • gaspar@specsolutions.eu

More Related Content

PPTX
Tech breakfast at Lab49
PDF
ATAGTR2017 What Lies Beneath Robotics Process Automation
PPTX
Weighted Defect Removal Effectiveness: Method and Value
PDF
Defect prevention techniques
PDF
Defect Prevention
PDF
transcript
PPTX
What makes a good website SEO & Social Media 28th April 2015
PPT
Attestato delle competenze. Alessio Fuse'
Tech breakfast at Lab49
ATAGTR2017 What Lies Beneath Robotics Process Automation
Weighted Defect Removal Effectiveness: Method and Value
Defect prevention techniques
Defect Prevention
transcript
What makes a good website SEO & Social Media 28th April 2015
Attestato delle competenze. Alessio Fuse'

Viewers also liked (12)

PDF
Mary Nashed CV_AUG.2016
PPTX
PDF
Vani Kapoor Model ( Cinesprint magazine september 2015 )
DOC
Путешествия по миру
DOC
DIRECTIVE 200060 EC OF THE European Parliament and the Counsil.DOC
PPT
Diferents vides
PDF
5.formulario nº de identificación
PPT
From Defect Reporting To Defect Prevention
PPTX
Modelo a Utilizar en una Situación Objeto de Estudios
PPT
Arter kan gazları
PDF
Sales line company_profile_it
PPTX
Defect correction-Software Testing
Mary Nashed CV_AUG.2016
Vani Kapoor Model ( Cinesprint magazine september 2015 )
Путешествия по миру
DIRECTIVE 200060 EC OF THE European Parliament and the Counsil.DOC
Diferents vides
5.formulario nº de identificación
From Defect Reporting To Defect Prevention
Modelo a Utilizar en una Situación Objeto de Estudios
Arter kan gazları
Sales line company_profile_it
Defect correction-Software Testing
Ad

Similar to QA Fest 2015. Gáspár Nagy. BDD Crash Course for Testers (20)

PDF
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
PDF
Expo qa from user stories to automated acceptance tests with bdd
PDF
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
PDF
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
PPTX
Руслан Плахута - Внедрение BDD в распределенные команды
PPTX
BDD - Collaboration & Hands-on practices
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
PPT
Bdd with m spec
PPTX
BDD - Collaboration for Continuous Delivery
PPTX
Behaviour Driven Development with SpecFlow
PPTX
Introduction to Testing and TDD
PPTX
Agile Testing Agile Ottawa April 2015
PDF
Inside Behavior Driven Development
PDF
Specification-By-Example with Gherkin
PPTX
An Introduction To Software Development - Test Driven Development, Part 1
PDF
Behavior Driven Development
PPTX
ATDD in practice
PDF
BDD is not about test automation, it's about testing what you don't know
PPTX
Behavior-Driven Development (BDD) in context
PPTX
Introduction to BDD
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
Expo qa from user stories to automated acceptance tests with bdd
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
Руслан Плахута - Внедрение BDD в распределенные команды
BDD - Collaboration & Hands-on practices
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Bdd with m spec
BDD - Collaboration for Continuous Delivery
Behaviour Driven Development with SpecFlow
Introduction to Testing and TDD
Agile Testing Agile Ottawa April 2015
Inside Behavior Driven Development
Specification-By-Example with Gherkin
An Introduction To Software Development - Test Driven Development, Part 1
Behavior Driven Development
ATDD in practice
BDD is not about test automation, it's about testing what you don't know
Behavior-Driven Development (BDD) in context
Introduction to BDD
Ad

More from QAFest (20)

PDF
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
PPTX
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
PPTX
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
PDF
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
PDF
QA Fest 2019. Никита Галкин. Как зарабатывать больше
PDF
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
PDF
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
PPTX
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
PPTX
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
PDF
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
PPTX
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
PDF
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
PPTX
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
PDF
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
PDF
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
PDF
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
PPTX
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
PPTX
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
PDF
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
PPTX
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22

Recently uploaded (20)

PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Institutional Correction lecture only . . .
PDF
Complications of Minimal Access Surgery at WLH
PDF
Sports Quiz easy sports quiz sports quiz
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
master seminar digital applications in india
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Lesson notes of climatology university.
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Insiders guide to clinical Medicine.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPH.pptx obstetrics and gynecology in nursing
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Institutional Correction lecture only . . .
Complications of Minimal Access Surgery at WLH
Sports Quiz easy sports quiz sports quiz
Supply Chain Operations Speaking Notes -ICLT Program
master seminar digital applications in india
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Renaissance Architecture: A Journey from Faith to Humanism
GDM (1) (1).pptx small presentation for students
Lesson notes of climatology university.
Final Presentation General Medicine 03-08-2024.pptx
Microbial disease of the cardiovascular and lymphatic systems
Insiders guide to clinical Medicine.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
STATICS OF THE RIGID BODIES Hibbelers.pdf
O7-L3 Supply Chain Operations - ICLT Program
O5-L3 Freight Transport Ops (International) V1.pdf
01-Introduction-to-Information-Management.pdf

QA Fest 2015. Gáspár Nagy. BDD Crash Course for Testers

  • 1. BDD Crash Course for Testers Gaspar Nagy coach • trainer • bdd addict • creator of specflow @gasparnagy • gaspar@specsolutions.eu
  • 2. Copyright © Gaspar Nagy What is BDD?
  • 3. Copyright © Gaspar Nagy BDD? BDD is a second-generation, outside-in, pull-based, multiple- stakeholder, multiple-scale, high- automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters. Dan North, Agile Testing, Specifications and BDD Exchange 2009
  • 4. Copyright © Gaspar Nagy BDD Behavior Driven Development TDD Test Driven Development DDD Domain Driven Design ATDD Acceptance Test Driven Development User Stories Specification by Example Definition of Done Outside-In Development DSL Domain Specific Language
  • 6. My Story Agile Engineering (XP, TDD, pairing) Agile Project Mgmt. (Scrum, Kanban) Agile Requirement Analysis (User Story, Acceptance Criteria) Agile Testing (bug prevention, exploratory testing, context- driven)
  • 7. Bug Hunting → Bug Prevention
  • 8. Copyright © Gaspar Nagy Requirements vs. Tests As formality increases, tests and requirements become indistinguishable. At the limit, tests and requirements are equivalent. Equivalence Hypothesis (Martin, Melnik) Pic: Martin/Melnik: Requirements and Tests
  • 9. Copyright © Gaspar Nagy Specification-By-Example Example Tests Specifications consist of describe validate fulfillment Source: Gojko Adzic – Bridging the Communication Gap
  • 10. My Story Agile Engineering (XP, TDD, pairing) Agile Project Mgmt. (Scrum, Kanban) Agile Requirement Analysis (User Story, Acceptance Criteria) Agile Testing (bug prevention, exploratory testing, context- driven) BDD
  • 11. Copyright © Gaspar Nagy BDD BDD = Product Ownership + Collaboration + Automation on the product of requirements real
  • 12. Team Foundation Server Version Control TeamFoundation Server Workitems SpecLog Story Maps Product Backlog Sprint Backlog Task Board SpecFlow Scenarios Test- auto- mation Product Living Documen- tation Our Process Source: TechTalk (www.techtalk.at)
  • 13. Planning a story with acceptance criteria “Imagine this story is already implemented: How would you verify it?” “I would try to put a book into the shopping cart …” “I would try to remove a book from the shopping cart…” “I’d check whether the shopping cart is empty, when I enter the shop …” Shopping cart should be empty when entering the shop
  • 14. Gherkin Scenarios Scenario: Books can be added to the shopping basket Given the following books |Author |Title | |Martin Fowler |Analysis Patterns | |Gojko Adzic |Bridging the Communication Gap | And my shopping basket is empty When I add the book “Analysis Patterns” to my shopping basket Then my shopping basket should contain 1 copy of “Analysis Patterns”
  • 15. Copyright © Gaspar Nagy DEMO SpecFlow in Action
  • 16. Copyright © Gaspar Nagy Test automation is hard
  • 17. Approach and Landing Tests Source: https://en.Wikipedia.org/wiki/Approach_and_Landing_Tests
  • 18. An example of using stubs… Source: https://en.Wikipedia.org/wiki/Approach_and_Landing_Tests
  • 19. Copyright © Gaspar Nagy Test-first thinking in designing complex applications helps a lot for test automation efficiency
  • 20. Copyright © Gaspar Nagy Test-first is hard • When we exploring new areas/technologies • When we need to work with legacy systems • When … But this should not be an excuse but a source of inspiration!
  • 22. Copyright © Gaspar Nagy SpecFlow Course Kiev 9-11 November
  • 23. Thank you! See you at on scrummaster.com.ua's booth! Gaspar Nagy coach • trainer • bdd addict • creator of specflow @gasparnagy • gaspar@specsolutions.eu