SlideShare una empresa de Scribd logo
1 de 52
Specification by Example and Agile Acceptance Testing  Bridging the communication gap in software projects Gojko Adzic [email_address] @gojkoadzic http://gojko.net
Why should you care (PM/BA)? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Why should you care (dev)? ,[object Object],[object Object],[object Object],[object Object]
Why should you care (QA)‏ ,[object Object],[object Object],[object Object],[object Object]
http://www.flickr.com/photos/lambdachialpha/157986473/
http://www.flickr.com/photos/mulesafpilot/3513588967
http://www.defenseimagery.mil/assetDetails.action?guid=68cf92e35ce13e6c7c9c066f0b48b6daaa9bf8d8
An experiment with four active battalions in US Army  ,[object Object],L.G.Shattuck, 2000 http://www.au.af.mil/au/awc/awcgate/milreview/shattuck.pdf
The process is very much like a telephone game http://www.flickr.com/photos/mataniere/3107073262
How many points are there?
How many points are there?
[object Object],[object Object],[object Object]
B2 bomber crashed and $2bn went up in flames  "the aircraft actually performed as it was designed. In other words, all the systems were functioning normally." Maj. Gen. Floyd L. Carpenter http://www.foxnews.com/wires/2008Jun05/0,4670,B2Crash,00.html
You can't help a lot when the party is already over...  http://www.flickr.com/photos/biolog/3457774800
F-16 design team was asked to do the impossible -  a cheap 2.5 Mach airplane!  “ When asked […] why they need Mach 2 - 2.5, the answer was to be able to escape from combat. Their solution was […] providing acceleration and maneuverability, not maximum speed.” http://97-things.near-time.net/wiki/Seek%20the%20value%20in%20requested%20capabilities
Refuse requirements that are a solution to an unknown problem! http://www.flickr.com/photos/sylvancatharsis/3783608640/
One of the most effective ways of testing requirements is with test cases  very much like those for testing the completed system Donald Gause and Gerald Weinberg Exploring Requirements -  1989 !
 
As formality increases,  tests and requirements  become indistinguishable. Robert C. Martin and Grigori Melnik Tests and Requirements, Requirements and Tests: a Mobius Strip  IEEE Software January/February Issue 2008
Key practices ,[object Object],[object Object],[object Object],[object Object],[object Object]
Better names ,[object Object],[object Object],[object Object],[object Object]
Jim Shore:  “Describe-Demonstrate-Develop” A very useful way to think about acceptance tests in practice http://www.jamesshore.com/Blog/How-I-Use-Fit.html
Iteration flow (just a suggestion)‏
Step 1: Building a shared understanding of the domain
Specification workshops ,[object Object],[object Object],[object Object]
Inconsistencies and gaps are easy to spot when you write the rules down!
Real-world examples help flush out incorrect  assumed  rules find  real  business rules!
People have think at a more detailed level and can't brush questions off…
People approach the same problem from different perspectives, so this avoids groupthink!
Step 2: Select a formal set of acceptance tests and automate them
The Toyota Way ,[object Object],[object Object],[object Object]
Save time on manually (acceptance/smoke) testing Verify business rules with the click of a button
Automate tests, but still keep them human-readable And you can add pictures as well….
This is a specification:
It is also a test
This as well
And this
And this Given  a stock of prices 0.5,1.0 When  the stock is traded at 2.0 Then  the alert status should be OFF When  the stock is traded at 5.0 Then  the alert status should be OFF When  the stock is traded at 11.0 Then  the alert status should be OFF
A good acceptance test is ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Step 3: Providing focus for development No just-in-case code
Developers will have to code exactly what was specified …  not just the rules they see
Automated test reports show where we are… When all the tests are green, the job is done
Step 4:  Keeping in touch with changes
Live documentation As relevant and reliable as executable code, but much easier to read!
Previous examples help you ensure to discuss all important edge cases.
Automated tests show straight away when something is obsolete or broken
[object Object],[object Object],Rick Mugridge,  Doubling the Value of Automated Tests, Google Tech Talks 09/2006
Recap (PM/BA)‏ ,[object Object],[object Object],[object Object],[object Object],[object Object]
Recap (dev)‏ ,[object Object],[object Object],[object Object]
Recap (QA)‏ ,[object Object],[object Object],[object Object],[object Object]
Where next? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Agile Placemat v9
Agile Placemat v9Agile Placemat v9
Agile Placemat v9
Chris Webb
 
What is-agile henrik kniberg august 20 2013
What is-agile henrik kniberg august 20 2013What is-agile henrik kniberg august 20 2013
What is-agile henrik kniberg august 20 2013
Richard P. Doerer
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Simplilearn
 

La actualidad más candente (20)

Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Agile Placemat v9
Agile Placemat v9Agile Placemat v9
Agile Placemat v9
 
Enabling The DevOps Culture At Organization
Enabling The DevOps Culture At OrganizationEnabling The DevOps Culture At Organization
Enabling The DevOps Culture At Organization
 
Camunda BPM at bpmNEXT 2016
Camunda BPM at bpmNEXT 2016Camunda BPM at bpmNEXT 2016
Camunda BPM at bpmNEXT 2016
 
What is-agile henrik kniberg august 20 2013
What is-agile henrik kniberg august 20 2013What is-agile henrik kniberg august 20 2013
What is-agile henrik kniberg august 20 2013
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containers
 
Devops Intro - Devops for Unicorns & DevOps for Horses
Devops Intro - Devops for Unicorns & DevOps for HorsesDevops Intro - Devops for Unicorns & DevOps for Horses
Devops Intro - Devops for Unicorns & DevOps for Horses
 
Trunk-Based Development and Toggling
Trunk-Based Development and TogglingTrunk-Based Development and Toggling
Trunk-Based Development and Toggling
 
Camunda BPM 7.2 - English
Camunda BPM 7.2 - EnglishCamunda BPM 7.2 - English
Camunda BPM 7.2 - English
 
Qa in CI/CD
Qa in CI/CDQa in CI/CD
Qa in CI/CD
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Hiring or Growing Right Agile Coach by Lyssa Adkins and Michael Spayd
Hiring or Growing Right Agile Coach by Lyssa Adkins and Michael SpaydHiring or Growing Right Agile Coach by Lyssa Adkins and Michael Spayd
Hiring or Growing Right Agile Coach by Lyssa Adkins and Michael Spayd
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 

Destacado

How I learned to stop worrying and love flexible scope - at JFokus 2014
How I learned to stop worrying and love flexible scope - at JFokus 2014How I learned to stop worrying and love flexible scope - at JFokus 2014
How I learned to stop worrying and love flexible scope - at JFokus 2014
gojkoadzic
 
Reinventing Software Quality, Agile Days Moscow 2013
Reinventing Software Quality, Agile Days Moscow 2013Reinventing Software Quality, Agile Days Moscow 2013
Reinventing Software Quality, Agile Days Moscow 2013
gojkoadzic
 

Destacado (13)

Death to the testing phase
Death to the testing phaseDeath to the testing phase
Death to the testing phase
 
Effective specifications for agile teams
Effective specifications for agile teamsEffective specifications for agile teams
Effective specifications for agile teams
 
5 key challenges
5 key challenges5 key challenges
5 key challenges
 
Serverless Code Camp Barcelona
Serverless Code Camp BarcelonaServerless Code Camp Barcelona
Serverless Code Camp Barcelona
 
Serverless JavaScript
Serverless JavaScriptServerless JavaScript
Serverless JavaScript
 
Test Automation Without the Headache: Agile Tour Vienna 2015
Test Automation Without the Headache: Agile Tour Vienna 2015 Test Automation Without the Headache: Agile Tour Vienna 2015
Test Automation Without the Headache: Agile Tour Vienna 2015
 
How I learned to stop worrying and love flexible scope - at JFokus 2014
How I learned to stop worrying and love flexible scope - at JFokus 2014How I learned to stop worrying and love flexible scope - at JFokus 2014
How I learned to stop worrying and love flexible scope - at JFokus 2014
 
Challenging Requirements/Oredev
Challenging Requirements/OredevChallenging Requirements/Oredev
Challenging Requirements/Oredev
 
Agile Testers: Becoming a key asset for your team
Agile Testers: Becoming a key asset for your teamAgile Testers: Becoming a key asset for your team
Agile Testers: Becoming a key asset for your team
 
Time to Bet on the Cloud?
Time to Bet on the Cloud?Time to Bet on the Cloud?
Time to Bet on the Cloud?
 
Reinventing Software Quality, Agile Days Moscow 2013
Reinventing Software Quality, Agile Days Moscow 2013Reinventing Software Quality, Agile Days Moscow 2013
Reinventing Software Quality, Agile Days Moscow 2013
 
From Grid to Cloud
From Grid to CloudFrom Grid to Cloud
From Grid to Cloud
 
Sabotage product
Sabotage productSabotage product
Sabotage product
 

Similar a Specification by example and agile acceptance testing

Marlabs test digest Sep 2014
Marlabs test digest Sep 2014Marlabs test digest Sep 2014
Marlabs test digest Sep 2014
Marlabs
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
Grig Gheorghiu
 

Similar a Specification by example and agile acceptance testing (20)

Problem Solving Methodology 2011 - 2014
Problem Solving Methodology 2011 - 2014Problem Solving Methodology 2011 - 2014
Problem Solving Methodology 2011 - 2014
 
Testing overview
Testing overviewTesting overview
Testing overview
 
To Automate or Not to Automate
To Automate or Not to Automate To Automate or Not to Automate
To Automate or Not to Automate
 
WEBINAR: To Automate or Not to Automate
WEBINAR: To Automate or Not to AutomateWEBINAR: To Automate or Not to Automate
WEBINAR: To Automate or Not to Automate
 
Marlabs test digest Sep 2014
Marlabs test digest Sep 2014Marlabs test digest Sep 2014
Marlabs test digest Sep 2014
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
 
Quality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpseQuality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpse
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
'BIG Testing' with Hans Buwalda
'BIG Testing' with Hans Buwalda 'BIG Testing' with Hans Buwalda
'BIG Testing' with Hans Buwalda
 
Beginner guide-to-software-testing
Beginner guide-to-software-testingBeginner guide-to-software-testing
Beginner guide-to-software-testing
 
Bridging the communication gap
Bridging the communication gapBridging the communication gap
Bridging the communication gap
 
AI Makes Software Testing Smarter.pdf
AI Makes Software Testing Smarter.pdfAI Makes Software Testing Smarter.pdf
AI Makes Software Testing Smarter.pdf
 
Test automation Anecdotes
Test automation AnecdotesTest automation Anecdotes
Test automation Anecdotes
 
3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper
3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper
3 Approaches for Integrated ALM - A Case for ALM Platform - Whitepaper
 
The productivity of testing in software development life cycle
The productivity of testing in software development life cycleThe productivity of testing in software development life cycle
The productivity of testing in software development life cycle
 

Más de gojkoadzic

Going the extra mile
Going the extra mileGoing the extra mile
Going the extra mile
gojkoadzic
 

Más de gojkoadzic (14)

Descaling Agile (Agile Tour Vienna 2019)
Descaling Agile (Agile Tour Vienna 2019)Descaling Agile (Agile Tour Vienna 2019)
Descaling Agile (Agile Tour Vienna 2019)
 
Maximum Impact, Minimum Effort
Maximum Impact, Minimum EffortMaximum Impact, Minimum Effort
Maximum Impact, Minimum Effort
 
Painless visual testing
Painless visual testingPainless visual testing
Painless visual testing
 
From dedicated to cloud infrastructure
From dedicated to cloud infrastructureFrom dedicated to cloud infrastructure
From dedicated to cloud infrastructure
 
Specification Workshops - The Missing Link
Specification Workshops - The Missing LinkSpecification Workshops - The Missing Link
Specification Workshops - The Missing Link
 
Space Based Programming
Space Based ProgrammingSpace Based Programming
Space Based Programming
 
Getting business people and developers to listen to testers
Getting business people and developers to listen to testersGetting business people and developers to listen to testers
Getting business people and developers to listen to testers
 
Is the cloud a gamble
Is the cloud a gambleIs the cloud a gamble
Is the cloud a gamble
 
Casino In The Clouds
Casino In The CloudsCasino In The Clouds
Casino In The Clouds
 
Going the extra mile
Going the extra mileGoing the extra mile
Going the extra mile
 
As fast as a grid, as safe as a database
As fast as a grid, as safe as a databaseAs fast as a grid, as safe as a database
As fast as a grid, as safe as a database
 
Betting On Data Grids
Betting On Data GridsBetting On Data Grids
Betting On Data Grids
 
Achieving Scale With Messaging And The Cloud
Achieving Scale With Messaging And The CloudAchieving Scale With Messaging And The Cloud
Achieving Scale With Messaging And The Cloud
 
How an Enterprise Data Fabric (EDF) can improve resiliency and performance
How an Enterprise Data Fabric (EDF) can improve resiliency and performanceHow an Enterprise Data Fabric (EDF) can improve resiliency and performance
How an Enterprise Data Fabric (EDF) can improve resiliency and performance
 

Último

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Specification by example and agile acceptance testing