SlideShare a Scribd company logo
Gauge + Taiko:
BDD for Web Revived
Dmitry Vinnik
@DmitryVinnik dvinnik.com
What are our goals?
@DmitryVinnik dvinnik.com
2
Goals
Better Understanding of BDD
Choosing Gauge vs Cucumber
Best Combo: Gauge + Taiko
@DmitryVinnik dvinnik.com
3
Setting up context
@DmitryVinnik dvinnik.com
4
Great, now what?
@DmitryVinnik dvinnik.com
5
Let’s go back to BDD
@DmitryVinnik dvinnik.com
6
Behaviour Driven
Development
@DmitryVinnik dvinnik.com
7
“BDD is as much about the collaboration
as it is about the outputs of the project.”
by Dan North
@DmitryVinnik dvinnik.com8
BDD
@DmitryVinnik dvinnik.com
9
Testing
BDD
@DmitryVinnik dvinnik.com
10
Collaboration Documentation
Ubiquitous
Language
TDD-based
Documentation
Ubiquitous
Language
TDD-based
Collaboration in BDD
@DmitryVinnik dvinnik.com
11
Specification by Example
@DmitryVinnik dvinnik.com
12
@DmitryVinnik dvinnik.com
13
Specification Workshop
BDD
@DmitryVinnik dvinnik.com
14
Collaboration Documentation
Ubiquitous
Language
TDD-based
Documentation
Ubiquitous
Language
TDD-based
Collaboration Documentation
What is the most common
documentation?
@DmitryVinnik dvinnik.com
15
Regression Tests
@DmitryVinnik dvinnik.com
16
What is the purpose?
@DmitryVinnik dvinnik.com
17
Documents
Historical State
@DmitryVinnik dvinnik.com
18
BDD Tests?
@DmitryVinnik dvinnik.com
19
Documents
Current State
@DmitryVinnik dvinnik.com
20
BDD
@DmitryVinnik dvinnik.com
21
Collaboration Documentation
Ubiquitous
Language
TDD-based
Documentation
Ubiquitous
Language
TDD-based
Collaboration DocumentationDocumentation
Ubiquitous
Language
Ubiquitous Language
Engineers Testers
Domain
Experts
@DmitryVinnik dvinnik.com
BDD
@DmitryVinnik dvinnik.com
23
Collaboration Documentation
Ubiquitous
Language
TDD-based
Documentation
Ubiquitous
Language
TDD-based
Collaboration DocumentationDocumentation
Ubiquitous
Language
Ubiquitous
Language
TDD-based
TDD
@DmitryVinnik dvinnik.com
24
Test Driven Development
@DmitryVinnik dvinnik.com
25
“TDD is building software by writing tests”
by Martin Fowler
@DmitryVinnik dvinnik.com26
In simple terms
@DmitryVinnik dvinnik.com
27
@DmitryVinnik dvinnik.com
28
Feature Test
@DmitryVinnik dvinnik.com
29
Test Feature
Enough theory
@DmitryVinnik dvinnik.com
30
BDD in Practice?
@DmitryVinnik dvinnik.com
31
Changing
Testing Paradigm
@DmitryVinnik dvinnik.com
32
@DmitryVinnik dvinnik.com
33
Arrange
Act
Assert
Given
When
Then
How to apply BDD?
@DmitryVinnik dvinnik.com
34
Cucumber
@DmitryVinnik dvinnik.com
35
Cucumber
@DmitryVinnik dvinnik.com
36
Source: https://cucumber.io
In a nutshell
@DmitryVinnik dvinnik.com
37
@DmitryVinnik dvinnik.com
38
Feature
File
Implementation
Cucumber
+
Let’s take a closer look
@DmitryVinnik dvinnik.com
39
Special Case #1
40
@DmitryVinnik dvinnik.com
Backend:
Java
Testing:
Java
41
@DmitryVinnik dvinnik.com
Is there a problem?
@DmitryVinnik dvinnik.com42
Yes, there is
@DmitryVinnik dvinnik.com43
@DmitryVinnik dvinnik.com44
Web
Tests
User
Centric
Frontend:
JS
Testing:
JS
45
@DmitryVinnik dvinnik.com
Looks complex!
@DmitryVinnik dvinnik.com
46
Time for something new!
@DmitryVinnik dvinnik.com
47
@DmitryVinnik dvinnik.com48
Gauge Taiko+ Taiko
Gauge
@DmitryVinnik dvinnik.com
49
Markdown
Scenarios
Flexible Syntax
↑ Maintenance
Plugins &
Tools
Plugins &
Tools
Gauge
@DmitryVinnik dvinnik.com
50
Markdown
Scenarios
Flexible Syntax
↑ Maintenance
Plugins &
Tools
Most common question
@DmitryVinnik dvinnik.com
51
Test Data Retrieval
@DmitryVinnik dvinnik.com
52
By Variable By Table
By File
@DmitryVinnik dvinnik.com53
Gauge Taiko+ TaikoGauge Taiko
UI Tests
@DmitryVinnik dvinnik.com
54
What’s the main
challenge?
@DmitryVinnik dvinnik.com
55
Test Flakiness
@DmitryVinnik dvinnik.com
56
Flaky UI Tests
@DmitryVinnik dvinnik.com
57
Page Structure
Changes
Page Load Time
How do we fix it?
@DmitryVinnik dvinnik.com
58
Taiko
@DmitryVinnik dvinnik.com
59
NodeJS
Library
Smart
Selectors
Implicit
Waits
Chromium
Based
Let’s see it in practice
@DmitryVinnik dvinnik.com
60
@DmitryVinnik dvinnik.com61
Gauge Taiko+
Final Piece
@DmitryVinnik dvinnik.com
62
Reporting
@DmitryVinnik dvinnik.com
63
Main question
@DmitryVinnik dvinnik.com
64
Should we revive
BDD for Web?
@DmitryVinnik dvinnik.com
65
Yes
@DmitryVinnik dvinnik.com
66
Revive and Adjust
@DmitryVinnik dvinnik.com
67
Revive and Adjust
@DmitryVinnik dvinnik.com
68
↑ Collaboration
Live Document
Ubiquitous
Language
One Size
Fits All
Call For Action
@DmitryVinnik dvinnik.com69
Evaluate
Current State
ExperimentBe Flexible
Start
Conversation
Q/A
@DmitryVinnik dvinnik.com
About Speaker
Twitter: @DmitryVinnik
Blog: dvinnik.com
LinkedIn: in/dmitry-vinnik/
Email: dmitry@dvinnik.com

