SlideShare une entreprise Scribd logo
1  sur  33
(Track Sponsor) Moving towards zero defects with Specification By Example Steve Rogalsky @srogalsky winnipegagilist.blogspot.com
Choose 2 of these topics to discuss: Talk about your approach to quality and the results of that approach. Talk about your approach to requirements and how you keep those requirements up to date. Talk about any previous experience with automated testing. Talk about your team’s current bug tracking process. Talk about zero defects – Is it possible? Is it responsible? Cost effective?
A story of Zero Defects
A SCIENCE EXPERIMENT
HYPOTHESIS: Specification By Example improves Quality & Speed
DEFINITIONS: Acceptance Testing Is...
What is  Specification By Example? Goal: To  build the right thing  the first time.
What is  Specification By Example? Also known as / similar to:     ATDD – Acceptance Test Driven Development    BDD – Behaviour Driven Development
To do this we: 1. WRITE EXAMPLES  (Acceptance Tests) (up front but not UP FRONT) instead of requirements Given muppet <Animal>  When measuring <Craziness>  Then return <10> Given muppet <Animal>  When <Drumming>  Then return <Phenomenal Skillz> Given muppet <Animal>  When <talking>  Then return <Grunt> SPECIFICATION BY EXAMPLE
To do this we: 2. TEST AS SOON  AS POSSIBLE FIRST in collaboration  with the developers and customers
To do this we: 3. AUTOMATE our examples
AN EXAMPLE: Requirement:  Bring home something small from Europe What I brought: What she wanted:
ANOTHER EXAMPLE User Story:  As an employee I want to receive overtime pay For each week, hourly employees are paid: 2 times their wage for each hour worked on Sundays and holidays a standard wage per hour for the first 40 hours worked 1.5 times their wage for each hour after the first 40 hours
(40*$20) = $800.00 a standard wage per hour for the first 40 hours worked
(40*$20) + (5*$20*1.5) = $950.00 1.5 times their wage for each hour after the first 40 hours
2 times their wage for each hour worked on Sundays and holidays (40*$20) +  (8*$20*1.5) + (8*$20*2)  = $1,360.00
2 times their wage for each hour worked on Sundays and holidays (40*$20) +  (8*$20*1.5) + (8*$20*2          ) = $1,360.00 *1.5
Executable Specifications Credit: This example is from “The Role of Quality Assurance in Lean-Agile” – Allan Shalloway
Defect Tracking
Where should we focus our automated testing? Later… Focus Here First UI Services TDD Classes/ Functions Credit: Testing Triangle first shown by Patrick Wilson-Welsh
What does it take to set this up? It is simpler than this… '''
Steps: Download FitNesse (free) Run FitNesse Add A Reference to your project Create a Fixture per set of examples Write the examples Press a button
How to do it? Tester Customer  and Team Automate Examples Expand into Examples Choose Story High Level Tests Passes All tests = done Review Code / TDD Think about how Developer
THE EXPERIMENT
Airplane Factory! Steps: ,[object Object]
   Open the folded paper up and make two triangle folds for the ‘nose’ of the plane
   Re-fold the plane in half and fold two wings (one on each side…)
   Finally, fold two wing flaps,[object Object]

Contenu connexe

Tendances

Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...TEST Huddle
 
Agile Testing Best Practices
Agile Testing Best PracticesAgile Testing Best Practices
Agile Testing Best PracticesStephen Ritchie
 
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...Ho Chi Minh City Software Testing Club
 
From Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey ShannahanFrom Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey ShannahanQA or the Highway
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersTEST Huddle
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New NormalTechWell
 
'How To Apply Lean Test Management' by Bob van de Burgt
'How To Apply Lean Test Management' by Bob van de Burgt'How To Apply Lean Test Management' by Bob van de Burgt
'How To Apply Lean Test Management' by Bob van de BurgtTEST Huddle
 
Klaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using ScrumKlaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using ScrumTEST Huddle
 
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...TEST Huddle
 
'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam Knight'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam KnightTEST Huddle
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and ToolTEST Huddle
 
141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum RomaPeter Stevens
 
Understanding Kanban
Understanding KanbanUnderstanding Kanban
Understanding Kanbannikos batsios
 
Defect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей ТитаренкоDefect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей ТитаренкоSigma Software
 
Test Estimation
Test Estimation Test Estimation
Test Estimation SQALab
 
Combinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification TreesCombinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification TreesTechWell
 
Dorothy Graham - Can The Past Tell Us The Future
Dorothy Graham -  Can The Past Tell Us The FutureDorothy Graham -  Can The Past Tell Us The Future
Dorothy Graham - Can The Past Tell Us The FutureTEST Huddle
 

Tendances (20)

Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
 
Agile Testing Best Practices
Agile Testing Best PracticesAgile Testing Best Practices
Agile Testing Best Practices
 
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
 
From Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey ShannahanFrom Gatekeeper to Partner by Kelsey Shannahan
From Gatekeeper to Partner by Kelsey Shannahan
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
 
'How To Apply Lean Test Management' by Bob van de Burgt
'How To Apply Lean Test Management' by Bob van de Burgt'How To Apply Lean Test Management' by Bob van de Burgt
'How To Apply Lean Test Management' by Bob van de Burgt
 
Klaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using ScrumKlaus Olsen - Agile Test Management Using Scrum
Klaus Olsen - Agile Test Management Using Scrum
 
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
 
'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam Knight'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam Knight
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
AgileTesting_Ver1.0
AgileTesting_Ver1.0AgileTesting_Ver1.0
AgileTesting_Ver1.0
 
Understanding Scrum
Understanding ScrumUnderstanding Scrum
Understanding Scrum
 
141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma
 
Understanding Kanban
Understanding KanbanUnderstanding Kanban
Understanding Kanban
 
Defect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей ТитаренкоDefect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей Титаренко
 
Test Estimation
Test Estimation Test Estimation
Test Estimation
 
Combinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification TreesCombinatorial Black-Box Testing with Classification Trees
Combinatorial Black-Box Testing with Classification Trees
 
Dorothy Graham - Can The Past Tell Us The Future
Dorothy Graham -  Can The Past Tell Us The FutureDorothy Graham -  Can The Past Tell Us The Future
Dorothy Graham - Can The Past Tell Us The Future
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 

Similaire à Moving Towards Zero Defects with Specification by Example

Test Improvement - Any place, anytime, any where
Test Improvement - Any place, anytime, any whereTest Improvement - Any place, anytime, any where
Test Improvement - Any place, anytime, any whereRuud Teunissen
 
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011TEST Huddle
 
Lean Software Development Is for Everyone
Lean Software Development Is for EveryoneLean Software Development Is for Everyone
Lean Software Development Is for EveryoneTechWell
 
Test analysis & design good practices@TDT Iasi 17Oct2013
Test analysis & design   good practices@TDT Iasi 17Oct2013Test analysis & design   good practices@TDT Iasi 17Oct2013
Test analysis & design good practices@TDT Iasi 17Oct2013Tabăra de Testare
 
Continuous Context Driven Test Improvement
Continuous Context Driven Test ImprovementContinuous Context Driven Test Improvement
Continuous Context Driven Test ImprovementTechWell
 
Software Quality Assurance (QA) Testing Interview Questions & Answers
Software Quality Assurance (QA) Testing Interview Questions & AnswersSoftware Quality Assurance (QA) Testing Interview Questions & Answers
Software Quality Assurance (QA) Testing Interview Questions & AnswersJanBask Training
 
Start with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case StudyStart with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case StudyNick Zdunić
 
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOpsKMS Technology
 
IIBA and Solvera May Event - Testing w Agile slides
IIBA and Solvera May Event - Testing w Agile slidesIIBA and Solvera May Event - Testing w Agile slides
IIBA and Solvera May Event - Testing w Agile slidesSaskatchewanIIBA
 
Iakiv Kramarenko: “Quality Driven Development”
Iakiv Kramarenko: “Quality Driven Development” Iakiv Kramarenko: “Quality Driven Development”
Iakiv Kramarenko: “Quality Driven Development” Dakiry
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support developmentChema del Barco
 
Test & behavior driven development
Test & behavior driven developmentTest & behavior driven development
Test & behavior driven developmentTristan Libersat
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightInflectra
 
Test Requirements
Test RequirementsTest Requirements
Test Requirementstelab
 
How agile performance testing helps automate and scale test processes
How agile performance testing helps automate and scale test processesHow agile performance testing helps automate and scale test processes
How agile performance testing helps automate and scale test processesApica
 
Gabriele Lana: Testing Web Applications
Gabriele Lana: Testing Web ApplicationsGabriele Lana: Testing Web Applications
Gabriele Lana: Testing Web ApplicationsFrancesco Fullone
 

Similaire à Moving Towards Zero Defects with Specification by Example (20)

Agile QA 2.0
Agile QA 2.0Agile QA 2.0
Agile QA 2.0
 
Test Improvement - Any place, anytime, any where
Test Improvement - Any place, anytime, any whereTest Improvement - Any place, anytime, any where
Test Improvement - Any place, anytime, any where
 
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
James Whittaker - Pursuing Quality-You Won't Get There - EuroSTAR 2011
 
Lean Software Development Is for Everyone
Lean Software Development Is for EveryoneLean Software Development Is for Everyone
Lean Software Development Is for Everyone
 
Test analysis & design good practices@TDT Iasi 17Oct2013
Test analysis & design   good practices@TDT Iasi 17Oct2013Test analysis & design   good practices@TDT Iasi 17Oct2013
Test analysis & design good practices@TDT Iasi 17Oct2013
 
Continuous Context Driven Test Improvement
Continuous Context Driven Test ImprovementContinuous Context Driven Test Improvement
Continuous Context Driven Test Improvement
 
ProductSavvy - Scrum and QA
ProductSavvy - Scrum and QAProductSavvy - Scrum and QA
ProductSavvy - Scrum and QA
 
Software Quality Assurance (QA) Testing Interview Questions & Answers
Software Quality Assurance (QA) Testing Interview Questions & AnswersSoftware Quality Assurance (QA) Testing Interview Questions & Answers
Software Quality Assurance (QA) Testing Interview Questions & Answers
 
Start with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case StudyStart with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case Study
 
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
 
IIBA and Solvera May Event - Testing w Agile slides
IIBA and Solvera May Event - Testing w Agile slidesIIBA and Solvera May Event - Testing w Agile slides
IIBA and Solvera May Event - Testing w Agile slides
 
Iakiv Kramarenko: “Quality Driven Development”
Iakiv Kramarenko: “Quality Driven Development” Iakiv Kramarenko: “Quality Driven Development”
Iakiv Kramarenko: “Quality Driven Development”
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
 
Test & behavior driven development
Test & behavior driven developmentTest & behavior driven development
Test & behavior driven development
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
Testing smells
Testing smellsTesting smells
Testing smells
 
Test Requirements
Test RequirementsTest Requirements
Test Requirements
 
No Time for Testing: Strategies to Keep Testing Inside Your Sprints
No Time for Testing: Strategies to Keep Testing Inside Your SprintsNo Time for Testing: Strategies to Keep Testing Inside Your Sprints
No Time for Testing: Strategies to Keep Testing Inside Your Sprints
 
How agile performance testing helps automate and scale test processes
How agile performance testing helps automate and scale test processesHow agile performance testing helps automate and scale test processes
How agile performance testing helps automate and scale test processes
 
Gabriele Lana: Testing Web Applications
Gabriele Lana: Testing Web ApplicationsGabriele Lana: Testing Web Applications
Gabriele Lana: Testing Web Applications
 

Plus de Steve Rogalsky

Story Maps: Episode IV - A New Slice
Story Maps: Episode IV - A New SliceStory Maps: Episode IV - A New Slice
Story Maps: Episode IV - A New SliceSteve Rogalsky
 
Retrospectives: from Whatever to Wow
Retrospectives: from Whatever to WowRetrospectives: from Whatever to Wow
Retrospectives: from Whatever to WowSteve Rogalsky
 
Agile in Winnipeg:.a retrospective
Agile in Winnipeg:.a retrospectiveAgile in Winnipeg:.a retrospective
Agile in Winnipeg:.a retrospectiveSteve Rogalsky
 
Your Design is only Mostly Dead
Your Design is only Mostly DeadYour Design is only Mostly Dead
Your Design is only Mostly DeadSteve Rogalsky
 
Trends in Agile Software
Trends in Agile SoftwareTrends in Agile Software
Trends in Agile SoftwareSteve Rogalsky
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in PracticeSteve Rogalsky
 
A Guide to Lean Coffee
A Guide to Lean CoffeeA Guide to Lean Coffee
A Guide to Lean CoffeeSteve Rogalsky
 
Silent Brainstorming: A Guide To Using Post-its
Silent Brainstorming: A Guide To Using Post-itsSilent Brainstorming: A Guide To Using Post-its
Silent Brainstorming: A Guide To Using Post-itsSteve Rogalsky
 
Agile101 Small Batches
Agile101 Small BatchesAgile101 Small Batches
Agile101 Small BatchesSteve Rogalsky
 
Multitaskers Anonymous
Multitaskers AnonymousMultitaskers Anonymous
Multitaskers AnonymousSteve Rogalsky
 
Winnipeg Agile Users Group March 10 2011
Winnipeg Agile Users Group March 10 2011Winnipeg Agile Users Group March 10 2011
Winnipeg Agile Users Group March 10 2011Steve Rogalsky
 
Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...
Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...
Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...Steve Rogalsky
 

Plus de Steve Rogalsky (18)

Story Maps: Episode IV - A New Slice
Story Maps: Episode IV - A New SliceStory Maps: Episode IV - A New Slice
Story Maps: Episode IV - A New Slice
 
Retrospectives: from Whatever to Wow
Retrospectives: from Whatever to WowRetrospectives: from Whatever to Wow
Retrospectives: from Whatever to Wow
 
Agile in Winnipeg:.a retrospective
Agile in Winnipeg:.a retrospectiveAgile in Winnipeg:.a retrospective
Agile in Winnipeg:.a retrospective
 
Your Design is only Mostly Dead
Your Design is only Mostly DeadYour Design is only Mostly Dead
Your Design is only Mostly Dead
 
Trends in Agile Software
Trends in Agile SoftwareTrends in Agile Software
Trends in Agile Software
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in Practice
 
A Guide to Lean Coffee
A Guide to Lean CoffeeA Guide to Lean Coffee
A Guide to Lean Coffee
 
Silent Brainstorming: A Guide To Using Post-its
Silent Brainstorming: A Guide To Using Post-itsSilent Brainstorming: A Guide To Using Post-its
Silent Brainstorming: A Guide To Using Post-its
 
The Silence of Agile
The Silence of AgileThe Silence of Agile
The Silence of Agile
 
Agile101 Small Batches
Agile101 Small BatchesAgile101 Small Batches
Agile101 Small Batches
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Multitaskers Anonymous
Multitaskers AnonymousMultitaskers Anonymous
Multitaskers Anonymous
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Winnipeg Agile Users Group March 10 2011
Winnipeg Agile Users Group March 10 2011Winnipeg Agile Users Group March 10 2011
Winnipeg Agile Users Group March 10 2011
 
Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...
Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...
Using Value Stream Mapping to make the case for Acceptance Test Driven Develo...
 

Dernier

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 2024The Digital Insurer
 
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 CVKhem
 
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 organizationRadu Cotescu
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Dernier (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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
 
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
 
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...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Moving Towards Zero Defects with Specification by Example

  • 1. (Track Sponsor) Moving towards zero defects with Specification By Example Steve Rogalsky @srogalsky winnipegagilist.blogspot.com
  • 2. Choose 2 of these topics to discuss: Talk about your approach to quality and the results of that approach. Talk about your approach to requirements and how you keep those requirements up to date. Talk about any previous experience with automated testing. Talk about your team’s current bug tracking process. Talk about zero defects – Is it possible? Is it responsible? Cost effective?
  • 3.
  • 4.
  • 5. A story of Zero Defects
  • 7. HYPOTHESIS: Specification By Example improves Quality & Speed
  • 9. What is Specification By Example? Goal: To build the right thing the first time.
  • 10. What is Specification By Example? Also known as / similar to: ATDD – Acceptance Test Driven Development BDD – Behaviour Driven Development
  • 11. To do this we: 1. WRITE EXAMPLES (Acceptance Tests) (up front but not UP FRONT) instead of requirements Given muppet <Animal> When measuring <Craziness> Then return <10> Given muppet <Animal> When <Drumming> Then return <Phenomenal Skillz> Given muppet <Animal> When <talking> Then return <Grunt> SPECIFICATION BY EXAMPLE
  • 12. To do this we: 2. TEST AS SOON AS POSSIBLE FIRST in collaboration with the developers and customers
  • 13.
  • 14. To do this we: 3. AUTOMATE our examples
  • 15. AN EXAMPLE: Requirement: Bring home something small from Europe What I brought: What she wanted:
  • 16. ANOTHER EXAMPLE User Story: As an employee I want to receive overtime pay For each week, hourly employees are paid: 2 times their wage for each hour worked on Sundays and holidays a standard wage per hour for the first 40 hours worked 1.5 times their wage for each hour after the first 40 hours
  • 17. (40*$20) = $800.00 a standard wage per hour for the first 40 hours worked
  • 18. (40*$20) + (5*$20*1.5) = $950.00 1.5 times their wage for each hour after the first 40 hours
  • 19. 2 times their wage for each hour worked on Sundays and holidays (40*$20) + (8*$20*1.5) + (8*$20*2) = $1,360.00
  • 20. 2 times their wage for each hour worked on Sundays and holidays (40*$20) + (8*$20*1.5) + (8*$20*2 ) = $1,360.00 *1.5
  • 21. Executable Specifications Credit: This example is from “The Role of Quality Assurance in Lean-Agile” – Allan Shalloway
  • 23.
  • 24.
  • 25. Where should we focus our automated testing? Later… Focus Here First UI Services TDD Classes/ Functions Credit: Testing Triangle first shown by Patrick Wilson-Welsh
  • 26. What does it take to set this up? It is simpler than this… '''
  • 27. Steps: Download FitNesse (free) Run FitNesse Add A Reference to your project Create a Fixture per set of examples Write the examples Press a button
  • 28. How to do it? Tester Customer and Team Automate Examples Expand into Examples Choose Story High Level Tests Passes All tests = done Review Code / TDD Think about how Developer
  • 30.
  • 31. Open the folded paper up and make two triangle folds for the ‘nose’ of the plane
  • 32. Re-fold the plane in half and fold two wings (one on each side…)
  • 33.
  • 34. TO SUMMARIZE Specification By Example: Communicate! Write Executable Examples instead of requirements The Tooling is simple to use and free Zero Defects isn’t impossible – build it right the first time Trash your Defect Tracker
  • 35. THANKS! Questions? Links Contact Info http://gojko.net/fitnesse/ steve.rogalsky@protegra.com http://fitnesse.org/ @srogalsky winnipegagilist.blogspot.com http://seleniumhq.org/ http://www.slideshare.net/SteveRogalsky/moving-towards-zero-defects-with-specification-by-example

