SlideShare a Scribd company logo
1 of 30
Download to read offline
 
	
  
	
  
	
  
	
  
W2	
  
Test	
  Techniques	
  
5/4/16	
  11:30	
  
	
  
	
  
	
  
	
  
	
  
	
  
Acceptance-­‐	
  and	
  Behavior-­‐Driven	
  
Development	
  with	
  Cucumber:	
  Three	
  
Case	
  Studies	
  
	
  
Presented	
  by:	
  
	
  
Mary	
  Thorn	
  
Ipreo	
  
	
  
Brought	
  to	
  you	
  by:	
  	
  
	
  	
  
	
  
	
  
	
  
	
  
350	
  Corporate	
  Way,	
  Suite	
  400,	
  Orange	
  Park,	
  FL	
  32073	
  	
  
888-­‐-­‐-­‐268-­‐-­‐-­‐8770	
  ·∙·∙	
  904-­‐-­‐-­‐278-­‐-­‐-­‐0524	
  -­‐	
  info@techwell.com	
  -­‐	
  http://www.stareast.techwell.com/	
  	
  	
  
	
  
	
  	
  
	
  
	
  
Mary	
  Thorn	
  
Ipreo	
  
	
  
Chief	
  Storyteller	
  of	
  The	
  Three	
  Pillars	
  of	
  Agile	
  Testing	
  and	
  Quality,	
  Mary	
  Thorn	
  is	
  
Director	
  of	
  Software	
  Test	
  Engineering	
  at	
  Ipreo	
  in	
  Raleigh,	
  NC.	
  Mary	
  has	
  a	
  broad	
  
testing	
  background	
  that	
  spans	
  automation,	
  data	
  warehouses,	
  and	
  web-­‐based	
  
systems	
  in	
  a	
  wide	
  variety	
  of	
  technologies	
  and	
  testing	
  techniques.	
  During	
  her	
  
more	
  than	
  nineteen	
  years	
  of	
  experience	
  in	
  healthcare,	
  HR,	
  financial,	
  and	
  SaaS-­‐
based	
  products,	
  Mary	
  has	
  held	
  manager-­‐	
  and	
  contributor-­‐level	
  positions	
  in	
  
software	
  development	
  organizations.	
  A	
  strong	
  leader	
  in	
  agile	
  testing	
  
methodologies,	
  Mary	
  has	
  direct	
  experience	
  leading	
  teams	
  through	
  agile	
  adoption	
  
and	
  beyond.	
  
	
  
	
  
	
  
Investment Banks. Investors. Investor Relations.
New York | London | Raleigh | Capetown | Boston | www.ipreo.com
Acceptance- and Behavior-Driven Development with Cucumber:
Three Case Studies Presented
About Mary Thorn
 Chief Story Teller of the book “The Three Pillars of Agile Testing
and Quality” written by Bob Galen, Mary Thorn is Director of
Software Test Engineering at Ipreo in Raleigh, NC.
 Mary has a broad testing background that spans automation,
data warehouses, and web-based systems in a wide variety of
technologies and testing techniques. During her more than
seventeen years of experience in healthcare, HR, financial, and
SaaS-based products,
 Mary has held manager and contributor level positions in
software development organizations. A strong leader in agile
testing methodologies, she has direct experience leading teams
through agile adoption and beyond.
What is the problem?
 Have you ever had overlooked requirements?
 Have you ever built the wrong thing?
 Do you have tangible reference materials?
 Have you ever interpreted a requirement incorrectly?
The Communication Problem
The Challenge:
 Today, the most difficult problem in software development is knowing
what to build, not how to build it.
 Knowing what to build, requires knowing why it is being built. In other
words, understanding the goal.
The Communication Problem
The Problem:
 Stories typically concentrate on the what and the how, not the
why. Goals and examples are usually missing.
 Stories are usually a list of imperative requirements (acceptance
criteria).
 Imperative requirements are usually interpreted in subtly different
ways by each person. If goals and examples are absent,
misinterpretation is much more likely.
How do you get started?
 To PO boss and PO’s
 To Testers boss and Tester
 To your boss
 To Scrum team
Training
 User story and AC writing training
 Feature File Training
 Grooming Training
 Cucumber Training
Case Study 1: Greenfield
Case Study 1: Greenfield
How to effectively communicate requirements to the team, to be
developed/tested/implemented while exceeding business expectations.
The Challenge:
The Process: Agile
 Product Owner writes acceptance tests in Gherkin format in the
story.
 During grooming, the team discusses the scenarios and asks
questions. Team can add/remove scenarios during grooming or
team updates after.
 During sprint planning, the feature file is used for estimating
tasks.
 Once sprint has started, Testers and Dev work on getting the
feature file 90% complete before the developer starts coding.
 The developers code the scenarios in the feature file in a TDD
manner.
 Testers expands the scenarios in the feature files after
development if there are new findings and gets approval from the
team. Team owns the feature file.
 Automation starts in parallel to development.
 When testing is complete, PO acceptance is done by running the
