SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
 
	
  
	
  
	
  
	
  
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

Contenu connexe

Tendances

What Are We Still Doing Wrong
What Are We Still Doing WrongWhat Are We Still Doing Wrong
What Are We Still Doing Wrong
afa reg
 
Selenium-online-training
Selenium-online-trainingSelenium-online-training
Selenium-online-training
Raghav Arora
 
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
ChristopherGTaylor
 

Tendances (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
 

En vedette

En vedette (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...
 

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

Allow is the New Block
Allow is the New BlockAllow is the New Block
Allow is the New Block
Sean Dickson
 
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
clarebernice
 
Questions On Technical Design Decisions
Questions On Technical Design DecisionsQuestions On Technical Design Decisions
Questions On Technical Design Decisions
Rikki 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 .docx
fathwaitewalter
 
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
drennanmicah
 
ShivamThakur_CV_Business Analyst
ShivamThakur_CV_Business AnalystShivamThakur_CV_Business Analyst
ShivamThakur_CV_Business Analyst
Shivam Thakur
 
EveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidenceEveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidence
Paul Richards
 
EveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidenceEveryCloud 5-steps-cloud-confidence
EveryCloud 5-steps-cloud-confidence
Keith 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.docx
rhetttrevannion
 

Similaire à 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
 

Plus de Josiah Renaudin

Plus de 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
 

Dernier

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Dernier (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

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