More Related Content

What's hot

BDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOBDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIO
M Rizwanur Rashid
 
4 Major Advantages of API Testing
4 Major Advantages of API Testing4 Major Advantages of API Testing
4 Major Advantages of API Testing
QASource
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
Mayara Fernandes
 
Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화
Jaehoon Oh
 
Authenticating Angular Apps with JWT
Authenticating Angular Apps with JWTAuthenticating Angular Apps with JWT
Authenticating Angular Apps with JWT
Jennifer Estrada
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefitsnazeer pasha
 
Kotlin vs Java | Edureka
Kotlin vs Java | EdurekaKotlin vs Java | Edureka
Kotlin vs Java | Edureka
Edureka!
 
Test automation
Test automationTest automation
Test automation
Xavier Yin
 
NGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service MeshNGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Inc.
 
Test Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and CucumberTest Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and Cucumber
Rhoynar Software Consulting
 
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Simplilearn
 
Behavior driven development (bdd)
Behavior driven development (bdd)Behavior driven development (bdd)
Behavior driven development (bdd)
Rohit Bisht
 
Docker Networking
Docker NetworkingDocker Networking
Docker Networking
Kingston Smiler
 
Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)
Weaveworks
 
Continuous delivery-with-maven
Continuous delivery-with-mavenContinuous delivery-with-maven
Continuous delivery-with-maven
John Ferguson Smart Limited
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven TestingMaveryx
 