automated acceptance tests.
Case Study 1: Greenfield
Description: In lieu of creating an Information page (as detailed in HZN-6805), we will instead
provide a link to open a new browser for the applications in Internet Explorer, similar to how we will
handle the news items. The application-specific information pages contain a detailed summary of
Horizon’s offerings and serve as a marketing tool for potential users. Ultimately, launching this page
directly is a simpler and cheaper solution than building a new window.
Acceptance Tests:
1.) An “i" icon is shown on each application tile, in the All
Apps view. This icon is not displayed in the My Apps view.
2.) If I am entitled to an application and it is live in
Production, or if the application is coming soon, or if I am not
entitled to it, then clicking the “i” icon will open the info page
for that application.
3.) If I am entitled to an application and it is live in
Production, then clicking anywhere else in the tile (i.e.: NOT
on the "i" icon) will open the application.
4.) If the application is coming soon, then the following
message is shown when they click anywhere else in the tile
(i.e.: NOT on the "i" icon):
This app is not available yet
Please select the info icon to view more information on the
Risk Intranet
5.) If the user is not entitled to the application, then the
following message is shown when they click anywhere else in
the tile (i.e.: NOT on the "i" icon):
You do not have access to view this app
Please select the info icon to view more information and
request access on the Risk Intranet
6.) If the application does not have an associated info page,
then clicking the “i” icon will open the Horizon homepage
(http://risk.intranet.db.com/content/horizon_coo_30587.html)
7.) All scenarios from feature file have been implemented
correctly.
Case Study 1: Greenfield
Example 1:
Verify clicking directly on the “I” icon launches a new internet page when the user is permissioned to the application and it is live in
production
Given that I'm on the My Apps page
And I am permissioned to an application that is live in production
When I click the “I” icon on the application tile
Then a new browser window opens
Example 2:
Verify clicking directly on the “I” icon launches a new internet page when the application is coming soon
Given that I'm on the My Apps page
And an application is coming soon
When I click the “I” icon on the application tile
Then a new browser window opens
And the All Apps page state is retained
Example 3:
Verify clicking in an area outside of the “I” icon (but within the tile) launches the application when the user is permissioned to the application
and it is live in production
Given that I'm on the My Apps page
And I am permissioned to an application that is live in production
When I click on an area outside of the “I” icon, within the tile
Then the application opens
Feature File
Benefits
 Clear expectations communicated
 Defined scope
 Reveals overlooked requirements
 Tangible reference materials
 Accurate story/task estimations
 Deliberate collaboration between Tester/DEV/PO
 Increased productivity
 Commitments are met (and often exceeded!)
 80% automated test coverage
Case Study 2: Backward Implementation
Case Study 2: Backward Implementation
 How to implement a new communication and/or automation tool
and have the entire Scrum team benefit from it.
 Team not building correct solution
 Lots of rework
 No clear understanding of what Tester was testing
The Challenge:
The Process: Agile
 Once sprint starts, tester writes acceptance tests in feature file
scenarios format for every story.
 Tester sends feature files to developers and product owner during the
sprint to verify assumptions.
 Developers use feature file to write unit tests post-implementation.
 Tester expands the scenarios in the feature files after development if
there are new findings.
 Tester runs feature file and manual testing by hand.
 Automation starts once manual testing is completed.
 When testing is complete, PO acceptance is done by running the
automated acceptance tests.
Case Study 2: Backward Implementation
Scenario: Verify subscriber is in contact information
Given that a list already exists in the account by default
When I log in to my account
Then I should see one subscriber on the list
And that subscriber should be the email address listed in
my contact information
Scenario:Verify subscriber is in contact information via API
Given I am using the API
When I create a list using the API
Then I should see one subscriber on my list
And the subscriber should be the email address listed
under my contact information
Scenario:Verify email is added to salesforce
Given that I am an iC4SFDC customer
When I create a campaign
Then my default email address should be added to
my campaign in iC4SFDC?
Are there some examples
here that you didn’t think
of during the exercise?
Case Study 2: Backward Implementation
Benefits
 Slower implementation rollout
 Clear expectations communicated
 Defined scope
 Reveals overlooked requirements
 Tangible reference materials
 Accurate story/task estimations
 Deliberate collaboration between QA/DEV/PO
 Increased productivity
 Commitments are met (and often times exceeded!)
 60% automated test coverage
Case Study 3: Hybrid
Case Study 3: Hybrid
 No effective communication
 Long FSD/BRDs leading to ambiguities in requirements
 No collaboration between BAs and QA/Dev teams on requirements
stage
 Lots of issues found during BA sanity checks and UAT
 No test automation
The Challenge:
The Process: Waterfall
 BA writes acceptance tests in feature file scenarios format
in the story.
 BA discusses feature file with the developer and QA working on
the project.
 Tester and Dev estimate their project tasks based on feature file.
 The developers code to the scenarios in the feature file and,
when done, pass over to Test.
 Tester expands the scenarios in the feature files after
development if there are new findings.
 Tester runs feature file and manual testing by hand.
 Automation starts once manual testing is completed.
 When testing is complete, BA acceptance is done by running the
automated acceptance tests.
Case Study 3: Hybrid
 Questions that might arise during discussion within the
team:
 What if GBP trade is maturing on 01-Apr, should the
tenor be adjusted?
 Why are we defining the holiday by currency? What if
there is a holiday in France but not in Germany?
Report COB Maturity Date of
the trade
Original tenor Currency Holiday for
Currency
Payment Date
in the reports?
Adjusted Tenor?
28-Mar-2013 29-Mar-2013 D1 GBP GBP: 29-Mar-2013
01-Apr-2013
02-Apr-2013 D3
28-Mar-2013 29-Mar-2013 D1 CAD CAD: 29-Mar-2013 01-Apr-2013 D2
28-Mar-2013 29-Mar-2013 D1 JPY No holiday for JPY on
29-Mar
29-Mar-2013 D1
28-Mar-2013 02-Apr-2013 D3 GBP GBP: 29-Mar-2013
01-Apr-2013
02-Apr-2013 D3
28-Mar-2013 06-May-2013 D27 GBP GBP: 06-May-2013 06-May-2013 D27
Discuss with
the team and
business
Refine
examples
and/or
acceptance
criteria
Case Study 3: Hybrid
Example 1:
Given that the trade is maturing on report COB+1
And the COB+1 is a holiday for trade currency
When the trade is loaded to Datamart reports
Then the maturity tenor of the trade is adjusted to fall into next business
day for the trade’s currency
Example 2:
Given that the trade is maturing on report COB+N (N>1)
And the COB+N is a holiday for trade currency
When the trade is loaded to Datamart reports
Then the maturity tenor of the trade is reported on DayN without
adjustment for holiday
Benefits
 Clear expectations communicated
 Defined scope
 Reveals overlooked requirements
 Tangible reference materials
 Accurate story/task estimations
 Deliberate collaboration between Test/DEV/PO
 Increased productivity
 Decreased bugs from SIT/UAT/PROD
 30% automated test coverage
