Your SlideShare is downloading. ×
  • Like
Ubiquitous Testing
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Ubiquitous Testing

  • 255 views
Published

We believe that software development is most effective when testing is ubiquitous. By ubiquitous we mean that: (1) testing is everyone's responsibility; (2) testing activities happen continuously; and …

We believe that software development is most effective when testing is ubiquitous. By ubiquitous we mean that: (1) testing is everyone's responsibility; (2) testing activities happen continuously; and (3) testing happens in all software development cycles: product, release, iteration, engineering task, and development episode.

Watch on InfoQ: http://www.infoq.com/presentations/Ubiquitous-Testing

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
255
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. UbiquitousTestingTesting is too importantto leave to the endAlistair McKinnellValuableCode@amckinnellYehoram ShenarGuidewire@yehoram
  • 2. How to recognize agilesoftware development?1. Frequent delivery2. Organize around teams
  • 3. 1. Frequent delivery“Have you delivered running, tested, andusable code at least twice to your usercommunity in the last six months?”Alistair Cockburn
  • 4. 1. Frequent delivery18 months9 - 3 months4 monthscontinuousdelivery
  • 5. 2. Organize around teams“Team = Software”Jim and Michele McCarthy
  • 6. Projects
  • 7. Teams
  • 8. Sweet spot for agilesoftware development1. Frequent delivery2. Organize around teams
  • 9. Failure ModesUbiquitousTestingTestingFact & Myth?
  • 10. Testing lags behind1234
  • 11. Up front requirements1234
  • 12. So why is any of this a problem?
  • 13. Present, appearing, or found everywhereUbiquitousadjective
  • 14. Testing is everyone’s concernTesting happens all the timeUbiquitousTesting
  • 15. UbiquitousTestingTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 16. UbiquitousTestingTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 17. UbiquitousTestingTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 18. UbiquitousTestingTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 19. UbiquitousTestingTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 20. Testing happens all the timeUbiquitousTestingTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production codeTesting is everyone’s concern
  • 21. Testing lags behind
  • 22. Testing lags behindTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 23. Testing lags behindTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 24. Testing lags behindTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 25. Testing lags behindTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 26. Testing lags behindTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 27. Up front requirements
  • 28. Up front requirementsTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 29. Up front requirementsTestability is anessential attribute ofsystem architectureThe whole team plans andestimates the workAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 30. Up front requirementsTestability is anessential attribute ofsystem architectureAcceptance tests areautomatedThe whole team defines thetests before starting to writethe production code
  • 31. The whole team defines thetests before starting to writethe production codeThe whole team defines thespecifications beforestarting to writethe production codeUp front requirementsTestability is anessential attribute ofsystem architectureAcceptance tests areautomated
  • 32. Acceptance tests areautomatedExecutable specificationsare validated frequentlyThe whole team defines thespecifications beforestarting to writethe production codeUp front requirementsTestability is anessential attribute ofsystem architecture
  • 33. Executable specificationsare validated frequentlyThe whole team defines thespecifications beforestarting to writethe production codeTestability is anessential attribute ofsystem architectureAutomated validation ofspecifications is anessential attribute ofsystem architectureUp front requirements
  • 34. Automated validation ofspecifications is anessential attribute ofsystem architectureUp front requirementsThe whole team plans andestimates the workExecutable specificationsare validated frequentlyThe whole team defines thespecifications beforestarting to writethe production code
  • 35. Automated validation ofspecifications is anessential attribute ofsystem architectureUp front requirementsThe whole team plans andestimates the workExecutable specificationsare validated frequentlyThe whole team defines thespecifications beforestarting to writethe production code
  • 36. Automated validation ofspecifications is anessential attribute ofsystem architectureUp front requirementsThe whole team plans andestimates the workExecutable specificationsare validated frequentlyThe whole team defines thespecifications beforestarting to writethe production code
  • 37. Automated validation ofspecifications is anessential attribute ofsystem architectureUp front requirementsThe whole team plans andestimates the workExecutable specificationsare validated frequentlyThe whole team defines thespecifications beforestarting to writethe production code
  • 38. Up front requirementsAutomated validation ofspecifications is anessential attribute ofsystem architectureExecutable specificationsare validated frequentlyThe whole team defines thespecifications beforestarting to writethe production codeThe whole team plans andestimates the work
  • 39. Delivery Safety Zone18 months4 monthscontinuousdelivery
  • 40. Shorter Feedback Cycles
  • 41. First row is sometimes called Water-Scrum-Fallwhile the fourth row shows a Wateration1234Testing laggingRequirements Up FrontPhased Delivery
  • 42. 1234Testing laggingRequirements Up FrontWhat would this row look like?Phased Delivery5Ubiquitous Testing
  • 43. The whole team plans andestimates the workThe whole team defines thespecifications beforestarting to writethe production codeWholeTeamRun a pilot specification workshopCreate specifications for a single story in a sprintCreate specifications for more of your stories
  • 44. Automated validation ofspecifications is anessential attribute ofsystem architectureExecutable specificationsare validated frequentlyTechnical ExcellenceStart usingTDD to create unit testsAutomate specifications for one story as a pilotStart automating some of your stories each sprint
  • 45. Getting Goingstart here
  • 46. Books for Getting Going
  • 47. Tools for Getting Goingfitnesse.orgjbehave.orgcukes.info
  • 48. BooksGojko Adzic, Specification by Example (Manning, 2011)Alistair Cockburn, Crystal Clear (Addison-Wesley, 2005)Jim and Michele McCarthy, Software forYour Head(Addison-Wesley, 2001)
  • 49. BooksKent Beck, Test-Driven Development: By Example(Addison-Wesley, 2002)Markus Gärtner, ATDD by Example(Addison-Wesley, 2012)Ken Pugh, Lean-Agile Acceptance Test-DrivenDevelopment (Addison-Wesley, 2010)
  • 50. BooksNat Pryce and Steve Freeman, Growing Object-OrientedSoftware, Guided by Tests (Addison-Wesley, 2009)Gerard Meszaros, xUnit Test Patterns: Refactoring TestCode (Addison-Wesley, 2007)Michael Feathers, Working Effectively with Legacy Code(Prentice Hall 2004)
  • 51. BooksRick Mugridge and Ward Cunningham, Fit forDeveloping Software (Prentice Hall 2005)Matt Wynne and Aslak Hellesøy, The Cucumber Book(The Pragmatic Bookshelf, 2012)
  • 52. Photo Creditshttp://www.flickr.com/photos/arlette/3260468/http://www.flickr.com/photos/14869313@N00/301057804/http://www.flickr.com/photos/16634670@N00/3214815323/http://www.flickr.com/photos/43291304@N08/4103102579/http://www.flickr.com/photos/potentialpast/7222455588/http://www.flickr.com/photos/leeadlaf/3571935758/