Agile Days China  Evolution of Agile Testing (A tester's view) Erik Petersen [email_address] Twitter: erik_petersen Tech t...
Familiar faces?
Methodologists meet in the snow <ul><li>Mid February 2001, 17 people met in the Utah mountains over a weekend </li></ul><u...
Light methods ” I don't mind the methodology being called light in weight, but I'm not sure I want to be referred to as a ...
Non-light manifesto <ul><li>Individuals & interactions  over  processes & tools </li></ul><ul><li>Working software  over  ...
Where's testing? <ul><li>Neither the agile manifesto or supporting principles mention testing, focussing on ”sponsor, deve...
Agile testing V1.0 <ul><li>Strong Extreme Programming slant </li></ul><ul><li>Developers do all tests, using TDD for desig...
Agile dev view
Agile tester view
A week of Ruby dev, test & talk <ul><li>Mid June 2003, a group of agile devs and exploratory testers spend a week together...
Agile Testing manifesto? ” It’s very important to understand that we in this Agile Fusion conference did not come to agree...
“ Important differences”?
Agile testing V2.0 <ul><li>Strong XP Programming slant weakening </li></ul><ul><li>Regression testing done by developers, ...
Tools of the trade
Enter the test toolsmith <ul><li>Developer explicitly supporting less technical testers, or more busy devs </li></ul><ul><...
Test tools rule <ul><li>Rapid expansion of free functional tools </li></ul><ul><ul><li>Framework for Integrated Test (FIT)...
What does this mean?
Dependency Injection 1 <ul><li>What does this mean? </li></ul><ul><li>Imagine you run a window washers collective. Each wo...
Dependency Injection 2 <ul><li>Dependency injection provides complicated material to a worker function to help it do its j...
Agile testing V3.0 Flavors <ul><li>Regression testing by developers, using TDD & automated unit tests, with dependency inj...
ET in Agile Development <ul><li>Jim Shore & Chromatic write ”Art of Agile Development”, 2007 with community review of each...
Different stylistic views <ul><li>1) Does a agile team use a issue tracker? Against : don't document just discuss & fix Fo...
Agile testing for testers & team <ul><li>Agile Testing stage at Agile 2009 conference </li></ul><ul><li>Exploratory testin...
Joining the cause
The 2nd wave of test tools <ul><li>Cucumber 2009, english-like fixture based tool dominating functional test automation, l...
Key (system) testing skills <ul><li>Test techniques: e.g. boundary analysis, equivalence partitioning, test intuition </li...
Key skill: Exploratory testing  <ul><li>ET Framework: Three main parts </li></ul><ul><ul><li>Investigation </li></ul></ul>...
Agile testing today <ul><li>Still no agile testing manifesto, just many flavors (like with agile) </li></ul><ul><li>New to...
Together (mostly)
Evolution of Agile Testing (A tester's view) Erik Petersen [email_address] Twitter: erik_petersen Tech talk:  http://bit.l...
Selected References <ul><li>Testability for Automation -Dave Catlett presentation, 2004 </li></ul><ul><li>http://www.nwcpp...
 
Upcoming SlideShare
Loading in …5
×

Evolution of Agile Testing

2,286 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,286
On SlideShare
0
From Embeds
0
Number of Embeds
37
Actions
Shares
0
Downloads
59
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Evolution of Agile Testing

  1. 1. Agile Days China Evolution of Agile Testing (A tester's view) Erik Petersen [email_address] Twitter: erik_petersen Tech talk: http://bit.ly/80-20-rules
  2. 2. Familiar faces?
  3. 3. Methodologists meet in the snow <ul><li>Mid February 2001, 17 people met in the Utah mountains over a weekend </li></ul><ul><li>They represented styles of lightweight software development </li></ul><ul><li>Only one, Brian Marick, had major interest in testing (a quiet person) </li></ul><ul><li>Another tester invitee, James Bach, could not attend (a loud person) </li></ul>
  4. 4. Light methods ” I don't mind the methodology being called light in weight, but I'm not sure I want to be referred to as a lightweight attending a lightweight methodologists meeting. It somehow sounds like a bunch of skinny, feebleminded lightweight people trying to remember what day it is.” Alistair Cockburn
  5. 5. Non-light manifesto <ul><li>Individuals & interactions over processes & tools </li></ul><ul><li>Working software over comprehensive documentation </li></ul><ul><li>Customer collaboration over contract negotiation </li></ul><ul><li>Responding to change over following plan </li></ul><ul><li>Value in all, but items on left more valuable </li></ul>
  6. 6. Where's testing? <ul><li>Neither the agile manifesto or supporting principles mention testing, focussing on ”sponsor, developer, user” </li></ul><ul><li>Principles do mention ”architecture, requirements & designs” but no testing or validation activity mentioned explicitly </li></ul>
  7. 7. Agile testing V1.0 <ul><li>Strong Extreme Programming slant </li></ul><ul><li>Developers do all tests, using TDD for design & automated unit tests, Junit mostly </li></ul><ul><li>No need for system tester role, ”all tests automated” </li></ul><ul><li>Developers to learn extra testing skills from testers then replace them </li></ul><ul><li>Kent Beck tells conference of testers they will all be out of jobs in a few years </li></ul>
  8. 8. Agile dev view
  9. 9. Agile tester view
  10. 10. A week of Ruby dev, test & talk <ul><li>Mid June 2003, a group of agile devs and exploratory testers spend a week together talking and creating software at ”Agile Fusion” (Erik watches via webcam!) </li></ul><ul><li>Early version of Ruby seen as immature by devs (but great language for testing) </li></ul><ul><li>Some agile devs understand importance of exploratory testing, e.g Ward Cunningham </li></ul>
  11. 11. Agile Testing manifesto? ” It’s very important to understand that we in this Agile Fusion conference did not come to agreement on *any* specifically phrased idea about what agile testing is or isn’t. We tried to discuss it, but it quickly became apparent that there are important philosophical & terminological differences among us.” James Bach
  12. 12. “ Important differences”?
  13. 13. Agile testing V2.0 <ul><li>Strong XP Programming slant weakening </li></ul><ul><li>Regression testing done by developers, using automated unit tests, now Xunit </li></ul><ul><li>Some appreciation for system tester role, e,g Thoughtworks, Mary Poppendieck </li></ul><ul><li>Some developers learn more about testing and importance of exploratory testing </li></ul><ul><li>Agile testing champions, e.g Elisabeth Hendrickson </li></ul>
  14. 14. Tools of the trade
  15. 15. Enter the test toolsmith <ul><li>Developer explicitly supporting less technical testers, or more busy devs </li></ul><ul><li>Creating tools to support testability </li></ul><ul><li>Automating data creation, configuration table setup, security profiles, UI information fields only visible in test mode or hidden in html, etc </li></ul><ul><li>Focussed on manual & automated tests </li></ul><ul><li>Testability champion, Brett Pettichord </li></ul>
  16. 16. Test tools rule <ul><li>Rapid expansion of free functional tools </li></ul><ul><ul><li>Framework for Integrated Test (FIT) 2002, java based implementation of customer examples as tests, lead dev Ward Cunningham </li></ul></ul><ul><ul><li>Selenium 2004, web application driver using javascript, lead dev Jason Huggins </li></ul></ul><ul><ul><li>Many other less popular tools </li></ul></ul>
  17. 17. What does this mean?
  18. 18. Dependency Injection 1 <ul><li>What does this mean? </li></ul><ul><li>Imagine you run a window washers collective. Each worker has their own basic gear, buckets, sponges, scrapers, and can handle smaller jobs unassisted. Larger jobs need ropes, scaffolding or cherry pickers, so they need to be provided for the workers in those cases. (continued) </li></ul>
  19. 19. Dependency Injection 2 <ul><li>Dependency injection provides complicated material to a worker function to help it do its job. This simplifies the design, and makes it more flexible allowing different types of materials to be provided in different cases. Another advantage is the ability to provide fake materials, when we are only interested in testing the function to check it still works properly. </li></ul><ul><li>From www.testingspot.net (Erik's link site) </li></ul>
  20. 20. Agile testing V3.0 Flavors <ul><li>Regression testing by developers, using TDD & automated unit tests, with dependency injection & testability </li></ul><ul><li>Testsmiths create custom tools for their teams </li></ul><ul><li>Functional automation by developers or technical testers using tools like Selenium </li></ul><ul><li>Customer examples linked by dev tester to fixtures create simple tests, like FIT </li></ul>
  21. 21. ET in Agile Development <ul><li>Jim Shore & Chromatic write ”Art of Agile Development”, 2007 with community review of each chapter </li></ul><ul><li>Lone voice of tester reviewer in dev cloud (Erik), pushing tester role & viewpoint </li></ul><ul><li>Book expanded to include ET Viewpoint: ET needed to find bugs missed by devs (to improve process to find next time!) </li></ul><ul><li>Included Exploratory testing chapter written by Elisabeth Hendrickson </li></ul>
  22. 22. Different stylistic views <ul><li>1) Does a agile team use a issue tracker? Against : don't document just discuss & fix For : bug history is valuable for bug clusters, empower user to raise issues or concerns </li></ul><ul><li>2) Is quality more important than velocity? Against : need to always deliver value over fixes For : bugs may hide other bugs, more (potential) technical debt </li></ul>
  23. 23. Agile testing for testers & team <ul><li>Agile Testing stage at Agile 2009 conference </li></ul><ul><li>Exploratory testing sessions at Agile conference, Erik Petersen 2008, 2009, Jon Bach 2010 </li></ul><ul><li>” Agile Testing” 2009, by Crispin & Gregory gets great reviews across all agile tribes </li></ul><ul><li>Strong agile tester community </li></ul><ul><li>Bughunts becoming popular in industry </li></ul>
  24. 24. Joining the cause
  25. 25. The 2nd wave of test tools <ul><li>Cucumber 2009, english-like fixture based tool dominating functional test automation, lead developer Aslak Hellesoy </li></ul><ul><li>Selenium and Selenium Grid almost industry standard </li></ul><ul><li>Domain Specific Languages (e.g in Groovy), Robot framework, etc </li></ul><ul><li>AA functional test tools group discussing and leveraging tools, also GTAC (Google) </li></ul>
  26. 26. Key (system) testing skills <ul><li>Test techniques: e.g. boundary analysis, equivalence partitioning, test intuition </li></ul><ul><li>Test modelling: domain, application, navigation, authorisation, etc. </li></ul><ul><li>Test case design and coverage </li></ul><ul><li>Defect management </li></ul><ul><li>Failure modelling (often innate skill) </li></ul><ul><li>Shadow architect & designer/ devils advocate </li></ul>
  27. 27. Key skill: Exploratory testing <ul><li>ET Framework: Three main parts </li></ul><ul><ul><li>Investigation </li></ul></ul><ul><ul><ul><li>Wide across app, or deep to feature </li></ul></ul></ul><ul><ul><li>Exploration </li></ul></ul><ul><ul><ul><li>Confirming app & other models, or trying failure models </li></ul></ul></ul><ul><ul><li>Reflection </li></ul></ul><ul><ul><ul><li>Maintain focus or change to next priority </li></ul></ul></ul><ul><ul><ul><li>Investigate bug clusters </li></ul></ul></ul><ul><li>Attempt to make implicit skill visible </li></ul>
  28. 28. Agile testing today <ul><li>Still no agile testing manifesto, just many flavors (like with agile) </li></ul><ul><li>New tools can be adopted quickly worldwide, e.g Cucumber </li></ul><ul><li>Many great developer testers but still specialist tester role needed </li></ul><ul><li>Risk based exploratory testing preferred technique for rapid testing </li></ul><ul><li>TDD ”checks” versus human ET ”tests” </li></ul>
  29. 29. Together (mostly)
  30. 30. Evolution of Agile Testing (A tester's view) Erik Petersen [email_address] Twitter: erik_petersen Tech talk: http://bit.ly/80-20-rules
  31. 31. Selected References <ul><li>Testability for Automation -Dave Catlett presentation, 2004 </li></ul><ul><li>http://www.nwcpp.org/Downloads/2004/ImprovingTestabilityNWCPP.ppt </li></ul><ul><li>Includes link to Brett Pettichord paper </li></ul><ul><li>AgileAlliance.org </li></ul><ul><li>Testingspot.net – Erik’s links site </li></ul><ul><li>Star Wars Posters – Cliff Chiang </li></ul><ul><li>Vader Portrait – Greg Peltz </li></ul>

×