Why does it fail?
 PO’s don’t think it is there jobs
 Regulatory Scare
 Testers are not bought in
 Automation is not utilized
Wrap-Up
Questions

More Related Content

What's hot

What Are We Still Doing Wrong
What Are We Still Doing WrongWhat Are We Still Doing Wrong
What Are We Still Doing Wrongafa reg
 
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...Edureka!
 
Java Developer Resume | Edureka
Java Developer Resume | EdurekaJava Developer Resume | Edureka
Java Developer Resume | EdurekaEdureka!
 
Introducing ARRM: A Framework to Fight Accessibility Apathy
Introducing ARRM: A Framework to Fight Accessibility ApathyIntroducing ARRM: A Framework to Fight Accessibility Apathy
Introducing ARRM: A Framework to Fight Accessibility ApathyBill Tyler
 
User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019Seb Rose
 
Prototyping - A Conversation about your Assumptions
Prototyping - A Conversation about your AssumptionsPrototyping - A Conversation about your Assumptions
Prototyping - A Conversation about your AssumptionsGrowth Spark
 
UI Automation Quirks
UI Automation QuirksUI Automation Quirks
UI Automation QuirksLucas Pang
 
Selenium-online-training
Selenium-online-trainingSelenium-online-training
Selenium-online-trainingRaghav Arora
 
The Future of Web Apps
The Future of Web AppsThe Future of Web Apps
The Future of Web AppsiCiDIGITAL
 
Introduction to BDD - shortened
Introduction to BDD - shortenedIntroduction to BDD - shortened
Introduction to BDD - shortenedSeb Rose
 
Bringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & ApplitoolsBringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & ApplitoolsApplitools
 
Mobile devices and SharePoint
Mobile devices and SharePointMobile devices and SharePoint
Mobile devices and SharePointmaliksahil
 
Code Camp Applying Modern Software Development Techniques To Ui Testing
Code Camp  Applying Modern Software Development Techniques To Ui TestingCode Camp  Applying Modern Software Development Techniques To Ui Testing
Code Camp Applying Modern Software Development Techniques To Ui TestingChristopherGTaylor
 
The Best Automated Testing Tools in 2020
The Best Automated Testing Tools in 2020The Best Automated Testing Tools in 2020
The Best Automated Testing Tools in 2020Liviu Lupei
 
Producing Testable Requirements
Producing Testable RequirementsProducing Testable Requirements
Producing Testable RequirementsIntergen
 
Building a Great AEM Team: Time Warner Cable's Journey
Building a Great AEM Team: Time Warner Cable's JourneyBuilding a Great AEM Team: Time Warner Cable's Journey
Building a Great AEM Team: Time Warner Cable's JourneyiCiDIGITAL
 

What's hot (16)

What Are We Still Doing Wrong
What Are We Still Doing WrongWhat Are We Still Doing Wrong
What Are We Still Doing Wrong
 
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
 
Java Developer Resume | Edureka
Java Developer Resume | EdurekaJava Developer Resume | Edureka
Java Developer Resume | Edureka
 
Introducing ARRM: A Framework to Fight Accessibility Apathy
Introducing ARRM: A Framework to Fight Accessibility ApathyIntroducing ARRM: A Framework to Fight Accessibility Apathy
Introducing ARRM: A Framework to Fight Accessibility Apathy
 
User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019
 
Prototyping - A Conversation about your Assumptions
Prototyping - A Conversation about your AssumptionsPrototyping - A Conversation about your Assumptions
Prototyping - A Conversation about your Assumptions
 
UI Automation Quirks
UI Automation QuirksUI Automation Quirks
UI Automation Quirks
 
Selenium-online-training
Selenium-online-trainingSelenium-online-training
Selenium-online-training
 
The Future of Web Apps
The Future of Web AppsThe Future of Web Apps
The Future of Web Apps
 
Introduction to BDD - shortened
Introduction to BDD - shortenedIntroduction to BDD - shortened
Introduction to BDD - shortened
 
Bringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & ApplitoolsBringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & Applitools
 
Mobile devices and SharePoint
Mobile devices and SharePointMobile devices and SharePoint
Mobile devices and SharePoint
 
Code Camp Applying Modern Software Development Techniques To Ui Testing
Code Camp  Applying Modern Software Development Techniques To Ui TestingCode Camp  Applying Modern Software Development Techniques To Ui Testing
Code Camp Applying Modern Software Development Techniques To Ui Testing
 
The Best Automated Testing Tools in 2020
The Best Automated Testing Tools in 2020The Best Automated Testing Tools in 2020
The Best Automated Testing Tools in 2020
 
Producing Testable Requirements
Producing Testable RequirementsProducing Testable Requirements
Producing Testable Requirements
 
Building a Great AEM Team: Time Warner Cable's Journey
Building a Great AEM Team: Time Warner Cable's JourneyBuilding a Great AEM Team: Time Warner Cable's Journey
Building a Great AEM Team: Time Warner Cable's Journey
 

Viewers also liked

Making the Move to Behavior-Driven Development
Making the Move to Behavior-Driven DevelopmentMaking the Move to Behavior-Driven Development
Making the Move to Behavior-Driven DevelopmentTechWell
 
Implementing Testing for Behavior-Driven Development Using Cucumber
Implementing Testing for Behavior-Driven Development Using CucumberImplementing Testing for Behavior-Driven Development Using Cucumber
Implementing Testing for Behavior-Driven Development Using CucumberTechWell
 