Selenium Interview Questions and Answers For Freshers And Experienced | Edureka
Selenium Interview Questions and Answers For Freshers And Experienced | EdurekaSelenium Interview Questions and Answers For Freshers And Experienced | Edureka
Selenium Interview Questions and Answers For Freshers And Experienced | Edureka
Edureka!
 
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Edureka!
 
Distributed load testing with k6
Distributed load testing with k6Distributed load testing with k6
Distributed load testing with k6
Thijs Feryn
 
API Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNGAPI Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNG
Siddharth Sharma
 

What's hot (20)

BDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOBDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIO
 
4 Major Advantages of API Testing
4 Major Advantages of API Testing4 Major Advantages of API Testing
4 Major Advantages of API Testing
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
 
Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화
 
Authenticating Angular Apps with JWT
Authenticating Angular Apps with JWTAuthenticating Angular Apps with JWT
Authenticating Angular Apps with JWT
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefits
 
Kotlin vs Java | Edureka
Kotlin vs Java | EdurekaKotlin vs Java | Edureka
Kotlin vs Java | Edureka
 
Test automation
Test automationTest automation
Test automation
 
NGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service MeshNGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service Mesh
 
Test Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and CucumberTest Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and Cucumber
 
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
 
Behavior driven development (bdd)
Behavior driven development (bdd)Behavior driven development (bdd)
Behavior driven development (bdd)
 
Docker Networking
Docker NetworkingDocker Networking
Docker Networking
 
Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)
 
Continuous delivery-with-maven
Continuous delivery-with-mavenContinuous delivery-with-maven
Continuous delivery-with-maven
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
 
Selenium Interview Questions and Answers For Freshers And Experienced | Edureka
Selenium Interview Questions and Answers For Freshers And Experienced | EdurekaSelenium Interview Questions and Answers For Freshers And Experienced | Edureka
Selenium Interview Questions and Answers For Freshers And Experienced | Edureka
 
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
 
Distributed load testing with k6
Distributed load testing with k6Distributed load testing with k6
Distributed load testing with k6
 
API Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNGAPI Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNG
 

Similar to Gauge + Taiko, BDD for Web Revived

Domain Driven Testing: Know What You’re Doing
Domain Driven Testing: Know What You’re DoingDomain Driven Testing: Know What You’re Doing
Domain Driven Testing: Know What You’re Doing
Dmitry Vinnik
 
Testing at Scale at Meta and Salesforce
Testing at Scale at Meta and SalesforceTesting at Scale at Meta and Salesforce
Testing at Scale at Meta and Salesforce
Dmitry Vinnik
 
Uphill Battle of Mobile Visual Regression
Uphill Battle of Mobile Visual RegressionUphill Battle of Mobile Visual Regression
Uphill Battle of Mobile Visual Regression
Dmitry Vinnik
 
Engineer in Test: Bridging the Gap
Engineer in Test: Bridging the GapEngineer in Test: Bridging the Gap
Engineer in Test: Bridging the Gap
Dmitry Vinnik
 
Testing React with Jest: Validate Your Components Quickly!
Testing React with Jest: Validate Your Components Quickly!Testing React with Jest: Validate Your Components Quickly!
Testing React with Jest: Validate Your Components Quickly!
Dmitry Vinnik
 
Testing Svelte with Jest: Validate Your Components Quickly!
Testing Svelte with Jest: Validate Your Components Quickly!Testing Svelte with Jest: Validate Your Components Quickly!
Testing Svelte with Jest: Validate Your Components Quickly!
Dmitry Vinnik
 
