SlideShare uma empresa Scribd logo
1 de 35
Narrative Acceptance Tests A Behaviour Driven Approach Antony Marcano & Andy Palmer
Introduction
@AntonyMarcano http://antonymarcano.com @AndyPalmer http://andypalmer.com
May-07 Antony Marcano 8
Photo taken at www.tnmoc.org on site at www.bletchleypark.org.uk
Photo taken at www.tnmoc.org on site at www.bletchleypark.org.uk
Telephone Game We lose information by repeatedly switching between examples and abstractions http://www.brokenpicturetelephone.com/
Example Driven Approaches Why not just use the same examples for the whole process? The developers might even preserve the language of the business domain
2009 Antony Marcano 13
Example Driven Approaches Common attributes: Desired behaviour is expressed as a concrete example The example is evaluated against the product, demonstrating the absence of the behaviour The behaviour is implemented The example is re-evaluated to determine if the correct behaviour has been implemented Such as: ATDD, TDD, BDD
2009 15 http://www.parlezuml.com/blog/?postid=490
User Stories are elaborated with Examples For each story likely to be worked on in next iteration Have a conversation Customer, Developer & Tester Discuss examples & summarise on back of story card Or, one card per example
Implement story  (TDD with unit tests) test should pass Have a conversation For each  Example noted earlier Express the example as automated  acceptance    test Test should fail When all  tests pass,  story is done (almost) During the iteration
Given-When-Then Given-When-Then Given some initial context (the givens), When an event occurs, then ensure some outcomes. For example… http://dannorth.net/introducing-bdd
2009 19 Activity ,[object Object]
 Use CasesGeneral Specific ,[object Object]
 Automated Test Script     using GUI Test tool (e.g.     selenium, QTP, SilkTest) ,[object Object],   Test scripts Task
A Place To Start As a Team Member I want a place to start So that I know that the software is running
Given thatthe FitNesse wiki was able to start for the first time When the Project Team Member attempts to go to the Home Page Then the content of the Home Page for the Project Team Member  should be "Welcome to the Wonderful World of FitNesse!"
Given that the FitNesse wiki was able to start for the first time When the Project Team Member attempts to go to the Home Page Then the content of the Home Page for the Project Team Membershould be "Welcome to the Wonderful World of FitNesse!"
Given that the FitNesse wiki was able to start for the first time When the Project Team Member attempts to go to the Home Page Then the content of the Home Pagefor the Project Team Membershould be "Welcome to the Wonderful World of FitNesse!"
Given that the FitNesse wiki was able to start for the first time When the Project Team Member attempts to go to the Home Page Then the content of the Home Pagefor the Project Team Membershould be "Welcome to the Wonderful World of FitNesse!"
Edit the Home Page As a Project Team Member I want to edit the Front Page So that it is relevant to my project Let’s leave the slides and do something real…
Putting it on the table
A more fluent approach Let’s take a look at JNarrate...
Other tools and frameworks JBehave Nbehave Cucumber RSpec
Further reading… Bridging the Communication Gap -Gojko Adzic Agile Testing: A Practical Guide for Testers and Agile Teams -Lisa Crispin & Janet Gregory FIT for Developing Software: Framework for Integrated Tests-Rick Mugridge & Ward Cunningham

Mais conteúdo relacionado

Semelhante a Narrative Acceptance Tests River Glide Antony Marcano

Download mien phi slide 29
Download mien phi slide 29Download mien phi slide 29
Download mien phi slide 29sudokid
 
L3 diploma-cmpt-project-proposal-guidance-and-template
L3 diploma-cmpt-project-proposal-guidance-and-templateL3 diploma-cmpt-project-proposal-guidance-and-template
L3 diploma-cmpt-project-proposal-guidance-and-templateICECUBE89
 
Apps as Machines — at FH Potsdam
Apps as Machines — at FH PotsdamApps as Machines — at FH Potsdam
Apps as Machines — at FH PotsdamMartin Jordan
 
The Soft Side of Software Development / Devoxx 2019
The Soft Side of Software Development / Devoxx 2019The Soft Side of Software Development / Devoxx 2019
The Soft Side of Software Development / Devoxx 2019🎤 Hanno Embregts 🎸
 
Championing accessibility
Championing accessibilityChampioning accessibility
Championing accessibilityChris Sherry
 
Transform a web team into a Sitecore dream-team
Transform a web team into a Sitecore dream-teamTransform a web team into a Sitecore dream-team
Transform a web team into a Sitecore dream-teamNavigationArts
 