Combine Test Automation Code with Product Code: The Good, the Bad, and the Le...
Combine Test Automation Code with Product Code: The Good, the Bad, and the Le...Combine Test Automation Code with Product Code: The Good, the Bad, and the Le...
Combine Test Automation Code with Product Code: The Good, the Bad, and the Le...Josiah Renaudin
 
Addressing the Challenges of Mobile Test Automation
Addressing the Challenges of Mobile Test AutomationAddressing the Challenges of Mobile Test Automation
Addressing the Challenges of Mobile Test AutomationTechWell
 
Better Together: Group Exploratory Testing
Better Together: Group Exploratory TestingBetter Together: Group Exploratory Testing
Better Together: Group Exploratory TestingTechWell
 
IoT and Embedded Testing: A Roku Case Study
IoT and Embedded Testing: A Roku Case StudyIoT and Embedded Testing: A Roku Case Study
IoT and Embedded Testing: A Roku Case StudyTechWell
 
Become an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be HeardBecome an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be HeardTechWell
 
Innovations in Mobile Testing: Expanding Your Test Plan
Innovations in Mobile Testing: Expanding Your Test PlanInnovations in Mobile Testing: Expanding Your Test Plan
Innovations in Mobile Testing: Expanding Your Test PlanJosiah Renaudin
 
Boost Test Coverage with Automated Visual Testing
Boost Test Coverage with Automated Visual TestingBoost Test Coverage with Automated Visual Testing
Boost Test Coverage with Automated Visual TestingJosiah Renaudin
 
Anti-Patterns for Automated Testing
Anti-Patterns for Automated TestingAnti-Patterns for Automated Testing
Anti-Patterns for Automated TestingJosiah Renaudin
 
IoT Integrity: A Guide to Robust Endpoint Testing
IoT Integrity: A Guide to Robust Endpoint TestingIoT Integrity: A Guide to Robust Endpoint Testing
IoT Integrity: A Guide to Robust Endpoint TestingJosiah Renaudin
 
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingImplement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingJosiah Renaudin
 
Analyze, Diagnose, and Prevent Test Flakiness
Analyze, Diagnose, and Prevent Test FlakinessAnalyze, Diagnose, and Prevent Test Flakiness
Analyze, Diagnose, and Prevent Test FlakinessJosiah Renaudin
 
Design for Testability in Practice
Design for Testability in PracticeDesign for Testability in Practice
Design for Testability in PracticeTechWell
 
Build a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation FrameworkBuild a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation FrameworkJosiah Renaudin
 
Mindmaps: Agile and Lightweight Documentation for Testing
Mindmaps: Agile and Lightweight Documentation for TestingMindmaps: Agile and Lightweight Documentation for Testing
Mindmaps: Agile and Lightweight Documentation for TestingTechWell
 
How to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation FrameworkHow to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation FrameworkTechWell
 
Accessibility Standards and Testing Techniques: Be Inclusive or Be Left Behind
Accessibility Standards and Testing Techniques: Be Inclusive or Be Left BehindAccessibility Standards and Testing Techniques: Be Inclusive or Be Left Behind
Accessibility Standards and Testing Techniques: Be Inclusive or Be Left BehindTechWell
 
Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...
Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...
Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...Josiah Renaudin
 

Viewers also liked (19)

Making the Move to Behavior-Driven Development
Making the Move to Behavior-Driven DevelopmentMaking the Move to Behavior-Driven Development
Making the Move to Behavior-Driven Development
 
Implementing Testing for Behavior-Driven Development Using Cucumber
Implementing Testing for Behavior-Driven Development Using CucumberImplementing Testing for Behavior-Driven Development Using Cucumber
Implementing Testing for Behavior-Driven Development Using Cucumber
 
Combine Test Automation Code with Product Code: The Good, the Bad, and the Le...
Combine Test Automation Code with Product Code: The Good, the Bad, and the Le...Combine Test Automation Code with Product Code: The Good, the Bad, and the Le...
Combine Test Automation Code with Product Code: The Good, the Bad, and the Le...
 
Addressing the Challenges of Mobile Test Automation
Addressing the Challenges of Mobile Test AutomationAddressing the Challenges of Mobile Test Automation
Addressing the Challenges of Mobile Test Automation
 
Better Together: Group Exploratory Testing
Better Together: Group Exploratory TestingBetter Together: Group Exploratory Testing
Better Together: Group Exploratory Testing
 
IoT and Embedded Testing: A Roku Case Study
IoT and Embedded Testing: A Roku Case StudyIoT and Embedded Testing: A Roku Case Study
IoT and Embedded Testing: A Roku Case Study
 
Become an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be HeardBecome an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be Heard
 
Innovations in Mobile Testing: Expanding Your Test Plan
Innovations in Mobile Testing: Expanding Your Test PlanInnovations in Mobile Testing: Expanding Your Test Plan
Innovations in Mobile Testing: Expanding Your Test Plan
 
Boost Test Coverage with Automated Visual Testing
Boost Test Coverage with Automated Visual TestingBoost Test Coverage with Automated Visual Testing
Boost Test Coverage with Automated Visual Testing
 
Anti-Patterns for Automated Testing
Anti-Patterns for Automated TestingAnti-Patterns for Automated Testing
Anti-Patterns for Automated Testing
 
IoT Integrity: A Guide to Robust Endpoint Testing
IoT Integrity: A Guide to Robust Endpoint TestingIoT Integrity: A Guide to Robust Endpoint Testing
IoT Integrity: A Guide to Robust Endpoint Testing
 
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingImplement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
 
Analyze, Diagnose, and Prevent Test Flakiness
Analyze, Diagnose, and Prevent Test FlakinessAnalyze, Diagnose, and Prevent Test Flakiness
Analyze, Diagnose, and Prevent Test Flakiness
 
