---
title: "Exploratory Testing: Charters, Heuristics and AI Agents"
description: "What exploratory testing is, how to run sessions with charters and time boxes, which heuristics to use, and where AI agents fit."
canonical: "https://momentic.ai/blog/exploratory-testing"
last-updated: "2026-10-31T02:14:40Z"
---

# Exploratory Testing: Charters, Heuristics and AI Agents

URL: https://momentic.ai/blog/exploratory-testing

[blog](/blog) [/ resources](/blog/category/resources)  / exploratory-testing

Resources

How to run exploratory testing sessions with charters, time boxes and heuristics, how to triage what you find, and what AI agents can take over.

Wei-Wei Wu

CEO, Momentic

## What exploratory testing is

Exploratory testing lets you choose the next test based on what you learn from the current one. [Cem Kaner](https://kaner.com/?p=46) introduced the term for an approach that combines learning about the software with designing and running tests. A tester might start a checkout session by changing the shipping address, then investigate whether the order total updates when the address changes the tax calculation.

Scripted testing starts with expected steps and results. A Playwright test can reliably check that a known checkout path still works after each commit. Exploratory testing is useful when you do not yet know which paths or failure modes deserve a repeatable check. The two approaches can feed each other. When an exploratory session finds a reproducible regression, you can add a scripted test for it.

## Session-based test management

[Session-based test management](https://www.satisfice.com/download/session-based-test-management), developed by Jonathan and James Bach, gives exploratory testing a bounded scope and a record you can review. Before you start, write a charter that names the feature, the behavior you want to investigate, and the boundaries of the session. Set a time box so you can stop, review what you learned, and decide whether the area needs another pass.

During the session, keep brief notes on what you tried and what you observed. Record the environment and build or commit so you can return to a suspicious result. Distinguish a reproducible failure from a question you have not yet resolved. After the time box, debrief with another engineer to review findings, identify gaps in coverage, and choose a charter for any follow-up session.

Copy this template before you begin.

`Feature [Feature or user flow]  Charter Explore [behavior or risk] in [area].  Scope [Pages, roles, data, or devices to include] [Anything deliberately excluded]  Time box [Start time and planned duration]  Environment [Build or commit, browser, and test account]  Session notes [Actions tried and observed behavior] [Questions and areas not reached]  Debrief [Findings to reproduce or investigate] [Suggested follow-up charter]`

## Heuristics and tours

Heuristics give you prompts when a charter names a broad area, such as checkout, but does not prescribe every test. SFDPOT, from James Bach’s [Heuristic Test Strategy Model](https://www.satisfice.com/download/heuristic-test-strategy-model), groups those prompts by structure, function, data, platform, operations, and time. Use the groups to choose where to investigate, not as a checklist you must finish.

For a checkout session, you could apply SFDPOT like this.

- **Structure:** Move between the cart, shipping form, payment form, and confirmation page. Check whether browser back preserves the cart.
- **Function:** Change shipping methods after applying a discount. Check whether the order total updates.
- **Data:** Try an invalid postal code and a valid address with an apartment number. Check what the form rejects or drops.
- **Platform:** Repeat the payment flow at a narrow viewport and in another supported browser. Check whether controls remain usable.
- **Operations:** Interrupt the network while submitting an order. Check whether retrying could create a duplicate order.
- **Time:** Leave checkout open until the session expires. Check what happens when you return and attempt to pay.

A tour narrows the session to one route through the product. For example, an error-handling tour follows invalid inputs and failed requests through checkout, while a data tour follows the address and order total across pages. Pick a tour that fits the charter, record what you tried, and change direction when an observation suggests a more useful test.

## When exploratory testing beats automation, and when it doesn't

Exploratory testing helps when a change creates failure modes you have not specified yet. After a checkout redesign, you can try a discount code, change the shipping address, and return from the payment provider to see whether the displayed total stays consistent. A scripted test checks the paths you anticipated. An exploratory session lets you follow an unexpected response and investigate what caused it.

Automation works better for known behavior that must pass on every commit or deploy. If checkout must reject an expired discount code and preserve the cart after a failed payment, a Playwright test can check those rules repeatedly in CI/CD. An exploratory session might find the defect once, but it will not reliably check for the same regression after every change.

Use both when a new feature needs investigation and ongoing coverage. Explore the feature first, then add stable, reproducible findings to the test suite when you can state the expected behavior clearly. Keep judgment-heavy questions, such as whether an error message gives a user enough information to recover, in human review.

## Recording and triaging findings

Record findings during the session, before you lose the steps that produced them. A useful report lets another engineer reproduce the behavior and decide whether it needs a fix. Keep observations separate from guesses about the cause.

- Record the charter, build or commit, environment, browser, and test account. Note any feature flags or data conditions that affected the result.
- Write the shortest sequence that reproduces the finding. Include the input, expected behavior, and observed behavior. Attach a screenshot, screen recording, console error, or relevant log when it helps someone verify the claim. Remove secrets and personal data first.
- Mark findings you could not reproduce consistently. Preserve the steps you tried rather than labeling the behavior a flaky test or a confirmed regression.

Triage each finding against the product’s intended behavior before filing a bug. Check whether an existing issue covers it, then assign an owner and priority based on user impact, frequency, and available workarounds. A confusing checkout message may need a product decision, while an order that charges the wrong amount needs immediate investigation.

Once you confirm a repeatable regression, add a targeted test where it will catch the failure on future commits. Keep uncertain behavior in the session notes for follow-up instead of turning a single observation into a brittle CI check.

## Exploratory testing with AI agents

AI agents can extend a bug bash when your scripted suite covers known paths but a recent deploy needs broader exploration. Give the agent a charter with a target area, an environment, and a clear boundary. For checkout, you might ask it to try changing quantities and shipping details while keeping real payment submission out of scope.

[Mo](https://momentic.ai/mo) takes a target and a brief, explores the running web, iOS or Android app, and keeps one report per session: what it verified, what it could not verify, and findings with expected behavior, actual behavior and reproduction steps. Functional bugs need an independent reproduction before Mo reports them. For each finding, check the evidence against the action sequence and observed behavior before you create an issue. A useful bug report lets an engineer reproduce the failure and distinguish it from a test-environment problem. [Momentic’s discussion of AI testing agents](https://momentic.ai/blog/what-are-ai-testing-agents) provides more background on this approach.

Keep a human in the loop where the charter requires product judgment. An agent can report that checkout accepted an unexpected address, but you need to decide whether the address violates your shipping policy. Likewise, review any finding that depends on accessibility, confusing copy, or an irreversible transaction before treating it as a regression.

## Frequently asked questions

Is exploratory testing the same as ad hoc testing?    No. Both allow you to investigate without a fixed script, but exploratory testing records what you tried and what you learned. A charter gives the session a focus, while notes make a finding reproducible and help you decide what to test next.    How long should a session be?    Set a time box that lets you investigate one charter and review your notes afterward. For a checkout flow, you might spend 45 minutes probing payment failures. If the charter covers too much for that time, narrow it rather than rushing through every path.    Can exploratory testing be automated?    Browser automation can execute the checks you already know to make. An AI agent can also choose actions based on what it observes, though its findings still need reproducible evidence and human triage. Once you fix an exploratory finding, add a repeatable check when the regression matters and the expected behavior is clear.

Still have additional questions?

## Keep reading.

[Resources   Testing iOS and Android apps with Claude Code     Four ways to test iOS and Android apps with Claude Code, from simctl and adb to XCUITest, Espresso, mobile MCP servers and Momentic mobile tests.     Wei-Wei Wu     12 min read](/blog/claude-code-mobile-app-testing)[Resources   UI and end-to-end testing with OpenAI Codex     How far Codex gets on UI and end-to-end tests, and how AGENTS.md instructions plus a test runner over MCP turn its output into checks you can trust.     Wei-Wei Wu     8 min read](/blog/codex-ui-testing-guide)[Resources   Migrating from Appium to Maestro     How to move an Appium suite to Maestro flows, with a worked login example, a concept map and the cases where Appium is still the better fit.     Wei-Wei Wu     6 min read](/blog/migrate-appium-to-maestro)

## Close the feedback loop.

Point Momentic at your app. Free to start, no credit card.

[Try for free](https://app.momentic.ai/signup) [Contact sales](/sales)