Hands-on React Native: From Zero to Hero
Hands-on React Native: From Zero to HeroHands-on React Native: From Zero to Hero
Hands-on React Native: From Zero to Hero
All Things Open
 
Hands on React Native: From Zero to Hero
Hands on React  Native:  From Zero to HeroHands on React  Native:  From Zero to Hero
Hands on React Native: From Zero to Hero
Dmitry Vinnik
 
An Introduction to BIM.ppsx
An Introduction to BIM.ppsxAn Introduction to BIM.ppsx
An Introduction to BIM.ppsx
Mujahid Kadri
 
IDC Keynote: The Seven Transformations IT Solution Providers Must Confront
IDC Keynote: The Seven Transformations IT Solution Providers Must ConfrontIDC Keynote: The Seven Transformations IT Solution Providers Must Confront
IDC Keynote: The Seven Transformations IT Solution Providers Must Confront
Ingram Micro Cloud
 
BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014
John Ferguson Smart Limited
 
Droid Beacons with Xamarin
Droid Beacons with XamarinDroid Beacons with Xamarin
Droid Beacons with Xamarin
Chris Riesgo
 
Home Design in SketchUp Pro
Home Design in SketchUp ProHome Design in SketchUp Pro
Home Design in SketchUp Pro
MARKITECT.me
 
Better Start: Enforcing Best Engineering Practices with Kotlin
Better Start: Enforcing Best Engineering Practices with KotlinBetter Start: Enforcing Best Engineering Practices with Kotlin
Better Start: Enforcing Best Engineering Practices with Kotlin
Dmitry Vinnik
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docx
cooperapleh
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docx
eubanksnefen
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docx
helzerpatrina
 
數據架構導入經驗談
數據架構導入經驗談數據架構導入經驗談
數據架構導入經驗談
Canner2
 
LeanUX2015.KanbanforDevops
LeanUX2015.KanbanforDevopsLeanUX2015.KanbanforDevops
LeanUX2015.KanbanforDevops
Dominica DeGrandis
 
Video: The State of the Solid State Drive SSD
Video: The State of the Solid State Drive SSDVideo: The State of the Solid State Drive SSD
Video: The State of the Solid State Drive SSD
inside-BigData.com
 

Similar to Gauge + Taiko, BDD for Web Revived (20)

Domain Driven Testing: Know What You’re Doing
Domain Driven Testing: Know What You’re DoingDomain Driven Testing: Know What You’re Doing
Domain Driven Testing: Know What You’re Doing
 
Testing at Scale at Meta and Salesforce
Testing at Scale at Meta and SalesforceTesting at Scale at Meta and Salesforce
Testing at Scale at Meta and Salesforce
 
Uphill Battle of Mobile Visual Regression
Uphill Battle of Mobile Visual RegressionUphill Battle of Mobile Visual Regression
Uphill Battle of Mobile Visual Regression
 
Engineer in Test: Bridging the Gap
Engineer in Test: Bridging the GapEngineer in Test: Bridging the Gap
Engineer in Test: Bridging the Gap
 
Testing React with Jest: Validate Your Components Quickly!
Testing React with Jest: Validate Your Components Quickly!Testing React with Jest: Validate Your Components Quickly!
Testing React with Jest: Validate Your Components Quickly!
 
Testing Svelte with Jest: Validate Your Components Quickly!
Testing Svelte with Jest: Validate Your Components Quickly!Testing Svelte with Jest: Validate Your Components Quickly!
Testing Svelte with Jest: Validate Your Components Quickly!
 
Hands-on React Native: From Zero to Hero
Hands-on React Native: From Zero to HeroHands-on React Native: From Zero to Hero
Hands-on React Native: From Zero to Hero
 
Hands on React Native: From Zero to Hero
Hands on React  Native:  From Zero to HeroHands on React  Native:  From Zero to Hero
Hands on React Native: From Zero to Hero
 