Design for Testability in Practice
Design for Testability in PracticeDesign for Testability in Practice
Design for Testability in Practice
 
Build a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation FrameworkBuild a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation Framework
 
Mindmaps: Agile and Lightweight Documentation for Testing
Mindmaps: Agile and Lightweight Documentation for TestingMindmaps: Agile and Lightweight Documentation for Testing
Mindmaps: Agile and Lightweight Documentation for Testing
 
How to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation FrameworkHow to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation Framework
 
Accessibility Standards and Testing Techniques: Be Inclusive or Be Left Behind
Accessibility Standards and Testing Techniques: Be Inclusive or Be Left BehindAccessibility Standards and Testing Techniques: Be Inclusive or Be Left Behind
Accessibility Standards and Testing Techniques: Be Inclusive or Be Left Behind
 
Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...
Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...
Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...
 

Similar to Acceptance- and Behavior-Driven Development with Cucumber: Three Case Studies

Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)Salesforce Partners
 
IRJET - Discovery of Ranking Fraud for Mobile Apps
IRJET - Discovery of Ranking Fraud for Mobile AppsIRJET - Discovery of Ranking Fraud for Mobile Apps
IRJET - Discovery of Ranking Fraud for Mobile AppsIRJET Journal
 
Allow is the New Block
Allow is the New BlockAllow is the New Block
Allow is the New BlockSean Dickson
 
Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019Microsoft 365 Developer
 
10 alternatives to heavy handed cloud app control
10 alternatives to heavy handed cloud app control10 alternatives to heavy handed cloud app control
10 alternatives to heavy handed cloud app controlAneel Mitra
 
CMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECTCMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECTHamesKellor
 
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docxCMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docxclarebernice
 
SplunkLive! Paris 2018: Intro to Security Analytics Methods
SplunkLive! Paris 2018: Intro to Security Analytics MethodsSplunkLive! Paris 2018: Intro to Security Analytics Methods
SplunkLive! Paris 2018: Intro to Security Analytics MethodsSplunk
 
Trustable Tech mark (10 August 2018)
Trustable Tech mark (10 August 2018)Trustable Tech mark (10 August 2018)
Trustable Tech mark (10 August 2018)Peter Bihr
 
The Trustable Technology Mark
The Trustable Technology MarkThe Trustable Technology Mark
The Trustable Technology MarkPeter Bihr
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Questions On Technical Design Decisions
Questions On Technical Design DecisionsQuestions On Technical Design Decisions
Questions On Technical Design DecisionsRikki Wright
 
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docxCMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docxfathwaitewalter
 
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docxCMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docxdrennanmicah
 
ShivamThakur_CV_Business Analyst
ShivamThakur_CV_Business AnalystShivamThakur_CV_Business Analyst
ShivamThakur_CV_Business AnalystShivam Thakur
 
EveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidenceEveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidencePaul Richards
 
EveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidenceEveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidenceKeith Purves
 
Executive Proposal ProjectThe purpose of this project is to evalua.docx
Executive Proposal ProjectThe purpose of this project is to evalua.docxExecutive Proposal ProjectThe purpose of this project is to evalua.docx
Executive Proposal ProjectThe purpose of this project is to evalua.docxrhetttrevannion
 

Similar to Acceptance- and Behavior-Driven Development with Cucumber: Three Case Studies (20)

Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
 
IRJET - Discovery of Ranking Fraud for Mobile Apps
IRJET - Discovery of Ranking Fraud for Mobile AppsIRJET - Discovery of Ranking Fraud for Mobile Apps
IRJET - Discovery of Ranking Fraud for Mobile Apps
 
Allow is the New Block
Allow is the New BlockAllow is the New Block
Allow is the New Block
 
Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019
 
10 alternatives to heavy handed cloud app control
10 alternatives to heavy handed cloud app control10 alternatives to heavy handed cloud app control
10 alternatives to heavy handed cloud app control
 
CMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECTCMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECT
 
Agile: Scrum Presentation
Agile: Scrum PresentationAgile: Scrum Presentation
Agile: Scrum Presentation
 
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docxCMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
CMIT 321 Executive Proposal ProjectThe purpose of this project i.docx
 
SplunkLive! Paris 2018: Intro to Security Analytics Methods
SplunkLive! Paris 2018: Intro to Security Analytics MethodsSplunkLive! Paris 2018: Intro to Security Analytics Methods
SplunkLive! Paris 2018: Intro to Security Analytics Methods
 
Trustable Tech mark (10 August 2018)
Trustable Tech mark (10 August 2018)Trustable Tech mark (10 August 2018)
Trustable Tech mark (10 August 2018)
 
Projects
ProjectsProjects
Projects
 
The Trustable Technology Mark
The Trustable Technology MarkThe Trustable Technology Mark
The Trustable Technology Mark
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Questions On Technical Design Decisions
Questions On Technical Design DecisionsQuestions On Technical Design Decisions
Questions On Technical Design Decisions
 
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docxCMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
 
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docxCMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
CMIT 321 Executive Proposal ProjectThe purpose of this project is .docx
 
ShivamThakur_CV_Business Analyst
ShivamThakur_CV_Business AnalystShivamThakur_CV_Business Analyst
ShivamThakur_CV_Business Analyst
 
EveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidenceEveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidence
 
EveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidenceEveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidence
 
Executive Proposal ProjectThe purpose of this project is to evalua.docx
Executive Proposal ProjectThe purpose of this project is to evalua.docxExecutive Proposal ProjectThe purpose of this project is to evalua.docx
Executive Proposal ProjectThe purpose of this project is to evalua.docx
 

More from Josiah Renaudin

Solve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOpsSolve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOpsJosiah Renaudin
 
End-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingEnd-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingJosiah Renaudin
 
