Jared Richardson - Agile Testing Strategies


Published on

presented at Southern Fried Agile 2010.

Published in: Technology
1 Comment
1 Like
  • I am still amazed at how some CIOs are fooled by the lure of 'agile'. They have absolutely no clue as to the permanent wounds that will be left in an organization once the genie is unleashed. Fantastic developers become disgruntled coders. Lazy coders become... well actually they stay the same. And mediocre programmers become lazy coders.

    Check out this hilarious video as to why a CIO would even consider agile in the first place.

    John<br /><iframe width="350" height="288" src="http://www.youtube.com/embed/nvks70PD0Rs" frameborder="0" allowfullscreen></iframe>
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Broken Windows
  • Very usable code Explain Enlightenment
  • Doesn’t require Enlightenment Bugs of a Feather Platform services story
  • Adds coverage exactly where it’s needed
  • Mock Client Testing
  • Jared Richardson - Agile Testing Strategies

    1. 1. Agile Testing Strategies By Jared Richardson
    2. 2. Winning Football <ul><li>Team </li></ul><ul><li>Strategy </li></ul>
    3. 3. Successful Agile <ul><li>Team </li></ul><ul><li>Strategy </li></ul><ul><li>Test Strategy </li></ul>
    4. 4. Prerequisites <ul><li>Continuous Integration </li></ul><ul><li>Test Automation </li></ul>
    5. 5. Automated Tests Rust Code Breaks Sync Fails Trust Fails
    6. 6. Two Scenarios <ul><li>Fix 1 to 3 tests </li></ul><ul><li>Fix 800 tests </li></ul>
    7. 8. Your Code
    8. 9. Public API Supporting Classes
    9. 10. Focused Tests
    10. 11. Broad Tests
    11. 12. Unit Tests <ul><li>Exercise one unit </li></ul><ul><li>No external resources </li></ul><ul><li>Fast </li></ul><ul><li>Focused </li></ul><ul><li>Labor intensive </li></ul>
    12. 13. Mock Client Test <ul><li>A system or module </li></ul><ul><li>Integration test </li></ul><ul><li>Broad </li></ul><ul><li>Slow </li></ul>
    13. 14. Tests Require <ul><li>Continuous Integration </li></ul><ul><li>Frequent check-ins </li></ul>
    14. 15. Three Strategies <ul><li>Test Driven Development </li></ul><ul><li>Defect Driven Testing </li></ul><ul><li>Blitzkrieg </li></ul>
    15. 16. TDD <ul><li>Write a test that fails </li></ul><ul><li>Write just enough code </li></ul><ul><li>Repeat </li></ul>
    16. 17. TDD <ul><li>Drives design </li></ul><ul><li>Creates a solid product </li></ul><ul><li>Requires enlightenment </li></ul>
    17. 18. DDT <ul><li>Find a bug </li></ul><ul><li>Add a test </li></ul><ul><li>Jazz it up </li></ul>
    18. 19. DDT <ul><li>Inoculates your code </li></ul><ul><li>Incrementally builds suite </li></ul><ul><li>Retrofit </li></ul>
    19. 20. Blitzkrieg <ul><li>Dash across the product </li></ul><ul><li>Breadth, not depth </li></ul><ul><li>Create templates </li></ul>http://flickr.com/photos/lawrence_evil/145636309/
    20. 21. BK <ul><li>Jump start the effort </li></ul><ul><li>Same page </li></ul><ul><li>Requires enlightenment </li></ul>
    21. 22. Scenario One <ul><li>New project </li></ul><ul><li>Enlightenment </li></ul><ul><li>TDD + BK + DDT </li></ul>
    22. 23. Scenario Two <ul><li>New project </li></ul><ul><li>No enlightenment </li></ul><ul><li>DDT </li></ul>
    23. 24. Scenario Three <ul><li>Existing project </li></ul><ul><li>Enlightenment </li></ul><ul><li>BK + DDT </li></ul>
    24. 25. Scenario Four <ul><li>Existing project </li></ul><ul><li>No enlightenment </li></ul><ul><li>DDT </li></ul>
    25. 26. Scenario Five <ul><li>Existing product </li></ul><ul><li>Some enlightened developers </li></ul><ul><li>DDT </li></ul>
    26. 27. Summary <ul><li>Test categories: Focused & Broad </li></ul><ul><li>Test types: Unit & Mock Client </li></ul><ul><li>Strategies: TDD, DDT, BK </li></ul>
    27. 28. Your Goal <ul><li>Pick a strategy </li></ul><ul><li>Start within two days </li></ul><ul><li>Use it one month </li></ul><ul><li>Re-evaluate </li></ul>
    28. 29. <ul><li>Be the change you want to see in the world. </li></ul><ul><li>-Gandhi </li></ul>
    29. 30. Be the change you want to see in your shop. -Jared