Exploratory Testing in Agile


Published on

A presentation by Elisabeth Hendrickson (@testobsessed) at the meettheexperts@codecentric event in Solingen, Germany on June, 18th.

Published in: Technology

Exploratory Testing in Agile

  1. 1. Exploratory Testing in An Agile Context Elisabeth Hendrickson Quality Tree Software, Inc. esh@qualitytree.com
  2. 2. What is Exploratory Testing? Simultaneously… …learning about the software …designing tests …executing tests using feedback from the last test to inform the next (Term coined by Cem Kaner. Definition refined by James Bach. Others have contributed to ET including James Lyndsay, Jonathan Kohl, Michael Bolton.)
  3. 3. Exploratory Testing and Emergent Behavior The unit tests This security story all pass! The passes my acceptance build is green. tests. Did anyone notice that a user can make themselves an administrator?
  4. 4. Thinking is Mandatory All the usual test design practices apply… • Variable analysis • Heuristics • Boundary analysis • State modeling • Decision tables • Personas • Etc.
  5. 5. Organize the Work with Charters A template: Explore area/feature [ with resources, conditions, or constraints ] to discover information Examples: Explore the Calculator feature in the Fly to discover conditions or sequences that generate inaccurate results. Explore drawing calculators with irregular, small, and too close buttons and lines to discover how the Fly behaves under these conditions.
  6. 6. Time Box Exploration in Sessions Charters Sessions Explore the login feature in combination Session with bookmarks & history to discover Session information about interactions. Session Explore the site with various browsers and settings to discover risks related Session to unsupported configurations. Session Explore error handling using data type attacks to find problems related to Session data validation.
  7. 7. Where Do Charters Come From? • Stakeholder Questions “What happens if we have more than 5000 records?” • Quality Attributes “Explore the features associated with users, groups, and security to find security holes.” • Risks Imagine the worst thing that could possibly happen, and consider what might contribute to it happening? • Any Other Need for Information Testing yields information. Charters can come from any information need.
  8. 8. Exploratory Testing on Agile Projects Within an Iteration Automated Manual Automated Acceptance or Exploratory Unit Tests Story Tests Testing Define “done”, Drive design, Provides represent represent additional executable executable feedback requirements specifications
  9. 9. ATDD: Part of an Agile Testing Strategy Support Critique Business- facing Acceptance Tests Exploratory Testing Code- Reviews, inspections, facing Unit Tests pairing, code quality metrics (A variation on Brian Marick’s Agile Testing Quadrants as published in his essay “Agile Testing Directions”)
  10. 10. Result: Feedback on Process AND Product We’ve automated the I’ll add things like regression test when that to the we fixed the bug. acceptance criteria. We need to think about that kind of thing in future designs too.