Product Management: The Innovation Glue for the Lean Enterprise
Product Management: The Innovation Glue for the Lean EnterpriseProduct Management: The Innovation Glue for the Lean Enterprise
Product Management: The Innovation Glue for the Lean EnterpriseJosiah Renaudin
 
Slay the Dragons of Agile Measurement
Slay the Dragons of Agile MeasurementSlay the Dragons of Agile Measurement
Slay the Dragons of Agile MeasurementJosiah Renaudin
 
Blending Product Discovery and Product Delivery
Blending Product Discovery and Product DeliveryBlending Product Discovery and Product Delivery
Blending Product Discovery and Product DeliveryJosiah Renaudin
 
Determining Business Value in Agile Development
Determining Business Value in Agile DevelopmentDetermining Business Value in Agile Development
Determining Business Value in Agile DevelopmentJosiah Renaudin
 
Three Things You MUST Know to Transform into an Agile Enterprise
Three Things You MUST Know to Transform into an Agile EnterpriseThree Things You MUST Know to Transform into an Agile Enterprise
Three Things You MUST Know to Transform into an Agile EnterpriseJosiah Renaudin
 
Internet of Things and the Wisdom of Mobile
Internet of Things and the Wisdom of MobileInternet of Things and the Wisdom of Mobile
Internet of Things and the Wisdom of MobileJosiah Renaudin
 
How to Do Kick-Ass Software Development
How to Do Kick-Ass Software DevelopmentHow to Do Kick-Ass Software Development
How to Do Kick-Ass Software DevelopmentJosiah Renaudin
 
The Power of an Agile Mindset
The Power of an Agile MindsetThe Power of an Agile Mindset
The Power of an Agile MindsetJosiah Renaudin
 
DevOps and the Culture of High-Performing Software Organizations
DevOps and the Culture of High-Performing Software OrganizationsDevOps and the Culture of High-Performing Software Organizations
DevOps and the Culture of High-Performing Software OrganizationsJosiah Renaudin
 
Uncover Untold Stories in Your Data: A Deep Dive on Data Profiling
Uncover Untold Stories in Your Data: A Deep Dive on Data ProfilingUncover Untold Stories in Your Data: A Deep Dive on Data Profiling
Uncover Untold Stories in Your Data: A Deep Dive on Data ProfilingJosiah Renaudin
 
Don’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation StrategyDon’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation StrategyJosiah Renaudin
 
Testing Lessons from the Land of Make Believe
Testing Lessons from the Land of Make BelieveTesting Lessons from the Land of Make Believe
Testing Lessons from the Land of Make BelieveJosiah Renaudin
 
Finding Success with Test Process Improvement
Finding Success with Test Process ImprovementFinding Success with Test Process Improvement
Finding Success with Test Process ImprovementJosiah Renaudin
 
Git and GitHub for Testers
Git and GitHub for TestersGit and GitHub for Testers
Git and GitHub for TestersJosiah Renaudin
 
Stay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveStay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveJosiah Renaudin
 
The Selenium Grid: Run Multiple Automated Tests in Parallel
The Selenium Grid: Run Multiple Automated Tests in ParallelThe Selenium Grid: Run Multiple Automated Tests in Parallel
The Selenium Grid: Run Multiple Automated Tests in ParallelJosiah Renaudin
 
Testing at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and HowTesting at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and HowJosiah Renaudin
 
Defect Metrics for Organization and Project Health
Defect Metrics for Organization and Project HealthDefect Metrics for Organization and Project Health
Defect Metrics for Organization and Project HealthJosiah Renaudin
 

More from Josiah Renaudin (20)

Solve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOpsSolve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOps
 
End-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingEnd-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of Testing
 
Product Management: The Innovation Glue for the Lean Enterprise
Product Management: The Innovation Glue for the Lean EnterpriseProduct Management: The Innovation Glue for the Lean Enterprise
Product Management: The Innovation Glue for the Lean Enterprise
 
Slay the Dragons of Agile Measurement
Slay the Dragons of Agile MeasurementSlay the Dragons of Agile Measurement
Slay the Dragons of Agile Measurement
 
Blending Product Discovery and Product Delivery
Blending Product Discovery and Product DeliveryBlending Product Discovery and Product Delivery
Blending Product Discovery and Product Delivery
 
Determining Business Value in Agile Development
Determining Business Value in Agile DevelopmentDetermining Business Value in Agile Development
Determining Business Value in Agile Development
 
Three Things You MUST Know to Transform into an Agile Enterprise
Three Things You MUST Know to Transform into an Agile EnterpriseThree Things You MUST Know to Transform into an Agile Enterprise
Three Things You MUST Know to Transform into an Agile Enterprise
 
Internet of Things and the Wisdom of Mobile
Internet of Things and the Wisdom of MobileInternet of Things and the Wisdom of Mobile
Internet of Things and the Wisdom of Mobile
 
How to Do Kick-Ass Software Development
How to Do Kick-Ass Software DevelopmentHow to Do Kick-Ass Software Development
How to Do Kick-Ass Software Development
 
The Power of an Agile Mindset
The Power of an Agile MindsetThe Power of an Agile Mindset
The Power of an Agile Mindset
 
DevOps and the Culture of High-Performing Software Organizations
DevOps and the Culture of High-Performing Software OrganizationsDevOps and the Culture of High-Performing Software Organizations
DevOps and the Culture of High-Performing Software Organizations
 
Uncover Untold Stories in Your Data: A Deep Dive on Data Profiling
Uncover Untold Stories in Your Data: A Deep Dive on Data ProfilingUncover Untold Stories in Your Data: A Deep Dive on Data Profiling
Uncover Untold Stories in Your Data: A Deep Dive on Data Profiling
 
Don’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation StrategyDon’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
 
Testing Lessons from the Land of Make Believe
Testing Lessons from the Land of Make BelieveTesting Lessons from the Land of Make Believe
Testing Lessons from the Land of Make Believe
 