An Introduction to BIM.ppsx
An Introduction to BIM.ppsxAn Introduction to BIM.ppsx
An Introduction to BIM.ppsx
 
IDC Keynote: The Seven Transformations IT Solution Providers Must Confront
IDC Keynote: The Seven Transformations IT Solution Providers Must ConfrontIDC Keynote: The Seven Transformations IT Solution Providers Must Confront
IDC Keynote: The Seven Transformations IT Solution Providers Must Confront
 
BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014
 
Droid Beacons with Xamarin
Droid Beacons with XamarinDroid Beacons with Xamarin
Droid Beacons with Xamarin
 
Home Design in SketchUp Pro
Home Design in SketchUp ProHome Design in SketchUp Pro
Home Design in SketchUp Pro
 
Better Start: Enforcing Best Engineering Practices with Kotlin
Better Start: Enforcing Best Engineering Practices with KotlinBetter Start: Enforcing Best Engineering Practices with Kotlin
Better Start: Enforcing Best Engineering Practices with Kotlin
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docx
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docx
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docx
 
數據架構導入經驗談
數據架構導入經驗談數據架構導入經驗談
數據架構導入經驗談
 
LeanUX2015.KanbanforDevops
LeanUX2015.KanbanforDevopsLeanUX2015.KanbanforDevops
LeanUX2015.KanbanforDevops
 
Video: The State of the Solid State Drive SSD
Video: The State of the Solid State Drive SSDVideo: The State of the Solid State Drive SSD
Video: The State of the Solid State Drive SSD
 

More from Dmitry Vinnik

Leadership in Open Source and Why Companies Care
Leadership in Open Source and Why Companies CareLeadership in Open Source and Why Companies Care
Leadership in Open Source and Why Companies Care
Dmitry Vinnik
 
Maximizing React Speed: Hands-On Guide to Debugging and Optimizing React Appl...
Maximizing React Speed: Hands-On Guide to Debugging and Optimizing React Appl...Maximizing React Speed: Hands-On Guide to Debugging and Optimizing React Appl...
Maximizing React Speed: Hands-On Guide to Debugging and Optimizing React Appl...
Dmitry Vinnik
 
