Exploratory Testing – A Walk Through

“Exploratory Testing” Defined

An approach to software testing that emphasizes the personal freedom and responsibility of each tester to continually optimize the value of his work by treating learning, test design and test execution as mutually supportive activities that run in parallel throughout the project.”– Kaner, Bach. June 2007

No Preconceived Notions

“Testing is exploratory to the degree that you are not bound by preconceived ideas. Testing is scripted to the degree that you are bound to follow what has been designed in advance.” – James Bach

Don’t Do what you always do! Your pre-existing conditioning will dampen your testing efforts. Try to take the beaten path.

Exploratory Testing

  • Is NOT “random testing”
  • Is NOT “unstructured testing”
  • Is NOT a technique, but an approach
  • IS teachable, repeatable, and manageable
  • IS the heart of excellent testing

Missing Requirements?

ET (Exploratory Testing) can be used as a great method for finding missing requirements.

The Difference between a bug and a missing requirement is that a bug is a requirement that is failing, and a missing requirement is one that was never defined.

Helps finds holes in requirements

ET Vs Automation

Automation is great for regression and existing tested functionality

ET is great for discovery and exploring “undocumented” features.

They both can co-exist. A healthy balance of both will increase quality, while a lack of either will decrease it.

Misdirection

Focusing a set test plan all the time may leave you too focused to notice what’s going on outside of the test plan.

  • Are features not in the test plan behaving differently?
  • I break out of a test plan, should I expect a certain result?
  • Inattentional Blindness is a common problem regarding missed bugs.
  • you get too used to your environment, you may miss the obvious.

Tester’s Investigative Tools

  • Observation (5 senses)
  • Interviews (stakeholders, programmers, designers)
  • Screen shots, log files
  • Project documentation
  • Scenario modeling
  • Hunches, inference, feelings
  • Notebook
  • Screen capture, keylogger, video capture, log watch
  • Software programs Test automation
  • Scripting language
  • Monitoring tools
  • sysinternals, perfmon, file monitors etc.
  • Whiteboards, idea diagrams

Transition to ET Strategy

  • Follow script
  • Add variability
  • change input values, or step sequences
  • Stop part way through
  • Stare out the window, take a break, and then interact with the first thing you see
  • Has the time spent been valuable? Should I continue?
  • Lose the script (but not the test purpose)

How do I apply to QA

  • Use a recording tool like SWAT to record your exploratory testing for feedback, regression and future automation (if bugs/ missing requirements found)
  • Assign a story/task for ET to account for time. Report on findings during stand ups to show value.
  • Implement a team tester trade.
  • Have someone not familiar with your page/features to test your product without test cases. Gives fresh eyes and promotes strong ET values.

Advertisements
Tagged

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: