Ubiquitous learning, ubiquitous computing, & lived experience
Ubiquitous Testing
-
Upload
alistair-mckinnell -
Category
Technology
-
view
454 -
download
1
description
Transcript of Ubiquitous Testing
![Page 1: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/1.jpg)
Ubiquitous TestingTesting is too important
to leave to the end
Alistair McKinnellValuableCode@amckinnell
Yehoram ShenarGuidewire@yehoram
![Page 2: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/2.jpg)
![Page 3: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/3.jpg)
How to recognize agile software development?
1. Frequent delivery2. Organize around teams
![Page 4: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/4.jpg)
1. Frequent delivery
“Have you delivered running, tested, and usable code at least twice to your user
community in the last six months?”
Alistair Cockburn
![Page 5: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/5.jpg)
1. Frequent delivery
18 months
9 - 3 months
4 monthscontinuous
delivery
![Page 6: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/6.jpg)
2. Organize around teams
“Team = Software”
Jim and Michele McCarthy
![Page 7: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/7.jpg)
Projects
![Page 8: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/8.jpg)
Teams
![Page 9: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/9.jpg)
Sweet spot for agile software development
1. Frequent delivery2. Organize around teams
![Page 10: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/10.jpg)
Failure Modes
Ubiquitous Testing
TestingFact & Myth?
![Page 11: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/11.jpg)
![Page 12: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/12.jpg)
![Page 13: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/13.jpg)
![Page 14: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/14.jpg)
Testing lags behind
123
4
![Page 15: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/15.jpg)
Up front requirements
123
4
![Page 16: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/16.jpg)
So why is any of this a problem?
![Page 17: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/17.jpg)
![Page 18: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/18.jpg)
Present, appearing, or found everywhere
Ubiquitous adjective
![Page 19: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/19.jpg)
Testing is everyone’s concern
Testing happens all the time
Ubiquitous Testing
![Page 20: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/20.jpg)
Ubiquitous Testing
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 21: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/21.jpg)
Ubiquitous Testing
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 22: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/22.jpg)
Ubiquitous Testing
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 23: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/23.jpg)
Ubiquitous Testing
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 24: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/24.jpg)
Ubiquitous Testing
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 25: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/25.jpg)
Testing happens all the time
Ubiquitous Testing
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
Testing is everyone’s concern
![Page 26: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/26.jpg)
Testing lags behind
![Page 27: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/27.jpg)
Testing lags behind
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 28: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/28.jpg)
Testing lags behind
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 29: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/29.jpg)
Testing lags behind
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 30: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/30.jpg)
Testing lags behind
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 31: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/31.jpg)
Testing lags behind
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 32: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/32.jpg)
Up front requirements
![Page 33: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/33.jpg)
Up front requirements
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 34: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/34.jpg)
Up front requirements
Testability is an essential attribute of system architecture
The whole team plans andestimates the work
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 35: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/35.jpg)
Up front requirements
Testability is an essential attribute of system architecture
Acceptance tests areautomated
The whole team defines thetests before starting to write
the production code
![Page 36: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/36.jpg)
The whole team defines thetests before starting to write
the production code
The whole team defines thespecifications before
starting to write the production code
Up front requirements
Testability is an essential attribute of system architecture
Acceptance tests areautomated
![Page 37: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/37.jpg)
Acceptance tests areautomated
Executable specifications are validated frequently
The whole team defines thespecifications before
starting to write the production code
Up front requirements
Testability is an essential attribute of system architecture
![Page 38: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/38.jpg)
Executable specifications are validated frequently
The whole team defines thespecifications before
starting to write the production code
Testability is an essential attribute of system architecture
Automated validation ofspecifications is an
essential attribute of system architecture
Up front requirements
![Page 39: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/39.jpg)
Automated validation ofspecifications is an
essential attribute of system architecture
Up front requirements
The whole team plans andestimates the work
Executable specifications are validated frequently
The whole team defines thespecifications before
starting to write the production code
![Page 40: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/40.jpg)
Automated validation ofspecifications is an
essential attribute of system architecture
Up front requirements
The whole team plans andestimates the work
Executable specifications are validated frequently
The whole team defines thespecifications before
starting to write the production code
![Page 41: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/41.jpg)
Automated validation ofspecifications is an
essential attribute of system architecture
Up front requirements
The whole team plans andestimates the work
Executable specifications are validated frequently
The whole team defines thespecifications before
starting to write the production code
![Page 42: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/42.jpg)
Automated validation ofspecifications is an
essential attribute of system architecture
Up front requirements
The whole team plans andestimates the work
Executable specifications are validated frequently
The whole team defines thespecifications before
starting to write the production code
![Page 43: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/43.jpg)
Up front requirements
Automated validation ofspecifications is an
essential attribute of system architecture
Executable specifications are validated frequently
The whole team defines thespecifications before
starting to write the production code
The whole team plans andestimates the work
![Page 44: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/44.jpg)
![Page 45: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/45.jpg)
Delivery Safety Zone
18 months4 months
continuousdelivery
![Page 46: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/46.jpg)
Shorter Feedback Cycles
![Page 47: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/47.jpg)
First row is sometimes called Water-Scrum-Fall while the fourth row shows a Wateration
123
4
Testing laggingRequirements Up Front
Phased Delivery
![Page 48: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/48.jpg)
123
4
Testing laggingRequirements Up Front
What would this row look like?
Phased Delivery
5
Ubiquitous Testing
![Page 49: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/49.jpg)
The whole team plans andestimates the work
The whole team defines thespecifications before
starting to write the production code
Whole Team
Run a pilot specification workshop
Create specifications for a single story in a sprint
Create specifications for more of your stories
![Page 50: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/50.jpg)
Automated validation ofspecifications is an
essential attribute of system architecture
Executable specifications are validated frequently
Technical Excellence
Start using TDD to create unit tests
Automate specifications for one story as a pilot
Start automating some of your stories each sprint
![Page 51: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/51.jpg)
Getting Going
start here
![Page 52: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/52.jpg)
Books for Getting Going
![Page 53: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/53.jpg)
Tools for Getting Going
fitnesse.orgjbehave.orgcukes.info
![Page 54: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/54.jpg)
![Page 55: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/55.jpg)
Books
Gojko Adzic, Specification by Example (Manning, 2011)
Alistair Cockburn, Crystal Clear (Addison-Wesley, 2005)
Jim and Michele McCarthy, Software for Your Head (Addison-Wesley, 2001)
![Page 56: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/56.jpg)
Books
Kent Beck, Test-Driven Development: By Example (Addison-Wesley, 2002)
Markus Gärtner, ATDD by Example (Addison-Wesley, 2012)
Ken Pugh, Lean-Agile Acceptance Test-Driven Development (Addison-Wesley, 2010)
![Page 57: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/57.jpg)
Books
Nat Pryce and Steve Freeman, Growing Object-Oriented Software, Guided by Tests (Addison-Wesley, 2009)
Gerard Meszaros, xUnit Test Patterns: Refactoring Test Code (Addison-Wesley, 2007)
Michael Feathers, Working Effectively with Legacy Code (Prentice Hall 2004)
![Page 58: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/58.jpg)
BooksRick Mugridge and Ward Cunningham, Fit for Developing Software (Prentice Hall 2005)
Matt Wynne and Aslak Hellesøy, The Cucumber Book (The Pragmatic Bookshelf, 2012)
![Page 59: Ubiquitous Testing](https://reader033.fdocuments.net/reader033/viewer/2022051313/54829d76b07959330c8b485c/html5/thumbnails/59.jpg)
Photo Credits
http://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/