So you’ve probably heard how agile people like to burn documentation. They may declare “WORKING SOFTWARE don’t need no stinkin’ documentation.”
But here’s a secret: They love testing. (Or at least they say they do ;). As a software tester you need to know about story testing (a.k.a acceptance test driven development). When done well, story testing empowers a team to increase collaboration between business, testing, design, and developers. Oh, and it creates valuable, living documentation. We all know communicating what ought be built is one of the hardest parts of making great software. Story tests give you:
* An artifact for collaboration about what should be built
* Feedback on how close to done your software is
* Safety to know when a change breaks existing functionality
In this workshop, you’ll discover:
* What story testing is
* How to write story tests that provide maximum communicative power with minimum brittleness
* How to break user stories and minimum marketable features into story tests
1. A Brief Introduction to
Story Testing
By Zee Spencer
LeanDog
AN AGILE SOFTWARE STUDIO
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
2. What The Heck Is
Story Testing?!
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
3. Story Tests Are
• Formal Scenarios
• That are Collaboratively Generated
• Which Focus On A Specific Aspect Of an
Interaction
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
4. Formal Scenarios
• For a specific interaction
• Formats:
• Given/When/Then
• Permutation Tables
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
5. Given/When/Then
• Scenario: Buy 1 get 1 free
• Given a coupon which offers buy 1 get 1
free for a product
• When I buy 2 of that product
• Then I am only charged for 1 product
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
6. Given/When/Then
• Scenario: Incompatible Coupons
• Given two coupons which can’t be used
together
• When I try to use them both
• Then no discounts are applied to my cart
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
7. Given/When/Then
• Scenario: Using coupons together
• Given two coupons which can be used
together
• When I try to use them both
• Then both discounts are applied to my
cart
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
8. Given/When/Then
• Scenario: Fulfilling a coupon
• Given a coupon which requires you to
buy a drink with your meal
• When I just buy a meal
• Then I cannot use the coupon
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
9. Permutation Tables
Scenario: Applying Percentage Discounts
Background Item Price Coupon Discount Item
Apple $0.50 50%off 50% Any
Pear $0.25 10%off 10% Any
Tests Cart Coupon Price
3xApple, 2xPear 10%off $1.80
5xApple, 10xPear 50%off $2.50
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
10. Collaboratively
Generated
User Activity
Product Team
User Tasks
Whole Team
User Test
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
11. Why?
• A Multitude of Perspectives Drives Out
Uncertainty
• Collaboratively Determining Acceptance
Criteria Shares Knowledge Faster Than a
Handoff
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
12. Specifically General
• Write scenarios for the happy path
• Write scenarios for edge cases and error
conditions
• Write scenarios for performance cases
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
13. Let’s Practice!
• Go to the story map nearest to you
• Start breaking the user tasks closest to the
top down into scenarios
• Hint: There are no bad scenarios! Write
collaboratively!
• In 15 minutes, we’ll reconvene and share
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
14. Better Scenarios
• Keep them to 1 Given, 1 When, and 1 Then
• Write at a user goal abstraction
• Don’t use “click/type/etc” You’re writing for
a person! not a computer!
• Use your personas!
• More Scenarios the merrier! Survival of the
Fittest!
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
15. Let’s Practice! (Again!)
• Go back to the story map nearest to you
• Write some more scenarios with your knew
knowledge and feedback
• WRITE A BUNCH OF EM!
• In 15 minutes, we’ll reconvene.
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
16. Some Final Secrets
• Awesome developers can automate these
story tests so that they slowly turn on as
development continues.
• When written well, scenarios can be used as
living reference documentation for your
application
• Iterate and Adapt!
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11
17. Some Giants Whose
Shoulders I Stand On
Patrick Wilson Welsh Lanette Creamer
Lisa Crispin
Jeff “Chzy” Morgan
Adam Goucher
Robert C Martin
Aslak Hellesøy
Matt Heusser
Mel Bugai
Angela Harms
By @zspencer from @leandog. Download materials at http://spkr8.com/t/8568
Tuesday, October 11, 11