Collaboration and Productivity: The Missing Links in API Development
Collaboration and Productivity: The Missing Links in API DevelopmentCollaboration and Productivity: The Missing Links in API Development
Collaboration and Productivity: The Missing Links in API DevelopmentPostman
 
Planning booklet lewis hill
Planning booklet lewis hillPlanning booklet lewis hill
Planning booklet lewis hillLewis Hill
 
Storytelling & Social Media: Video Creation
Storytelling & Social Media: Video Creation Storytelling & Social Media: Video Creation
Storytelling & Social Media: Video Creation TechSoup
 
Bullshit, Own It: A Temperamental SEO's Guide To Getting Shit Done
Bullshit, Own It: A Temperamental SEO's Guide To Getting Shit DoneBullshit, Own It: A Temperamental SEO's Guide To Getting Shit Done
Bullshit, Own It: A Temperamental SEO's Guide To Getting Shit DoneIan Lurie
 
Pixlr and small apps in the classroom
Pixlr and small apps in the classroomPixlr and small apps in the classroom
Pixlr and small apps in the classroomArtfulArtsyAmy
 
Technology professionallearning aug 2011 (protected)
Technology professionallearning aug 2011 (protected)Technology professionallearning aug 2011 (protected)
Technology professionallearning aug 2011 (protected)David C. Barrow Elementary
 
Why You Must Be Mobile First Now
Why You Must Be Mobile First NowWhy You Must Be Mobile First Now
Why You Must Be Mobile First NowEric Enge
 
Thinking Reactively
Thinking ReactivelyThinking Reactively
Thinking ReactivelySabin Marcu
 
Blogworkshop Part 1
Blogworkshop Part 1Blogworkshop Part 1
Blogworkshop Part 1planetsab
 
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...NCCOMMS
 
MT and Post-Editing User-Generated Content AMTA 2014
MT and Post-Editing User-Generated Content AMTA 2014MT and Post-Editing User-Generated Content AMTA 2014
MT and Post-Editing User-Generated Content AMTA 2014Welocalize
 
Personal introduction
Personal introductionPersonal introduction
Personal introductionJose Sanchez
 

Semelhante a Narrative Acceptance Tests River Glide Antony Marcano (20)

Download mien phi slide 29
Download mien phi slide 29Download mien phi slide 29
Download mien phi slide 29
 
L3 diploma-cmpt-project-proposal-guidance-and-template
L3 diploma-cmpt-project-proposal-guidance-and-templateL3 diploma-cmpt-project-proposal-guidance-and-template
L3 diploma-cmpt-project-proposal-guidance-and-template
 
Apps as Machines — at FH Potsdam
Apps as Machines — at FH PotsdamApps as Machines — at FH Potsdam
Apps as Machines — at FH Potsdam
 
The Soft Side of Software Development / Devoxx 2019
The Soft Side of Software Development / Devoxx 2019The Soft Side of Software Development / Devoxx 2019
The Soft Side of Software Development / Devoxx 2019
 
Championing accessibility
Championing accessibilityChampioning accessibility
Championing accessibility
 
Transform a web team into a Sitecore dream-team
Transform a web team into a Sitecore dream-teamTransform a web team into a Sitecore dream-team
Transform a web team into a Sitecore dream-team
 
Collaboration and Productivity: The Missing Links in API Development
Collaboration and Productivity: The Missing Links in API DevelopmentCollaboration and Productivity: The Missing Links in API Development
Collaboration and Productivity: The Missing Links in API Development
 
Flat
FlatFlat
Flat
 
Planning booklet lewis hill
Planning booklet lewis hillPlanning booklet lewis hill
Planning booklet lewis hill
 
Storytelling & Social Media: Video Creation
Storytelling & Social Media: Video Creation Storytelling & Social Media: Video Creation
Storytelling & Social Media: Video Creation
 
Bullshit, Own It: A Temperamental SEO's Guide To Getting Shit Done
Bullshit, Own It: A Temperamental SEO's Guide To Getting Shit DoneBullshit, Own It: A Temperamental SEO's Guide To Getting Shit Done
Bullshit, Own It: A Temperamental SEO's Guide To Getting Shit Done
 
Pixlr and small apps in the classroom
Pixlr and small apps in the classroomPixlr and small apps in the classroom
Pixlr and small apps in the classroom
 
Technology professionallearning aug 2011 (protected)
Technology professionallearning aug 2011 (protected)Technology professionallearning aug 2011 (protected)
Technology professionallearning aug 2011 (protected)
 
Why You Must Be Mobile First Now
Why You Must Be Mobile First NowWhy You Must Be Mobile First Now
Why You Must Be Mobile First Now
 