Finding Success with Test Process Improvement
Finding Success with Test Process ImprovementFinding Success with Test Process Improvement
Finding Success with Test Process Improvement
 
Git and GitHub for Testers
Git and GitHub for TestersGit and GitHub for Testers
Git and GitHub for Testers
 
Stay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveStay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity Curve
 
The Selenium Grid: Run Multiple Automated Tests in Parallel
The Selenium Grid: Run Multiple Automated Tests in ParallelThe Selenium Grid: Run Multiple Automated Tests in Parallel
The Selenium Grid: Run Multiple Automated Tests in Parallel
 
Testing at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and HowTesting at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and How
 
Defect Metrics for Organization and Project Health
Defect Metrics for Organization and Project HealthDefect Metrics for Organization and Project Health
Defect Metrics for Organization and Project Health
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

Acceptance- and Behavior-Driven Development with Cucumber: Three Case Studies

  • 1.           W2   Test  Techniques   5/4/16  11:30               Acceptance-­‐  and  Behavior-­‐Driven   Development  with  Cucumber:  Three   Case  Studies     Presented  by:     Mary  Thorn   Ipreo     Brought  to  you  by:                 350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073    
  • 2. 888-­‐-­‐-­‐268-­‐-­‐-­‐8770  ·∙·∙  904-­‐-­‐-­‐278-­‐-­‐-­‐0524  -­‐  info@techwell.com  -­‐  http://www.stareast.techwell.com/                 Mary  Thorn   Ipreo     Chief  Storyteller  of  The  Three  Pillars  of  Agile  Testing  and  Quality,  Mary  Thorn  is   Director  of  Software  Test  Engineering  at  Ipreo  in  Raleigh,  NC.  Mary  has  a  broad   testing  background  that  spans  automation,  data  warehouses,  and  web-­‐based   systems  in  a  wide  variety  of  technologies  and  testing  techniques.  During  her   more  than  nineteen  years  of  experience  in  healthcare,  HR,  financial,  and  SaaS-­‐ based  products,  Mary  has  held  manager-­‐  and  contributor-­‐level  positions  in   software  development  organizations.  A  strong  leader  in  agile  testing   methodologies,  Mary  has  direct  experience  leading  teams  through  agile  adoption   and  beyond.        
  • 3. Investment Banks. Investors. Investor Relations. New York | London | Raleigh | Capetown | Boston | www.ipreo.com Acceptance- and Behavior-Driven Development with Cucumber: Three Case Studies Presented
  • 4. About Mary Thorn  Chief Story Teller of the book “The Three Pillars of Agile Testing and Quality” written by Bob Galen, Mary Thorn is Director of Software Test Engineering at Ipreo in Raleigh, NC.  Mary has a broad testing background that spans automation, data warehouses, and web-based systems in a wide variety of technologies and testing techniques. During her more than seventeen years of experience in healthcare, HR, financial, and SaaS-based products,  Mary has held manager and contributor level positions in software development organizations. A strong leader in agile testing methodologies, she has direct experience leading teams through agile adoption and beyond.
  • 5. What is the problem?  Have you ever had overlooked requirements?  Have you ever built the wrong thing?  Do you have tangible reference materials?  Have you ever interpreted a requirement incorrectly?
  • 6. The Communication Problem The Challenge:  Today, the most difficult problem in software development is knowing what to build, not how to build it.  Knowing what to build, requires knowing why it is being built. In other words, understanding the goal.
  • 7. The Communication Problem The Problem:  Stories typically concentrate on the what and the how, not the why. Goals and examples are usually missing.  Stories are usually a list of imperative requirements (acceptance criteria).  Imperative requirements are usually interpreted in subtly different ways by each person. If goals and examples are absent, misinterpretation is much more likely.
  • 8. How do you get started?  To PO boss and PO’s  To Testers boss and Tester  To your boss  To Scrum team
  • 9. Training  User story and AC writing training  Feature File Training  Grooming Training  Cucumber Training
  • 10. Case Study 1: Greenfield
  • 11. Case Study 1: Greenfield How to effectively communicate requirements to the team, to be developed/tested/implemented while exceeding business expectations. The Challenge:
  • 12. The Process: Agile  Product Owner writes acceptance tests in Gherkin format in the story.  During grooming, the team discusses the scenarios and asks questions. Team can add/remove scenarios during grooming or team updates after.  During sprint planning, the feature file is used for estimating tasks.  Once sprint has started, Testers and Dev work on getting the feature file 90% complete before the developer starts coding.  The developers code the scenarios in the feature file in a TDD manner.  Testers expands the scenarios in the feature files after development if there are new findings and gets approval from the team. Team owns the feature file.  Automation starts in parallel to development.  When testing is complete, PO acceptance is done by running the automated acceptance tests.
  • 13. Case Study 1: Greenfield Description: In lieu of creating an Information page (as detailed in HZN-6805), we will instead provide a link to open a new browser for the applications in Internet Explorer, similar to how we will handle the news items. The application-specific information pages contain a detailed summary of Horizon’s offerings and serve as a marketing tool for potential users. Ultimately, launching this page directly is a simpler and cheaper solution than building a new window. Acceptance Tests: 1.) An “i" icon is shown on each application tile, in the All Apps view. This icon is not displayed in the My Apps view. 2.) If I am entitled to an application and it is live in Production, or if the application is coming soon, or if I am not entitled to it, then clicking the “i” icon will open the info page for that application. 3.) If I am entitled to an application and it is live in Production, then clicking anywhere else in the tile (i.e.: NOT on the "i" icon) will open the application. 4.) If the application is coming soon, then the following message is shown when they click anywhere else in the tile (i.e.: NOT on the "i" icon): This app is not available yet Please select the info icon to view more information on the Risk Intranet 5.) If the user is not entitled to the application, then the following message is shown when they click anywhere else in the tile (i.e.: NOT on the "i" icon): You do not have access to view this app Please select the info icon to view more information and request access on the Risk Intranet 6.) If the application does not have an associated info page, then clicking the “i” icon will open the Horizon homepage (http://risk.intranet.db.com/content/horizon_coo_30587.html) 7.) All scenarios from feature file have been implemented correctly.
  • 14. Case Study 1: Greenfield Example 1: Verify clicking directly on the “I” icon launches a new internet page when the user is permissioned to the application and it is live in production Given that I'm on the My Apps page And I am permissioned to an application that is live in production When I click the “I” icon on the application tile Then a new browser window opens Example 2: Verify clicking directly on the “I” icon launches a new internet page when the application is coming soon Given that I'm on the My Apps page And an application is coming soon When I click the “I” icon on the application tile Then a new browser window opens And the All Apps page state is retained Example 3: Verify clicking in an area outside of the “I” icon (but within the tile) launches the application when the user is permissioned to the application and it is live in production Given that I'm on the My Apps page And I am permissioned to an application that is live in production When I click on an area outside of the “I” icon, within the tile Then the application opens Feature File
  • 15. Benefits  Clear expectations communicated  Defined scope  Reveals overlooked requirements  Tangible reference materials  Accurate story/task estimations  Deliberate collaboration between Tester/DEV/PO  Increased productivity  Commitments are met (and often exceeded!)  80% automated test coverage
  • 16. Case Study 2: Backward Implementation
  • 17. Case Study 2: Backward Implementation  How to implement a new communication and/or automation tool and have the entire Scrum team benefit from it.  Team not building correct solution  Lots of rework  No clear understanding of what Tester was testing The Challenge:
  • 18. The Process: Agile  Once sprint starts, tester writes acceptance tests in feature file scenarios format for every story.  Tester sends feature files to developers and product owner during the sprint to verify assumptions.  Developers use feature file to write unit tests post-implementation.  Tester expands the scenarios in the feature files after development if there are new findings.  Tester runs feature file and manual testing by hand.  Automation starts once manual testing is completed.  When testing is complete, PO acceptance is done by running the automated acceptance tests.
  • 19. Case Study 2: Backward Implementation
  • 20. Scenario: Verify subscriber is in contact information Given that a list already exists in the account by default When I log in to my account Then I should see one subscriber on the list And that subscriber should be the email address listed in my contact information Scenario:Verify subscriber is in contact information via API Given I am using the API When I create a list using the API Then I should see one subscriber on my list And the subscriber should be the email address listed under my contact information Scenario:Verify email is added to salesforce Given that I am an iC4SFDC customer When I create a campaign Then my default email address should be added to my campaign in iC4SFDC? Are there some examples here that you didn’t think of during the exercise? Case Study 2: Backward Implementation
  • 21. Benefits  Slower implementation rollout  Clear expectations communicated  Defined scope  Reveals overlooked requirements  Tangible reference materials  Accurate story/task estimations  Deliberate collaboration between QA/DEV/PO  Increased productivity  Commitments are met (and often times exceeded!)  60% automated test coverage
  • 22. Case Study 3: Hybrid
  • 23. Case Study 3: Hybrid  No effective communication  Long FSD/BRDs leading to ambiguities in requirements  No collaboration between BAs and QA/Dev teams on requirements stage  Lots of issues found during BA sanity checks and UAT  No test automation The Challenge:
  • 24. The Process: Waterfall  BA writes acceptance tests in feature file scenarios format in the story.  BA discusses feature file with the developer and QA working on the project.  Tester and Dev estimate their project tasks based on feature file.  The developers code to the scenarios in the feature file and, when done, pass over to Test.  Tester expands the scenarios in the feature files after development if there are new findings.  Tester runs feature file and manual testing by hand.  Automation starts once manual testing is completed.  When testing is complete, BA acceptance is done by running the automated acceptance tests.
  • 25. Case Study 3: Hybrid  Questions that might arise during discussion within the team:  What if GBP trade is maturing on 01-Apr, should the tenor be adjusted?  Why are we defining the holiday by currency? What if there is a holiday in France but not in Germany? Report COB Maturity Date of the trade Original tenor Currency Holiday for Currency Payment Date in the reports? Adjusted Tenor? 28-Mar-2013 29-Mar-2013 D1 GBP GBP: 29-Mar-2013 01-Apr-2013 02-Apr-2013 D3 28-Mar-2013 29-Mar-2013 D1 CAD CAD: 29-Mar-2013 01-Apr-2013 D2 28-Mar-2013 29-Mar-2013 D1 JPY No holiday for JPY on 29-Mar 29-Mar-2013 D1 28-Mar-2013 02-Apr-2013 D3 GBP GBP: 29-Mar-2013 01-Apr-2013 02-Apr-2013 D3 28-Mar-2013 06-May-2013 D27 GBP GBP: 06-May-2013 06-May-2013 D27 Discuss with the team and business Refine examples and/or acceptance criteria
  • 26. Case Study 3: Hybrid Example 1: Given that the trade is maturing on report COB+1 And the COB+1 is a holiday for trade currency When the trade is loaded to Datamart reports Then the maturity tenor of the trade is adjusted to fall into next business day for the trade’s currency Example 2: Given that the trade is maturing on report COB+N (N>1) And the COB+N is a holiday for trade currency When the trade is loaded to Datamart reports Then the maturity tenor of the trade is reported on DayN without adjustment for holiday
  • 27. Benefits  Clear expectations communicated  Defined scope  Reveals overlooked requirements  Tangible reference materials  Accurate story/task estimations  Deliberate collaboration between Test/DEV/PO  Increased productivity  Decreased bugs from SIT/UAT/PROD  30% automated test coverage
  • 28. Why does it fail?  PO’s don’t think it is there jobs  Regulatory Scare  Testers are not bought in  Automation is not utilized