Five Tasks In Exploratory Testing — Tentamen Software Testing Blog

Image by from

TL;DR

Now that we know let us see what five tasks in exploratory testing are. We list five exploratory testing tasks based on [Bach]. This is a part of the Exploratory Testing Pathway. Many thanks to Marcel who sublimed this great resource on his blog, .

Five Tasks

As part of breaking the myth that exploratory testing does not have a structure, we list five tasks in exploratory testing:

  • Product purpose
  • Product functions
  • Areas of potential instability
  • Test each function and record problems
  • Design and record a consistency verification test (smoke test)

Product Purpose

To test something, you first need to know what is the purpose of a product. For example, as at first, it could seem that throwing a kitchen chair from a rooftop of the ten-story building could be exploratory testing, this is not the case because the purpose of the chair is not to be thrown from the roof of a ten-story building. A more real-world example is opening a ten-gigabit file with Notepad. This is not the purpose of Notepad, so this is wasteful testing. Remember, your testing resources are limited.

You first need to find out product purpose in an exploratory manner. For that, you can use various sources:

  • A developer
  • Marketing person
  • Requirements document
  • Previous test plan
  • Comparable product.

The product purpose statement consists of a verb, noun, and subject. The purpose of Windows Notepad (noun) is to open (verb) my weekly todo notes file (subject).

Product Functions

Once you know real product purpose, you are ready to explore product functions that fulfill that purpose. As a software tester, you need to be able to describe product function. If product purpose is to make exploratory session testing notes, then there must be a function that enables you, with clear input and outputs, to add exploratory session notes with all note attributes. Function interacts with the product environment and manipulates data. In exploratory notes, for example, data is a note (text, note type, and possible screenshot), and the environment is an application database and user interface (or REST API).

Each product has a primary and supporting functions. For example, saving note is a primary function, while storing note screenshot in S3 storage is a contributing function. There is also a hidden function. If we automatically crop the screenshot to a supported resolution to save storage space, this is a hidden function (there is no visible UI option to use that feature.)

You could also determine what essential functions are. For that, you would need to consult some authority source, do not use just your judgment.

Keep in mind what is your testing mission. For example, all primary and supporting functions are stable, or identified risk with using essential functions must be minimal. Remember that you will not have time to test all functions. It is a tester’s responsibility to note what was skipped. You note your testing result in function/stability matrix where you note pass/fail results.

Test Coverage

Developers’ test coverage metrics could be a percentage of covered line statements, branches, loops, and os signals. Testers’ coverage could be the percentage of tested functions, data, or hidden data. With a testing mission and test design context, it is relatively easy to determine test coverage.

Oracles

Oracles help us to know what program is supposed to do and to decide if the test passed or failed. The beauty of context-driven testing is that oracles could be wrong

Your responsibility is not to misuse this fact to hide your inadequate testing. For example, consistency oracle heuristics teaches us to compare products with comparable products, product purpose, other parts of the same product, and product history.

Process

Exploratory testing is not a sequence of exploratory testing tasks. In skillful exploratory testing, you move back and forward between those tasks.

Task Sheet

In the task sheet, you document your testing:

  • describe your testing mission
  • what oracles did you use
  • results of test activities
  • how you decided that you are done
  • F.A.Q sections

Test Manager Role

You discuss your task sheet with your test manager.

Time Pressure

You must be able to do exploratory testing tasks under time pressure. What to skip? What to do with hard tasks? Should you do them first or last? Should you move on if you are stuck? Make a pause and go through your notes.

Conclusion

Exploratory testing, when done by the skilled tester, is a structured activity. Your freedom is with five exploratory tasks where you do actual exploration.

Originally published at on July 25, 2020.

--

--

--

Founder of Tentamen, software testing agency.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Non Regular Language

5 Software Development Trends that dominated in 2020

ROOTCON 15 CTF Writeup — OSINT

What’s the deal with the SOLID principles? (part 2)

Grouping and counting using Morhpia for Java

Simply Track Coronavirus In Your Country with Python and Scheduled Automatic Emails

CI/CD Basics — Why and When?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Karlo Smid

Karlo Smid

Founder of Tentamen, software testing agency.

More from Medium

On Acceptance Testing

Q and A for 371 to 379 — Quotidian — 380

Experience During my Application Framework Group Project at SLIIT

Zomato App: Agile Methodology