Exploratory testing

Post on 11-May-2015

899 views 0 download

Tags:

Transcript of Exploratory testing

Exploratory Testing

First some definitions.

Testing• “Gathering information with the

intention of informing a decision.” – Jerry Weinberg

• “Testing is an empirical, technical investigation of a product, done on behalf of stakeholders, with the intention of revealing quality-related information of the kind that they seek.” – Cem Kaner

• “Questioning a product in order to evaluate it.” – James Bach

Quality

• “Conformance with requirements.” – Philip Crosby

• “Quality is value to some person.” – Jerry Weinberg

• “Successful testers avoid a fascination with functional correctness, and focus on ways in which people might obtain value from a program—or have their value unfulfilled or threatened.” – Michael Bolton

http://www.developsense.com/blog/2011/02/why-do-some-testers-find-the-critical-problems/

Bug

• “Doesn’t match specifications of written requirements.”

• “Failure to meet reasonable expectations of a user.” – G. Myers

• “A bug is something that bugs somebody.” – James Bach

• “Anything that causes an unnecessary or unreasonable reduction of the quality of a software product.” – BBST Bug Advocacy

Why are we testing?

http://en.wikipedia.org/wiki/File:Columbus_letter_Spanish_text.jpg

Exploratory Testing is about learning

• “If you are not using the learning garnered from test design and test execution in a continuous and rapid loop to optimize the quality of the work, you are not doing exploratory testing.” – Michael Bolton

Session-Based Testing

http://www.bettertesting.co.uk/content/wp-content/uploads/2011/03/Session-Based-Testing-in-Practice.jpg

Some of the Elements of Exploratory Testing

• Test Design• Careful Observation• Critical Thinking• Diverse Ideas• Rich Resources

http://www.satisfice.com/articles/et-article.pdf

Test Design

• Function Testing• Domain Testing• Specification-based Testing• Risk-based Testing• …

• Heuristic Test Strategy Model (http://www.satisfice.com/tools/htsm.pdf)

Few Words About Context-Driven Testing

• The value of any practice depends on its context.• There are good practices in context, but there are no best practices.• People, working together, are the most important part of any project’s context.• Projects unfold over time in ways that are often not predictable.• The product is a solution. If the problem isn’t solved, the product doesn’t work.• Good software testing is a challenging intellectual process.• Only through judgment and skill, exercised cooperatively throughout the entire

project, are we able to do the right things at the right times to effectively test our products.

http://context-driven-testing.com/

Careful Observation

Inattentional Blindness

The video shows that it’s possible to miss something right in front of your eyes. The point of the video is to show that it’s possible to miss something that’s right in front of your eyes.

IB makes you confront the illusion of attention.

That’s it.

Knowing about inattentional blindness doesn’t make you better at noticing things, and there’s zero correlation between the observational skills of those who see the gorilla vs. those who don’t. While I agree that it’s critical for testers to know that inattentional blindness exists, it’s a small nugget of information in a pretty big pool of stuff that actually helps testers.

Alan Page - http://angryweasel.com/blog/?p=594

We need to vary our actions

• Need different perspective / angle– Personas– Tours (http://michaeldkelly.com/blog/2005/9/20/touring-heuristic.html or

http://msdn.microsoft.com/en-us/library/jj620911.aspx#bkmk_tours)– Pairing

Critical Thinking

http://www.nasa.gov/centers/ivv/pdf/174321main_Annual_Report_06_Final.pdf

http://lesswrong.com/lw/hab/rocket_science_and_big_money_a_cautionary_tale_of/

Oracles“A way to recognize a problem.” – Michael Bolton & James Bach

a) A feeling like confusion or annoyance.b) A desirable consistency between related things.c) A person whose opinion matters.d) An opinion held by a person who matters.e) A disagreement among people who matter.f) A reference document with useful information.g) A known good example output.h) A known bad example output.i) A process or tool by which output is checked.j) A process or tool that helps a tester identify patterns.

http://www.developsense.com/blog/2013/01/oracles-the-brainstream-media/

• People!– “The diversity of tester temperaments and

backgrounds on a team can also be harnessed by savvy exploratory testers through the process of group brainstorming to produce better test ideas.” – James Bach

“The roof don’t leak because the holes in each layer don’t line up with each other.” – George Dinwiddie on Twitter

Rich Resources

• Tools• Information sources (notes, books, blogs)• Test data• Friends

Tester Freedom Scale

Jon Bach / Quardev, Inc., Seattle, WA 98105

Fractals

Adam Knight (http://www.a-sisyphean-task.com/2013/01/fractal-exploratory-testing.html#.UX7WTitgYZ8)

Which are the most important traits a tester should have (or should develop) in order to succeed today? (http://qablog.practitest.com/2012/11/five-testing-question-with-jerry-weinberg/)• Courage • Communication skill• Self-esteem.

Jerry Weinberg