SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
5 Things 
Cucumber 
Is Bad At 
(& why that’s a 
good thing) 
By Richard Lawrence 
For CukeUp NYC, Sept 30, 2014
As we get started… 
Discuss with one or two people near you: 
What are some common complaints you 
hear (or say) about Cucumber?
Problems with My Car
Problems with My Car 
1. Doesn’t taste good 
2. Doesn’t fit in my carry-on luggage 
3. Buggy entertainment system 
4. Some people think it’s ugly 
5. Bigger than most other cars 
6. Relatively low gas mileage
Two kinds of 
Weaknesses 
Those that represent 
opportunities for 
improvement 
Those that teach us 
what the thing is & 
what we do or don’t 
need
5 “Problems” with Cucumber 
that can teach us 
about Cucumber, 
BDD, and us
“Problems” with Cucumber #1 
Gherkin isn’t a very powerful language. 
Where are my Gherkin 
macros? How am I 
supposed to program 
with this?
“Problems” with Cucumber #2 
I have to describe things in 2 places. 
Background: 
Given 
a 
provider 
named 
"Complex 
Schedule 
Provider" 
serving: 
| 
From 
| 
To 
| 
When 
| 
Both 
Ways? 
| 
| 
Boulder 
| 
Boulder 
| 
M-­‐F 
7:30am-­‐5pm 
| 
yes 
| 
| 
Boulder 
| 
Lafayette 
| 
M 
7:30am-­‐5pm; 
W 
7:30am-­‐5pm 
| 
yes 
| 
| 
Boulder 
| 
Louisville 
| 
M-­‐F 
7:30am-­‐5pm 
| 
no 
| 
And 
I'm 
logged 
in 
as 
a 
non-­‐admin 
user 
Given 
/^a 
provider 
named 
"([^"]*)" 
serving:$/ 
do 
|provider_name, 
schedule| 
# 
... 
end 
Given 
/I'm 
logged 
in 
as 
a 
non-­‐admin 
user/ 
do 
# 
... 
end
“Problems” with Cucumber #3 
Step definitions are all global. 
Why don’t I get 
namespaces? Won’t this 
lead to ambiguity?
“Problems” with Cucumber #4 
Regular expressions. 
(?:[a-­‐z0-­‐9!#$%&'*+/=?^_`{|}~-­‐]+(?:.[a-­‐z0-­‐9!#$%&'*+/=? 
^_`{|}~-­‐]+)*|"(?:[x01-­‐x08x0bx0cx0e-­‐x1fx21x23-­‐x5bx5d-­‐x7f]| 
[x01-­‐x09x0bx0cx0e-­‐x7f])*")@(?:(?:[a-­‐z0-­‐9](?:[a-­‐z0-­‐9-­‐]*[a-­‐ 
z0-­‐9])?.)+[a-­‐z0-­‐9](?:[a-­‐z0-­‐9-­‐]*[a-­‐z0-­‐9])?|[(?:(?:25[0-­‐5]| 
2[0-­‐4][0-­‐9]|[01]?[0-­‐9][0-­‐9]?).){3}(?:25[0-­‐5]|2[0-­‐4][0-­‐9]| 
[01]?[0-­‐9][0-­‐9]?|[a-­‐z0-­‐9-­‐]*[a-­‐z0-­‐9]:(?:[x01-­‐x08x0bx0cx0e-­‐ 
x1fx21-­‐x5ax53-­‐x7f]|[x01-­‐x09x0bx0cx0e-­‐x7f])+)])
“Problems” with Cucumber #4 
Regular expressions. 
(.+) 
cucumbers? 
an? 
(d+) 
(?:I'm 
logged|I 
log) 
See 
h%p://www.agileforall.com/2010/07/ 
just-­‐enough-­‐regular-­‐expressions-­‐for-­‐cucumber/
“Problems” with Cucumber #5 
My stakeholders won’t write feature files. 
Doesn’t it defeat the purpose 
of Gherkin and separate 
feature files if I still have to 
write it all anyway?
SO What?
Questions? 
Contact me… 
Twitter: @rslawrence 
Email: richard.lawrence@agileforall.com 
Blog: www.richardlawrence.info

Contenu connexe

Similaire à 5 things cucumber is bad at by Richard Lawrence

Testing antipatterns
Testing antipatternsTesting antipatterns
Testing antipatternsArdesco
 
English For IT Starter Module 2.pptx
English For IT Starter Module 2.pptxEnglish For IT Starter Module 2.pptx
English For IT Starter Module 2.pptxAnna Gandrabura
 
7 Wastes of Software Development
7 Wastes of Software Development7 Wastes of Software Development
7 Wastes of Software DevelopmentSunil Bajari
 
RSC SE Teaching toolkit no 8 Todaysmeet, QR codes and Slideshare - Jane Macke...
RSC SE Teaching toolkit no 8 Todaysmeet, QR codes and Slideshare - Jane Macke...RSC SE Teaching toolkit no 8 Todaysmeet, QR codes and Slideshare - Jane Macke...
RSC SE Teaching toolkit no 8 Todaysmeet, QR codes and Slideshare - Jane Macke...Jane Mackenzie
 
English lesson 2 by Lana Voinova
English lesson 2 by Lana VoinovaEnglish lesson 2 by Lana Voinova
English lesson 2 by Lana VoinovaStas Kremnev
 
Work From Home Guide For Filipinos 0225
Work From Home Guide For Filipinos 0225Work From Home Guide For Filipinos 0225
Work From Home Guide For Filipinos 0225workingpinoy
 
Chef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationChef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationJulian Dunn
 
An Intelligent Assistant for High-Level Task Understanding
An Intelligent Assistant for High-Level Task UnderstandingAn Intelligent Assistant for High-Level Task Understanding
An Intelligent Assistant for High-Level Task UnderstandingYun-Nung (Vivian) Chen
 
Module_4 English For IT Starter.pdf.pdf
Module_4 English For IT Starter.pdf.pdfModule_4 English For IT Starter.pdf.pdf
Module_4 English For IT Starter.pdf.pdfAnna Gandrabura
 
Easy speak in 5 easy steps by joanne keevers
Easy speak in 5 easy steps by joanne keeversEasy speak in 5 easy steps by joanne keevers
Easy speak in 5 easy steps by joanne keeverstraining4easyspeak
 
Wolfpack at lewis creek orientation
Wolfpack at lewis creek orientationWolfpack at lewis creek orientation
Wolfpack at lewis creek orientationJamie Wolf
 
Upward Bound Math and Science Summer Academy
 Upward Bound  Math and Science Summer Academy  Upward Bound  Math and Science Summer Academy
Upward Bound Math and Science Summer Academy Berea College
 
How to Gather Useful, Usable Customer Satisfaction Feedback
How to Gather Useful, Usable Customer Satisfaction FeedbackHow to Gather Useful, Usable Customer Satisfaction Feedback
How to Gather Useful, Usable Customer Satisfaction FeedbackNaomi Karten
 
Building an A/B Testing Analytics System with R and Shiny
Building an A/B Testing Analytics System with R and ShinyBuilding an A/B Testing Analytics System with R and Shiny
Building an A/B Testing Analytics System with R and ShinyEmily Robinson
 
Software development and Sambar - what's the connection ?
Software development and Sambar - what's the connection ?Software development and Sambar - what's the connection ?
Software development and Sambar - what's the connection ?Dasarathi GV
 
SXSW Workshop on Designing for Behavior Change (2014)
SXSW Workshop on Designing for Behavior Change (2014)SXSW Workshop on Designing for Behavior Change (2014)
SXSW Workshop on Designing for Behavior Change (2014)Stephen Wendel
 
Skillwise - Business writing
Skillwise - Business writing Skillwise - Business writing
Skillwise - Business writing Skillwise Group
 

Similaire à 5 things cucumber is bad at by Richard Lawrence (20)

Testing antipatterns
Testing antipatternsTesting antipatterns
Testing antipatterns
 
Developing software 2013
Developing software 2013Developing software 2013
Developing software 2013
 
English For IT Starter Module 2.pptx
English For IT Starter Module 2.pptxEnglish For IT Starter Module 2.pptx
English For IT Starter Module 2.pptx
 
7 Wastes of Software Development
7 Wastes of Software Development7 Wastes of Software Development
7 Wastes of Software Development
 
Unit 13 l04 and l05
Unit 13 l04 and l05Unit 13 l04 and l05
Unit 13 l04 and l05
 
RSC SE Teaching toolkit no 8 Todaysmeet, QR codes and Slideshare - Jane Macke...
RSC SE Teaching toolkit no 8 Todaysmeet, QR codes and Slideshare - Jane Macke...RSC SE Teaching toolkit no 8 Todaysmeet, QR codes and Slideshare - Jane Macke...
RSC SE Teaching toolkit no 8 Todaysmeet, QR codes and Slideshare - Jane Macke...
 
English lesson 2 by Lana Voinova
English lesson 2 by Lana VoinovaEnglish lesson 2 by Lana Voinova
English lesson 2 by Lana Voinova
 
Work From Home Guide For Filipinos 0225
Work From Home Guide For Filipinos 0225Work From Home Guide For Filipinos 0225
Work From Home Guide For Filipinos 0225
 
Chef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationChef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous Integration
 
Unit 13 lo5 powerpoint
Unit 13 lo5 powerpointUnit 13 lo5 powerpoint
Unit 13 lo5 powerpoint
 
An Intelligent Assistant for High-Level Task Understanding
An Intelligent Assistant for High-Level Task UnderstandingAn Intelligent Assistant for High-Level Task Understanding
An Intelligent Assistant for High-Level Task Understanding
 
Module_4 English For IT Starter.pdf.pdf
Module_4 English For IT Starter.pdf.pdfModule_4 English For IT Starter.pdf.pdf
Module_4 English For IT Starter.pdf.pdf
 
Easy speak in 5 easy steps by joanne keevers
Easy speak in 5 easy steps by joanne keeversEasy speak in 5 easy steps by joanne keevers
Easy speak in 5 easy steps by joanne keevers
 
Wolfpack at lewis creek orientation
Wolfpack at lewis creek orientationWolfpack at lewis creek orientation
Wolfpack at lewis creek orientation
 
Upward Bound Math and Science Summer Academy
 Upward Bound  Math and Science Summer Academy  Upward Bound  Math and Science Summer Academy
Upward Bound Math and Science Summer Academy
 
How to Gather Useful, Usable Customer Satisfaction Feedback
How to Gather Useful, Usable Customer Satisfaction FeedbackHow to Gather Useful, Usable Customer Satisfaction Feedback
How to Gather Useful, Usable Customer Satisfaction Feedback
 
Building an A/B Testing Analytics System with R and Shiny
Building an A/B Testing Analytics System with R and ShinyBuilding an A/B Testing Analytics System with R and Shiny
Building an A/B Testing Analytics System with R and Shiny
 
Software development and Sambar - what's the connection ?
Software development and Sambar - what's the connection ?Software development and Sambar - what's the connection ?
Software development and Sambar - what's the connection ?
 
SXSW Workshop on Designing for Behavior Change (2014)
SXSW Workshop on Designing for Behavior Change (2014)SXSW Workshop on Designing for Behavior Change (2014)
SXSW Workshop on Designing for Behavior Change (2014)
 
Skillwise - Business writing
Skillwise - Business writing Skillwise - Business writing
Skillwise - Business writing
 

Plus de Skills Matter

Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applicationsSkills Matter
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmSkills Matter
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimSkills Matter
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Skills Matter
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlSkills Matter
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsSkills Matter
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Skills Matter
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Skills Matter
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldSkills Matter
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Skills Matter
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Skills Matter
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingSkills Matter
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveSkills Matter
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tSkills Matter
 
Bootstrapping a-devops-matter
Bootstrapping a-devops-matterBootstrapping a-devops-matter
Bootstrapping a-devops-matterSkills Matter
 

Plus de Skills Matter (20)

Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheim
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberl
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.js
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source world
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testing
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-dive
 
Serendipity-neo4j
Serendipity-neo4jSerendipity-neo4j
Serendipity-neo4j
 
Plug 20110217
Plug   20110217Plug   20110217
Plug 20110217
 
Lug presentation
Lug presentationLug presentation
Lug presentation
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_t
 
Plug saiku
Plug   saikuPlug   saiku
Plug saiku
 
Huguk lily
Huguk lilyHuguk lily
Huguk lily
 
Bootstrapping a-devops-matter
Bootstrapping a-devops-matterBootstrapping a-devops-matter
Bootstrapping a-devops-matter
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Dernier (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

5 things cucumber is bad at by Richard Lawrence

  • 1. 5 Things Cucumber Is Bad At (& why that’s a good thing) By Richard Lawrence For CukeUp NYC, Sept 30, 2014
  • 2. As we get started… Discuss with one or two people near you: What are some common complaints you hear (or say) about Cucumber?
  • 4. Problems with My Car 1. Doesn’t taste good 2. Doesn’t fit in my carry-on luggage 3. Buggy entertainment system 4. Some people think it’s ugly 5. Bigger than most other cars 6. Relatively low gas mileage
  • 5. Two kinds of Weaknesses Those that represent opportunities for improvement Those that teach us what the thing is & what we do or don’t need
  • 6. 5 “Problems” with Cucumber that can teach us about Cucumber, BDD, and us
  • 7. “Problems” with Cucumber #1 Gherkin isn’t a very powerful language. Where are my Gherkin macros? How am I supposed to program with this?
  • 8. “Problems” with Cucumber #2 I have to describe things in 2 places. Background: Given a provider named "Complex Schedule Provider" serving: | From | To | When | Both Ways? | | Boulder | Boulder | M-­‐F 7:30am-­‐5pm | yes | | Boulder | Lafayette | M 7:30am-­‐5pm; W 7:30am-­‐5pm | yes | | Boulder | Louisville | M-­‐F 7:30am-­‐5pm | no | And I'm logged in as a non-­‐admin user Given /^a provider named "([^"]*)" serving:$/ do |provider_name, schedule| # ... end Given /I'm logged in as a non-­‐admin user/ do # ... end
  • 9. “Problems” with Cucumber #3 Step definitions are all global. Why don’t I get namespaces? Won’t this lead to ambiguity?
  • 10. “Problems” with Cucumber #4 Regular expressions. (?:[a-­‐z0-­‐9!#$%&'*+/=?^_`{|}~-­‐]+(?:.[a-­‐z0-­‐9!#$%&'*+/=? ^_`{|}~-­‐]+)*|"(?:[x01-­‐x08x0bx0cx0e-­‐x1fx21x23-­‐x5bx5d-­‐x7f]| [x01-­‐x09x0bx0cx0e-­‐x7f])*")@(?:(?:[a-­‐z0-­‐9](?:[a-­‐z0-­‐9-­‐]*[a-­‐ z0-­‐9])?.)+[a-­‐z0-­‐9](?:[a-­‐z0-­‐9-­‐]*[a-­‐z0-­‐9])?|[(?:(?:25[0-­‐5]| 2[0-­‐4][0-­‐9]|[01]?[0-­‐9][0-­‐9]?).){3}(?:25[0-­‐5]|2[0-­‐4][0-­‐9]| [01]?[0-­‐9][0-­‐9]?|[a-­‐z0-­‐9-­‐]*[a-­‐z0-­‐9]:(?:[x01-­‐x08x0bx0cx0e-­‐ x1fx21-­‐x5ax53-­‐x7f]|[x01-­‐x09x0bx0cx0e-­‐x7f])+)])
  • 11. “Problems” with Cucumber #4 Regular expressions. (.+) cucumbers? an? (d+) (?:I'm logged|I log) See h%p://www.agileforall.com/2010/07/ just-­‐enough-­‐regular-­‐expressions-­‐for-­‐cucumber/
  • 12. “Problems” with Cucumber #5 My stakeholders won’t write feature files. Doesn’t it defeat the purpose of Gherkin and separate feature files if I still have to write it all anyway?
  • 14. Questions? Contact me… Twitter: @rslawrence Email: richard.lawrence@agileforall.com Blog: www.richardlawrence.info