SlideShare a Scribd company logo
1 of 39
Jon Kruger
   How is QA going to test the feature?
   How do I know when I’m done?
   How can I help QA?
Given I am a logged in user
When I go to the final checkout page
Then I should see the total cost of the order broken
   down by product cost, tax, and shipping charges
And I should see the total cost of the order




The “Gherkin” syntax
Given I am a logged in user
When I go to the final checkout page
Then I should see the total cost of the order broken down
   by product cost, tax, and shipping charges
And I should see the total cost of the order

 Order total = total cost of products on the order + tax +
shipping charges
 Tax:
     Ohio = 7%
     Michigan = 6.5%
     Other states = 0%
   Shipping:
     If total cost of products (before tax >= $25), shipping is free, otherwise
      $5
Given I am a logged in user
When I go to the final checkout page
Then I should see the total cost of the order broken down
   by product cost, tax, and shipping charges
And I should see the total cost of the order
 Order total = total cost of products on the order + tax +
shipping charges
 Tax:
       Based on the shipping address, not the billing address
       Tax charged on the sum of the cost of the products
       Ohio = 7%
       Michigan = 6.5%
       Other states (including DC) = 0%
       No shipping internationally
   Shipping:
     If total cost of products (before tax) >= $25, shipping is free, otherwise
      $5
We’ll test the following scenarios:

   Order with multiple products
   Ship to OH, MI, DC
   Unit tests to verify tax calculation for all 51 states
   Shipping < $25, = $25, > $25
   Verify order totals
Products                     Tax                           Shipping
Order with one product       Ship to Ohio (7% tax)         Cost of product = $24.99
                                                           (shipping is $5)
Order with one product       Ship to Michigan (6.5%        Cost of product = $25
                             tax)                          (shipping is free)
Order with multiple          Ship to DC, billing address   Cost of products = $25.01
products                     is Ohio (0% tax)              (shipping is free)


Verifications
Total cost = sum of cost of products + tax + shipping
Scenario: Order with one product, ship to OH, total
product cost < $25
Given I am a logged in user
And the shopping cart is empty
And I add a product costing $24.99 to the cart
And my shipping state is OH
And my billing state is OH
When I go to the final checkout page
Then the tax amount should be $1.75
And the shipping amount should be $5.00
And the order total should be $31.74
 Break things into small chunks
 Insist on acceptance criteria being complete before
development begins
 “3 Amigos” is not just a meeting
 Remember the end goal – defined acceptance
criteria and shared knowledge
=
    Working Tested Features
               =
In Production (or ready to go to
         production)
   Decreased time to get in a new market
   QA people moving into SA roles
   QA people asking us to automate testing for them
   Automated tests driving quality
   Rolling out ATDD to other teams
 Address shared pain (QA and devs dealing with
incomplete requirements)
 Show that there is a problem (e.g. lots of time spent
fixing bugs)
 Help test when QA is behind
 Insist on acceptance criteria (even if you have to
write it)
 Change your metrics
 Make incremental progress
Slides, code, links:
  http://jonkruger.com/,
  click on Presentations

Email: jon@jonkruger.com
   Twitter: @JonKruger
Blog: http://jonkruger.com

More Related Content

Recently uploaded

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 Scriptwesley chun
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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, Adobeapidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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 StrategiesBoston Institute of Analytics
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Recently uploaded (20)

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
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