Notes de l'éditeur

  1. SETUPFitNesse example- Test that these work and are prepped and then close them down: - Run C:\\_Projects\\SampleProjects\\SpecByExample\\server.FitNesse.bat - Open http://localhost:8088 in FireFox - Confirm tests are still all passing. - In FitNesse, remove page SpeakerInformation- Open C# project C:\\_Projects\\SampleProjects\\SpecByExample\\PrairieDevCon\\PrairieDevCon.sln - In VS, open &quot;CalculateWeeklyPay&quot; - In VS, remove LookupSpeakerInformation.cs- Setup 2 tables at the front for the experiment- Open C:\\_Projects\\FitNesse\\ folderOpen script: C:\\Users\\srogalsky\\Dropbox\\Presentations\\PrDC11\\SpecificationByExample\\ScriptForDemo.docx2. ExperimentPut out paperSetup 2 tablesSetup dividersPut examples in the dividersOpen spreadsheet: C:\\Users\\srogalsky\\Dropbox\\Presentations\\PrDC11\\SpecificationByExample\\AirplaneMfgResults.xlsPut instructions on both side – for QA, for team
  2. Table Talk: Learners form small collaborative groups and discuss what they already know about the topic and any questions they have that are related to the topic. (Training from the back of the room)Ask them to:Form groups of 3 to 5Assign a note takerChoose 2 topicsReport a one or two sentence summary of each topicWrite the results on big post-its
  3. Table Talk: Learners form small collaborative groups and discuss what they already know about the topic and any questions they have that are related to the topic. (Training from the back of the room)Ask them to:Form groups of 3 to 5Assign a note takerChoose 2 topicsReport a one or two sentence summary of each topicWrite the results on big post-its
  4. Table Talk: Learners form small collaborative groups and discuss what they already know about the topic and any questions they have that are related to the topic. (Training from the back of the room)Ask them to:Form groups of 3 to 5Assign a note takerChoose 2 topicsReport a one or two sentence summary of each topicWrite the results on big post-its
  5. Introduce myself here first.Tell my story here of the first project using this. 6 defects in 12 person months of work. 3 mediums, 3 lows. Arguably no defects since the 6 found were not identified as tests.Points:Cost?Is there a cost to TDD?What is the cost of a defect? (have you seen that chart?)The later you find it, the more screwed you are.Defects that matter“Like” button vs FB securityBuild it right the first timeBuild each piece little by little. Perfect on top of perfect. Simple…Normalization of devianceBoiling the frogIf you are using iterations, you need to regression test each iterationHow can you afford not to do some automated examples? Do you want to regression test your whole app manually at the end of each iteration? After each story is completed?Click a buttonZero defects is going be to required on more and more projects.Google carSmart cars that self regulate speed in car pool lanes once you enter themLots of Health initiativesWe’re moving to be ‘more’ dependent on perfect apps, not lessThe difference between what you think you should do and what you actually do is the degree to which you suckCory Haines
  6. HypothesisDefinitionsProof
  7. The stuff that QA and the customer does before saying it is done.Functional TestingAcceptance TestingNot Unit TestingWe’re not talking about TDD (Test Driven Development) today. Although related, TDD applies more to design, flexible code and unit testing. We’re talking about testing at a higher level – customer, QA, etc.
  8. Happy customersRemove frustrations
  9. Happy customersRemove frustrations
  10. Makes requirements less ambiguous – an example laterGWT example shown, but lots of ways to do this – start with your existing test case formats and see what works for you.If you can’t do the rest of ATDD, do this! A great place to start.
  11. Catches misunderstandings early so they aren’t duplicated throughout other user storiesImproves communication between QA and developers and customers (whole team!)Reduces the time spent writing, reading, understanding, arguing items in a defect trackerWhen we test, we execute the examples together that we wrote earlier
  12. This is a silly as a high school end of year exam that is worth 60%. If we fail, it is as much the teacher’s fault as ours.
  13. To prove early that the system works as expected and eliminate the waste of reworkRequires and investment time up front required to write the tests – pay off is laterRegression testing effort disappears (click a button)
  14. To prove early that the system works as expected and eliminate the waste of reworkRequires an investment of time up front to write the tests – pay off is laterRegression testing effort disappears (click a button)
  15. example courtesy Allan Shalloway - The Role of Quality Assurance in Lean-Agile
  16. An example using FitNesseWe run this test against the code and see it passes!
  17. Now with some overtime
  18. Now with overtime and holiday hours
  19. Now with the corrected codeThis is the beginning of the “aha” moment
  20. Putting it all together – this is what your executable requirements document now looks like.Complete traceabilityPush button testing and regression now existsCan replace all business logic in your requirements documentCan replace much of your bug tracking effortThis should be the ‘aha’ moment.
  21. Show Quick example using C#, FitNesse, PrDC APIStart the fitnesse batch fileShow the added referenceShow the fixture code for “CalculateWeeklyPay”Open FitNesse (http://localhost:8088/)Show the markup language for “WeeklyPayWithOvertime”Add an example for 40 hours and 10/hour = 500Press the buttonFix the errorShow HistoryShow the suiteRun the suiteShow the defect we found and fixed in the example earlier.Comment: This was my own biggest hurdle – starting…
  22. Janet Gregory’s slide modified. Talk about the process. Talk about not Up Front, but just in time – one story at a time.Follow this little roll play:Script:=========Choose story (create a new FitNesse page and put this in there): Create “SpeakerInformation” pageAs an attendee I want to know some information about a speaker so that I can make decisions on which sessions to attend2. High Level Tests (add to FitNesse page):a short bio* name and contact info* social media information3. Expand into examples:&apos;&apos;&apos;User Story: Speaker Information&apos;&apos;&apos;&apos;&apos;As an attendee I want to know some information about a speaker so that I can make decisions on which sessions to attend&apos;&apos;* a short bio* name and contact info* social media information&apos;&apos;&apos;Scenario: Show the contact information for a speaker&apos;&apos;&apos;!-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-!Given a &apos;&apos;&apos;&lt;Speaker Name&gt;&apos;&apos;&apos;!-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-!When I look up their information on the website!-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-!Then it should return the &apos;&apos;&apos;&lt;Email&gt;&apos;&apos;&apos;!-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-!And &apos;&apos;&apos;&lt;Twitter Id&gt;&apos;&apos;&apos;!-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-!And &apos;&apos;&apos;&lt;Blog&gt;&apos;&apos;&apos;!-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-!And &apos;&apos;&apos;&lt;Company Name&gt;&apos;&apos;&apos;!-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-!And &apos;&apos;&apos;&lt;Picture&gt;&apos;&apos;&apos;&apos;&apos;&apos;Examples:&apos;&apos;&apos;!|Lookup Speaker Information ||Speaker Name |Email? |Twitter Id?|Blog? |Company Name?|Picture? ||Steve Rogalsky|steve.rogalsky@protegra.com|@srogalsky |winnipegagilist.blogspot.com/|Protegra |steverogalsky.jpg|4. Review together5. Automate examplesusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace PrairieDevCon.FitnesseTests{ public class LookupSpeakerInformation : fit.ColumnFixture { public string SpeakerName; public string TwitterId; public string Blog; public string CompanyName; public string Picture; public string Email() {varspeakerInformation = PrairieDevCon.Services.SpeakerService.GetSpeakerByName(SpeakerName);TwitterId = speakerInformation.Twitter; Blog = speakerInformation.Blog;CompanyName = speakerInformation.Company; Picture = speakerInformation.Picture; return speakerInformation.Email; } }}6. Run the tests until done!
  23. At this point we gather our volunteers and explain the experiment.Explain:First, the teams may not talk from this point forwardQAPreferably acted out by a non-QA person(ask who are the testers, and pick a non-tester)Will accept/reject the end productHas a little leeway in accepting – see the ‘test cases’ provided for you. As long as it is pretty close, you can accept it. I am your customer, so I can help you with that.If it isn’t right, please write up the defect on your paper using words or pictures and hand the defect log and the product back to the develop team to fixAsk the QA to person to write good defects – as a dev he/she will know how frustrating an unclear defect isManufacturing team = DevelopersThere will be a few steps to build the end productThese steps are similar to the steps that you create to build software – the classes, database tables, UI, layers, etc. QA won’t test the individual classes and steps, but they will perform functional or acceptance testing on the final productYou can pair program if you like, it is up to you to determine the best way to accomplish the task – but again, NO TALKINGTeam 1Will not use ATDD – they will test at the end and to simulate this they will not see the ‘test cases’ that QA ownsTeam 2Will use ATDD – they will create their test case at the beginning to simulate the effort of automating the tests up front and they will have access to the ‘test cases’ throughout developmentBoth teamsReminder – no talkingReminder – no fighting or blaming – everyone is doing the best they can with what they have been givenDon’t copy the other team’s product, the requirements are similar, but the test cases may not be the sameTry to be as successful as possible without cheatingIf you have a defect, don’t throw out the product and start fresh, but fix the defective productWe’ll be timing both teams and then examine the results through a value stream before we debrief with questions
  24. Once the exercise is done:First: Fill out the spreadsheetSecond: Ask the observers to reportThird – ask questions:How did it go?How did you feel as you were developing (calm on one side, not on the other)What went well?What didn’t go well?Refer back to the original questions asked and their answers – how does this fit?Fourth: my observationsHow it related to agile: removing barriers; build the right thing the first time; fail fast not slow