Cross-Platform CSS (Yes, it's Possible!) with Yoga
Cross-Platform CSS (Yes, it's Possible!) with YogaCross-Platform CSS (Yes, it's Possible!) with Yoga
Cross-Platform CSS (Yes, it's Possible!) with Yoga
Dmitry Vinnik
 
Documentation Made Easy with Docusaurus
Documentation Made Easy with DocusaurusDocumentation Made Easy with Docusaurus
Documentation Made Easy with Docusaurus
Dmitry Vinnik
 
Fixing Broken Windows: Dealing with Legacy Systems, Poor Quality and Gaps
Fixing Broken Windows: Dealing with Legacy Systems, Poor Quality and GapsFixing Broken Windows: Dealing with Legacy Systems, Poor Quality and Gaps
Fixing Broken Windows: Dealing with Legacy Systems, Poor Quality and Gaps
Dmitry Vinnik
 
Ent: Making Data Easy in Go
Ent: Making Data Easy in GoEnt: Making Data Easy in Go
Ent: Making Data Easy in Go
Dmitry Vinnik
 
The 10,000 Steps of Open Source Project Health
The 10,000 Steps of Open Source Project HealthThe 10,000 Steps of Open Source Project Health
The 10,000 Steps of Open Source Project Health
Dmitry Vinnik
 
Developing Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptxDeveloping Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptx
Dmitry Vinnik
 
Remote Work: Gateway to Freedom
Remote Work: Gateway to FreedomRemote Work: Gateway to Freedom
Remote Work: Gateway to Freedom
Dmitry Vinnik
 
Kindness Engineering: Focusing on What Matters
Kindness Engineering: Focusing on What MattersKindness Engineering: Focusing on What Matters
Kindness Engineering: Focusing on What Matters
Dmitry Vinnik
 
Modern Web Testing: Going Beyond Selenium
Modern Web Testing: Going Beyond SeleniumModern Web Testing: Going Beyond Selenium
Modern Web Testing: Going Beyond Selenium
Dmitry Vinnik
 
Do you even Function? Guiding Through Functional Interfaces
Do you even Function? Guiding Through Functional InterfacesDo you even Function? Guiding Through Functional Interfaces
Do you even Function? Guiding Through Functional Interfaces
Dmitry Vinnik
 
From Robotium to Appium: Choose your Journey
From Robotium to Appium: Choose your Journey From Robotium to Appium: Choose your Journey
From Robotium to Appium: Choose your Journey
Dmitry Vinnik
 
Stress Driven Development, and How to Avoid It
Stress Driven Development, and How to Avoid ItStress Driven Development, and How to Avoid It
Stress Driven Development, and How to Avoid It
Dmitry Vinnik
 
Back to the CompletableFuture: Concurrency in Action
Back to the CompletableFuture: Concurrency in ActionBack to the CompletableFuture: Concurrency in Action
Back to the CompletableFuture: Concurrency in Action
Dmitry Vinnik
 
Modern Web Testing: Going Beyond Selenium
Modern Web Testing: Going Beyond Selenium Modern Web Testing: Going Beyond Selenium
Modern Web Testing: Going Beyond Selenium
Dmitry Vinnik
 
Build Tests to Build Websites
Build Tests to Build WebsitesBuild Tests to Build Websites
Build Tests to Build Websites
Dmitry Vinnik
 

More from Dmitry Vinnik (17)

Leadership in Open Source and Why Companies Care
Leadership in Open Source and Why Companies CareLeadership in Open Source and Why Companies Care
Leadership in Open Source and Why Companies Care
 
Maximizing React Speed: Hands-On Guide to Debugging and Optimizing React Appl...
Maximizing React Speed: Hands-On Guide to Debugging and Optimizing React Appl...Maximizing React Speed: Hands-On Guide to Debugging and Optimizing React Appl...
Maximizing React Speed: Hands-On Guide to Debugging and Optimizing React Appl...
 
Cross-Platform CSS (Yes, it's Possible!) with Yoga
Cross-Platform CSS (Yes, it's Possible!) with YogaCross-Platform CSS (Yes, it's Possible!) with Yoga
Cross-Platform CSS (Yes, it's Possible!) with Yoga
 
Documentation Made Easy with Docusaurus
Documentation Made Easy with DocusaurusDocumentation Made Easy with Docusaurus
Documentation Made Easy with Docusaurus
 
Fixing Broken Windows: Dealing with Legacy Systems, Poor Quality and Gaps
Fixing Broken Windows: Dealing with Legacy Systems, Poor Quality and GapsFixing Broken Windows: Dealing with Legacy Systems, Poor Quality and Gaps
Fixing Broken Windows: Dealing with Legacy Systems, Poor Quality and Gaps
 
Ent: Making Data Easy in Go
Ent: Making Data Easy in GoEnt: Making Data Easy in Go
Ent: Making Data Easy in Go
 
The 10,000 Steps of Open Source Project Health
The 10,000 Steps of Open Source Project HealthThe 10,000 Steps of Open Source Project Health
The 10,000 Steps of Open Source Project Health
 
Developing Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptxDeveloping Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptx
 
Remote Work: Gateway to Freedom
Remote Work: Gateway to FreedomRemote Work: Gateway to Freedom
Remote Work: Gateway to Freedom
 
Kindness Engineering: Focusing on What Matters
Kindness Engineering: Focusing on What MattersKindness Engineering: Focusing on What Matters
Kindness Engineering: Focusing on What Matters
 
Modern Web Testing: Going Beyond Selenium
Modern Web Testing: Going Beyond SeleniumModern Web Testing: Going Beyond Selenium
Modern Web Testing: Going Beyond Selenium
 
Do you even Function? Guiding Through Functional Interfaces
Do you even Function? Guiding Through Functional InterfacesDo you even Function? Guiding Through Functional Interfaces
Do you even Function? Guiding Through Functional Interfaces
 
From Robotium to Appium: Choose your Journey
From Robotium to Appium: Choose your Journey From Robotium to Appium: Choose your Journey
From Robotium to Appium: Choose your Journey
 
Stress Driven Development, and How to Avoid It
Stress Driven Development, and How to Avoid ItStress Driven Development, and How to Avoid It
Stress Driven Development, and How to Avoid It
 
Back to the CompletableFuture: Concurrency in Action
Back to the CompletableFuture: Concurrency in ActionBack to the CompletableFuture: Concurrency in Action
Back to the CompletableFuture: Concurrency in Action
 
Modern Web Testing: Going Beyond Selenium
Modern Web Testing: Going Beyond Selenium Modern Web Testing: Going Beyond Selenium
Modern Web Testing: Going Beyond Selenium
 
Build Tests to Build Websites
Build Tests to Build WebsitesBuild Tests to Build Websites
Build Tests to Build Websites
 

Recently uploaded

Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 

Recently uploaded (20)

Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 

Gauge + Taiko, BDD for Web Revived

Editor's Notes

  1. http://todomvc.com http://todomvc.com/examples/angularjs/#/
  2. http://todomvc.com http://todomvc.com/examples/angularjs/#/
  3. http://todomvc.com http://todomvc.com/examples/angularjs/#/
  4. Source: https://dannorth.net/whats-in-a-story/
  5. specification worksphost, three amigos business people sit down with programmers and discuss features to implement with testers (three amigos) together, write down examples how software should behave and write down cucumber scenarios
  6. specification worksphost, three amigos business people sit down with programmers and discuss features to implement with testers (three amigos) together, write down examples how software should behave and write down cucumber scenarios
  7. specification worksphost, three amigos business people sit down with programmers and discuss features to implement with testers (three amigos) together, write down examples how software should behave and write down cucumber scenarios
  8. BDD is not for testing!
  9. BDD is not for testing!
  10. Example???
  11. BDD is not for testing!
  12. BDD is not for testing!
  13. Source: https://dannorth.net/whats-in-a-story/
  14. BDD is not for testing!
  15. BDD is not for testing!
  16. BDD is not for testing!
  17. BDD is not for testing!
  18. BDD is not for testing!
  19. BDD is not for testing!
  20. BDD is not for testing!
  21. BDD is not for testing!
  22. BDD is not for testing!
  23. BDD is not for testing!
  24. BDD is not for testing!
  25. BDD is not for testing!
  26. BDD is not for testing!
  27. markdown Closest to natural language Syntax No restrictions Plugins and tools Reporting Autocomplete Maintenance and Readability Not BDD tool, build for testing
  28. https://gauge.org/plugins/#language
  29. markdown Closest to natural language Syntax No restrictions Plugins and tools Reporting Autocomplete Maintenance and Readability Not BDD tool, build for testing
  30. BDD is not for testing!
  31. BDD is not for testing!
  32. BDD is not for testing!
  33. BDD is not for testing!
  34. BDD is not for testing!
  35. REPL
  36. Yes, it is more practical version - dogmatism is not good for anyone
  37. Yes, it is more practical version - dogmatism is not good for anyone
  38. Yes, it is more practical version - dogmatism is not good for anyone
  39. Yes, it is more practical version - dogmatism is not good for anyone
  40. Yes, it is more practical version - dogmatism is not good for anyone
  41. Yes, it is more practical version - dogmatism is not good for anyone
  42. Yes, it is more practical version - dogmatism is not good for anyone
  43. Yes, it is more practical version - dogmatism is not good for anyone
  44. BDD requires a bying from all stakeholders