A Whole Team Approach To Testing

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. How is QA going to test the feature?  How do I know when I’m done?  How can I help QA?
  • 13.
  • 14.
  • 15. Given I am a logged in user When I go to the final checkout page Then I should see the total cost of the order broken down by product cost, tax, and shipping charges And I should see the total cost of the order The “Gherkin” syntax
  • 16. Given I am a logged in user When I go to the final checkout page Then I should see the total cost of the order broken down by product cost, tax, and shipping charges And I should see the total cost of the order  Order total = total cost of products on the order + tax + shipping charges  Tax:  Ohio = 7%  Michigan = 6.5%  Other states = 0%  Shipping:  If total cost of products (before tax >= $25), shipping is free, otherwise $5
  • 17. Given I am a logged in user When I go to the final checkout page Then I should see the total cost of the order broken down by product cost, tax, and shipping charges And I should see the total cost of the order  Order total = total cost of products on the order + tax + shipping charges  Tax:  Based on the shipping address, not the billing address  Tax charged on the sum of the cost of the products  Ohio = 7%  Michigan = 6.5%  Other states (including DC) = 0%  No shipping internationally  Shipping:  If total cost of products (before tax) >= $25, shipping is free, otherwise $5
  • 18. We’ll test the following scenarios:  Order with multiple products  Ship to OH, MI, DC  Unit tests to verify tax calculation for all 51 states  Shipping < $25, = $25, > $25  Verify order totals
  • 19. Products Tax Shipping Order with one product Ship to Ohio (7% tax) Cost of product = $24.99 (shipping is $5) Order with one product Ship to Michigan (6.5% Cost of product = $25 tax) (shipping is free) Order with multiple Ship to DC, billing address Cost of products = $25.01 products is Ohio (0% tax) (shipping is free) Verifications Total cost = sum of cost of products + tax + shipping
  • 20. Scenario: Order with one product, ship to OH, total product cost < $25 Given I am a logged in user And the shopping cart is empty And I add a product costing $24.99 to the cart And my shipping state is OH And my billing state is OH When I go to the final checkout page Then the tax amount should be $1.75 And the shipping amount should be $5.00 And the order total should be $31.74
  • 21.  Break things into small chunks  Insist on acceptance criteria being complete before development begins  “3 Amigos” is not just a meeting  Remember the end goal – defined acceptance criteria and shared knowledge
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. = Working Tested Features = In Production (or ready to go to production)
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Decreased time to get in a new market  QA people moving into SA roles  QA people asking us to automate testing for them  Automated tests driving quality  Rolling out ATDD to other teams
  • 37.  Address shared pain (QA and devs dealing with incomplete requirements)  Show that there is a problem (e.g. lots of time spent fixing bugs)  Help test when QA is behind  Insist on acceptance criteria (even if you have to write it)  Change your metrics  Make incremental progress
  • 38.
  • 39. Slides, code, links: http://jonkruger.com/, click on Presentations Email: jon@jonkruger.com Twitter: @JonKruger Blog: http://jonkruger.com