Thinking Reactively
Thinking ReactivelyThinking Reactively
Thinking Reactively
 
Content is ux
Content is uxContent is ux
Content is ux
 
Blogworkshop Part 1
Blogworkshop Part 1Blogworkshop Part 1
Blogworkshop Part 1
 
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
 
MT and Post-Editing User-Generated Content AMTA 2014
MT and Post-Editing User-Generated Content AMTA 2014MT and Post-Editing User-Generated Content AMTA 2014
MT and Post-Editing User-Generated Content AMTA 2014
 
Personal introduction
Personal introductionPersonal introduction
Personal introduction
 

Mais de Skills Matter

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

Mais de Skills Matter (20)

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

Último

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Último (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Narrative Acceptance Tests River Glide Antony Marcano

  • 1. Narrative Acceptance Tests A Behaviour Driven Approach Antony Marcano & Andy Palmer
  • 4.
  • 5.
  • 6.
  • 7.
  • 9. Photo taken at www.tnmoc.org on site at www.bletchleypark.org.uk
  • 10. Photo taken at www.tnmoc.org on site at www.bletchleypark.org.uk
  • 11. Telephone Game We lose information by repeatedly switching between examples and abstractions http://www.brokenpicturetelephone.com/
  • 12. Example Driven Approaches Why not just use the same examples for the whole process? The developers might even preserve the language of the business domain
  • 14. Example Driven Approaches Common attributes: Desired behaviour is expressed as a concrete example The example is evaluated against the product, demonstrating the absence of the behaviour The behaviour is implemented The example is re-evaluated to determine if the correct behaviour has been implemented Such as: ATDD, TDD, BDD
  • 16. User Stories are elaborated with Examples For each story likely to be worked on in next iteration Have a conversation Customer, Developer & Tester Discuss examples & summarise on back of story card Or, one card per example
  • 17. Implement story (TDD with unit tests) test should pass Have a conversation For each Example noted earlier Express the example as automated acceptance test Test should fail When all tests pass, story is done (almost) During the iteration
  • 18. Given-When-Then Given-When-Then Given some initial context (the givens), When an event occurs, then ensure some outcomes. For example… http://dannorth.net/introducing-bdd
  • 19.
  • 20.
  • 21.
  • 22. A Place To Start As a Team Member I want a place to start So that I know that the software is running
  • 23. Given thatthe FitNesse wiki was able to start for the first time When the Project Team Member attempts to go to the Home Page Then the content of the Home Page for the Project Team Member should be "Welcome to the Wonderful World of FitNesse!"
  • 24. Given that the FitNesse wiki was able to start for the first time When the Project Team Member attempts to go to the Home Page Then the content of the Home Page for the Project Team Membershould be "Welcome to the Wonderful World of FitNesse!"
  • 25. Given that the FitNesse wiki was able to start for the first time When the Project Team Member attempts to go to the Home Page Then the content of the Home Pagefor the Project Team Membershould be "Welcome to the Wonderful World of FitNesse!"
  • 26. Given that the FitNesse wiki was able to start for the first time When the Project Team Member attempts to go to the Home Page Then the content of the Home Pagefor the Project Team Membershould be "Welcome to the Wonderful World of FitNesse!"
  • 27. Edit the Home Page As a Project Team Member I want to edit the Front Page So that it is relevant to my project Let’s leave the slides and do something real…
  • 28. Putting it on the table
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. A more fluent approach Let’s take a look at JNarrate...
  • 34. Other tools and frameworks JBehave Nbehave Cucumber RSpec
  • 35. Further reading… Bridging the Communication Gap -Gojko Adzic Agile Testing: A Practical Guide for Testers and Agile Teams -Lisa Crispin & Janet Gregory FIT for Developing Software: Framework for Integrated Tests-Rick Mugridge & Ward Cunningham

Notas do Editor

  1. Antony Marcano & Andy PalmerExperienced Agile Developers & Coaches for hireCreated http://pairwith.usCreated Narrative Fixture
  2. Requirements are given to BA as examplesBA infers Abstract RulesDevelopers code Abstract Rules (they test by inferring examples from the rules)Testers use BA rules and the software to infer new examples (edge cases)
  3. 10-15 Presenters summarise a User Story to the group15-25 Presenters play the role of customer with participants playing the part of the team - guided to ask appropriate questions to capture examples that illustrate the story25-40 Presenters exchange roles with the participants and elaborate the first example for the user story into an acceptance test (captured in plain text)
  4. It’s technical, aimed at the programmers, not the customerIt doesn’t actually test that you can edit the page (it doesn’t click the save button)