it's testing, jim, but not as we know it - bdd for testers
TRANSCRIPT
![Page 1: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/1.jpg)
Behaviour Driven Development
“It’s Testing, Jim, but not as we know it!”
![Page 2: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/2.jpg)
John Ferguson Smart
Consultant Trainer Mentor Author Speaker Coder
WelcomeWelcome
John Ferguson Smart
Consultant Trainer Mentor Author Speaker Coder
![Page 3: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/3.jpg)
Behaviour Driven Development
You keep using that term
I do not think it means what you think it means
![Page 4: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/4.jpg)
You may have heard of it
A test automation tool?
Behaviour Driven Development
![Page 5: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/5.jpg)
You may have heard of it
A different way to write user stories?
Behaviour Driven Development
Feature: Search by keyword In order for buyers to find what they are looking for more efficiently As a seller I want buyers to be able to search for articles by keywords Scenario: Search for articles by keyword Given I want to buy a wool scarf When I search for 'wool' Then I should see only articles related to 'wool' Scenario: Search by shop name Given I want to see articles from a particular shop When I search by shop for 'docksmith' Then I should find 1 shop called 'docksmith'
![Page 6: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/6.jpg)
You may have heard of it
Behaviour Driven Development
A way to collaborate better?
![Page 7: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/7.jpg)
You may have heard of it
Behaviour Driven Development
a shared understanding
software that matters
Using examples
![Page 8: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/8.jpg)
You may have heard of it
Behaviour Driven Development
Hunting out valueAutomated Acceptance Criteria
API and code design
Collaboration
Building the software right
Building the right software
Living Documentation
BDD
![Page 9: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/9.jpg)
The business owner tells the business
analyst what he wants
12 The business
analyst writes a requirements
document
3 The developer translates the requirements into software
4 The tester translates the requirements
into test cases 5 The technical writer translates
the software into functional and technical
documentationA traditional development process
BDD in a nutshell
![Page 10: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/10.jpg)
The business owner and the business
analyst have a conversation about
what he needs.
1
2
3
4 The tester uses these scenarios as the basis for
her tests
5
The automated tests provide feedback on progress and help
document the application
The business analyst, the developer and the tester elaborate the
requirements together.
The scenarios guide the developer and act as
automated tests
They define requirements as
structured, English-language format
"scenarios"
A BDD development process
BDD in a nutshellBDD in a nutshellBDD in a nutshell
![Page 11: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/11.jpg)
The business owner and the business
analyst have a conversation about
what he needs.
1
2
3
4 The tester uses these scenarios as the basis for
her tests
5
The automated tests provide feedback on progress and help
document the application
The business analyst, the developer and the tester elaborate the
requirements together.
The scenarios guide the developer and act as
automated tests
They define requirements as
structured, English-language format
"scenarios"
• Specifications are elaborated collaboratively • Specifications use a common language • Executable specifications provide fast
BDD in a nutshellBDD in a nutshell
![Page 12: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/12.jpg)
BDD in a nutshellBDD is about collaboration
“Having the conversa/on is more important than
recording the conversa/on is more important than
automa/ng the conversa/on” -‐ Liz Keogh
![Page 13: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/13.jpg)
BDD in a nutshellBDD is about collaboration
Story
bug reports
Working code boring
manual testing
WASTEBA
Developer
Tester
Many teams build features like this…
![Page 14: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/14.jpg)
BDD in a nutshellBDD is about collaboration
Working code and Working Automated Acceptance Tests
Exploratory testing, usability testing...
Shared understanding
Story
Examples
Automated acceptance
criteria
BDD teams focus on building a shared understanding
![Page 15: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/15.jpg)
BDD in a nutshellBDD is about collaboration
BDD teams focus on building a shared understanding
![Page 16: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/16.jpg)
BDD in a nutshellA typical BDD workflow
![Page 17: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/17.jpg)
BDD in a nutshellA typical BDD workflow
Frequent Flyer Application Goal: Encourage travellers to fly with Flying High airlines more often by allowing them to cumulate Frequent Flyer points that they can spend on cheaper flights.
Goals
Earning points from flights
Capabilities
Earning points from spending with partners
Viewing points earned
Spending points on bookings
FeaturesViewing current points balance
View points needed to achieve the next status level
Calculating points needed for a given destination
![Page 18: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/18.jpg)
BDD in a nutshellA typical BDD workflow
Calculating points needed for a given destination As a traveller I want to know how many points I need to go to a given destination So that I can plan my next trip with Flying High Airlines
Feature
Acceptance Criteria - Need 2 points per km - Members can calculate points needed on their account home page
Acceptance Criteria
Automated Acceptance
Criteria
![Page 19: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/19.jpg)
BDD in a nutshellA typical BDD workflow
Automated Acceptance
Criteria
Automated Acceptance
Tests
![Page 20: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/20.jpg)
BDD in a nutshellA typical BDD workflow
Automated Acceptance
Tests
Application Code
Low level specifications
![Page 21: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/21.jpg)
BDD in a nutshellBDD Living Documentation
Meaningful feedback on what requirements have (and have not) been delivered
What about the reports?
![Page 22: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/22.jpg)
BDD in a nutshellBDD Living Documentation
Descriptions of each feature with an example of how it behaves
What about the reports?
![Page 23: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/23.jpg)
BDD in a nutshellBDD Living Documentation
What about the reports?
…complete with illustrations
![Page 24: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/24.jpg)
BDD in a nutshellBDD Living Documentation
What about the reports?
Verify how each feature was tested
![Page 25: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/25.jpg)
BDD in a nutshellBDD Living Documentation
What about the reports?
… and document releases
![Page 26: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/26.jpg)
BDD Adoption Challenges
“There might be more to this than we thought”
![Page 27: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/27.jpg)
BDD in a nutshell5 BDD Adoption Gotchas
12
3
4
The business analyst writes the scenarios and then gives them to the other team members.
1) “I did it my way”
![Page 28: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/28.jpg)
BDD in a nutshell5 BDD Adoption Gotchas
12
3
4
The tester writes the scenarios at the end to implement an automated test suite.
2) “The Tester’s Tool”
![Page 29: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/29.jpg)
BDD in a nutshell5 BDD Adoption Gotchas
1
2
3
45
The “Three Amigos” sessions don’t result in usable scenarios, so the developer invents them
3) “The 3 amigos coffee club”
![Page 30: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/30.jpg)
BDD in a nutshell5 BDD Adoption Gotchas
1
2
3
45
The scenarios are too UI-centric or detail-focused, and neglect to express the core business value.
4) “The forest and the trees”
![Page 31: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/31.jpg)
BDD in a nutshell5 BDD Adoption Gotchas
5) “The BDD Test Scribe”
12
3
4
The automated tester does not collaborate with the developers, resulting in slow and fragile acceptance tests
![Page 32: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/32.jpg)
BDD in a nutshell5 BDD Tips for Testers
1) Team up with the developers
![Page 33: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/33.jpg)
BDD in a nutshell5 BDD Tips for Testers
Business Rules
Business Flow
Page/Component interactions
Page/Component details
2) Use layers
![Page 34: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/34.jpg)
BDD in a nutshell5 BDD Tips for Testers
3)Prefer non-UI tests where possible
![Page 35: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/35.jpg)
BDD in a nutshell5 BDD Tips for Testers
4) Treat your test code like production code
![Page 36: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/36.jpg)
BDD in a nutshell5 BDD Tips for Testers
5) Know when not to automate
This slide is left intentionally blank
![Page 37: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/37.jpg)
3 BDD Tester Wins
Deeper participation in feature delivery
![Page 38: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/38.jpg)
3 BDD Tester Wins
Higher quality automated tests
![Page 39: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/39.jpg)
3 BDD Tester Wins
More time for high-quality manual testing
![Page 40: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/40.jpg)
Any questions?
“It’s Testing, Jim, but not as we know it!”
![Page 41: It's Testing, Jim, but not as we know it - BDD for Testers](https://reader030.vdocument.in/reader030/viewer/2022020307/55a69c081a28abef7d8b4696/html5/thumbnails/41.jpg)
John Ferguson Smart
Consultant Trainer Mentor Author Speaker Coder
WelcomeWelcome
John Ferguson Smart
Consultant Trainer Mentor Author Speaker Coder