Editor's Notes

  1. We need to treat software teams like an actual team! Not siloes of people who act independently of each other without caring about other silos within the group
  2. On most software projects, developers write code and throw it over the wall to QA. Good luck QA team!
  3. QA is confused – they get a feature to test, but this is the first time that they have ever seen the details about the feature. How do we expect them to do a good job of testing it if they have no idea what it’s supposed to do? Not only that, but in some cases the developer finished working on the feature weeks ago and has moved onto something else long ago.
  4. This approach usually ends with lots of bugs.
  5. This approach usually ends with lots of bugs.
  6. - When this happens, we don’t really know what we’re building. BAs write requirements with one thing in mind, developers interpret another way, and QAs then interpret it another way. - This just makes you mad at QA for writing up bugs that aren’t bugs
  7. - What if we tried to communicate better with QA so that we could have less confusion?- What if we tried to get QA to help us not write bugs in the first place?
  8. QA is not an external auditor that is going to come sometime when you’re not expecting it to make sure that you’re following all of the rules.QA teams should provide “independent verification”, but that doesn’t mean that you can’t work together with them to make sure that your code is correct.
  9. QA is not like taking an exam in a college class, where you take your best shot at interpreting requirements and then have the QA person “grade” how well you did.We want to do whatever we can to get it 100% right. Imagine taking a test in your college class, having it be an open book test, and having the professor sitting next to you so that you ask him anytime if you’re doing it right.Or better yet, what if we had the questions for the test ahead of time, we also had the answers for the test, and we had some hints on how to solve some of the complicated questions? (And you have the professor helping you) – remember, all we are doing is translating requirements into code. We aren’t here to interpret it in our own way, we are just translating.
  10. If I had a list of QA’s test cases before I write code, I should be able to write my code to make all of their test cases pass, and then I shouldn’t have any bugs.But wait, some say, won’t you just write your code to make the tests pass? Exactly!!
  11. Notice the pileup of cards in the “Ready for Test” queue, the cards clipped together, and the printouts of Excel bug lists. Mass chaos!!
  12. Get a BA, QA, and a developer in a room and discuss a feature before you start developing it. The outcome of this process (not necessarily the meeting itself) should be agreed upon acceptance criteria that indicate all details about what is going to be built and how QA will verify that it is working correctly.
  13. The “Gherkin” syntax is a common grammar and syntax that we can use so that BAs, QAs, developers, and business people can speak the same language and ensure that everyone agrees on what is going to be built.
  14. This is as far as we go in our initial 3 amigos meeting. At this point we’ll break and someone will write out the gherkin for the acceptance tests and then we’ll review the gherkin once it’s written (no need for us all to sit in a room and watch someone type out gherkin).
  15. Combine all of the scenarios so that we can have fewer automated tests to write.
  16. - This gherkin essentiallybecomes our requirements, our test plan, our method of verifying that our feature will meet the needs of the business, and potentially an automated acceptance test.- The gherkin can be written by anyone on the team. The 3 amigos must all agree on the final gherkin.- Bonus points if you can get people in the business to write requirements for you in this format!
  17. Once your team gets more disciplined, you can start leaving blanks in your acceptance criteria if they’re minor enough that they don’t prevent you from starting development. But initially I wouldn’t recommend that because people are still getting used to the rhythm of the new process“3 Amigos” usually starts with a meeting, but then you can go off an work separately to define all of the details, and then come back together to agree on the final acceptance criteriaDo what makes sense for you! There are more than one way to achieve the end goal, so do what works best for your team.
  18. - If we’re taking a whole-team approach to testing, then we should use our development skills to help automate testing.
  19. Let’s say that we decide as a team that we want our test breakdown to look like this. What is the best way to achieve this? Does it involve developers? (hint: yes)
  20. The testing triangle at many shops would look like this…
  21. … or sometimes it looks like this. Either of these inverted triangles show that the development team is not invested in the testing effort.
  22. Remember, we are working a a TEAM!!!!!!!
  23. What is the implied definition of done on this board? What are we incentivizing the development team to do?“It will look good if I have a lot of red-dotted (dev complete) features on my sheet”“If I don’t have a blue dot (testing complete) on the features on my sheet, it’s QA’s fault”
  24. Stop lying to yourself about your progress!All metrics (whether tracked or implied) should encourage the team to include testing as a part of “done”
  25. - Small testing columns limit the amount of work that can be “in testing”
  26. “The Pod”
  27. Short cubicles, open area for people to meet. System analysts, developers, and QA people all sitting in the same row.Having developers and QA people sit together helps break down the symbolic walls between developers and QA. It’s a lot easier to ask a QA person a question about what you’re developing when you turn around and ask someone a question or roll across the aisle and talk to them.
  28. If developers and QA people report to different managers, it’s tempting to not think of them as being on the same team. Example: QA team is doing all manual testing and can’t keep up with the development team because manual testing takes too long. It might make sense to have a developer help automate some of the testing, but the development manager might not want to offer up one of his people to help the QA team because he might not want to “lose” one of his developers and therefore not get as much “done” (even though after all, it’s not done until it’s tested). The QA manager might not feel that he can ask the development manager for one of his people, so he might go out and hire more manual testers. In this case, managers are only looking out for their own interests, but this is encouraged by the management structure that is in place.
  29. Decreased time to get in a new marketQA people moving into SA rolesQA people asking us to automate testing for themAutomated tests driving qualityRolling out ATDD to other teams