Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Coding Dojo
Golden Master Technique
Approval Tests
­Gilded Rose Kata­
Coding Dojo
Coding Dojo Mindset
●  We are here to learn
●  Safe place outside of work
●  Need to slow down
●  Focus on doing it right
Practice session
●  One laptop with a functional dev. env. is 
connected to a projector
●  Two developers pair program on ...
Golden master technique
1. Find the way the system delivers its 
2. Find a way to capture the output of 
the syste...
Golden master technique
4. Write a system test to check the SUT 
against the previously persisted data
5. Commit the test
Approval Tests
ApprovalTests is an open source 
assertion/verification library to aid 
unit testing
Gilded Rose Kata
● All items have a SellIn value which 
denotes the number of days we have 
to sell the item
● All items h...
Gilded Rose Kata
● Once the sell by date has passed, 
Quality degrades twice as fast
● The Quality of an item is never neg...
Gilded Rose Kata
● The Quality of an item is never more 
than 50
● "Sulfuras", being a legendary item, 
never has to be so...
Gilded Rose Kata
● "Backstage passes", like aged brie, 
increases in Quality as it's SellIn value 
approaches; Quality inc...
Gilded Rose Kata
New requirement:
● “Conjured” items degrade in Quality 
twice as fast as normal items
Practice time!
●  What did you learn today?
●  What happened as expected?
●  What surprised you?
●  What do you plan to use...
Thank you!
Upcoming SlideShare
Loading in …5

Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-


Published on

Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-

  1. 1. Coding Dojo Golden Master Technique Approval Tests ­Gilded Rose Kata­ @AlinPandichi
  2. 2. Coding Dojo Expectations?
  3. 3. Coding Dojo Mindset ●  We are here to learn ●  Safe place outside of work ●  Need to slow down ●  Focus on doing it right ●  Non­competitive, collaborative, fun  environment
  4. 4. Practice session ●  One laptop with a functional dev. env. is  connected to a projector ●  Two developers pair program on the  laptop. The others are watching the code  changes. ●  Every 7 minutes, one developer leaves  the laptop and the next one from the  room takes his place. 
  5. 5. Golden master technique 1. Find the way the system delivers its  outputs 2. Find a way to capture the output of  the system without changing the  production code 3. Generate enough random inputs and  persist the tuple input/output
  6. 6. Golden master technique 4. Write a system test to check the SUT  against the previously persisted data 5. Commit the test 6. Check test behaviour and coverage Outcome: we will have a basic safety net  composed of system tests.
  7. 7. Approval Tests ApprovalTests is an open source  assertion/verification library to aid  unit testing
  8. 8. Gilded Rose Kata ● All items have a SellIn value which  denotes the number of days we have  to sell the item ● All items have a Quality value which  denotes how valuable the item is ● At the end of each day our system  lowers both values for every item
  9. 9. Gilded Rose Kata ● Once the sell by date has passed,  Quality degrades twice as fast ● The Quality of an item is never negative ● "Aged Brie" actually increases in  Quality the older it gets
  10. 10. Gilded Rose Kata ● The Quality of an item is never more  than 50 ● "Sulfuras", being a legendary item,  never has to be sold or decreases in  Quality
  11. 11. Gilded Rose Kata ● "Backstage passes", like aged brie,  increases in Quality as it's SellIn value  approaches; Quality increases by 2  when there are 10 days or less and by  3 when there are 5 days or less but  Quality drops to 0 after the concert
  12. 12. Gilded Rose Kata New requirement: ● “Conjured” items degrade in Quality  twice as fast as normal items
  13. 13. Practice time!
  14. 14. Retrospective ●  What did you learn today? ●  What happened as expected? ●  What surprised you? ●  What do you plan to use at work?
  15. 15. Resources ● e­Refactoring­Kata ● golden­master/ ● ●
  16. 16. Thank you!