Typorithm · easy

7. Exploratory sessions and reproducible defect reports

qatestingtest-designindependent-practice
Saved on this device
Full lesson · 4 learning steps Open any exercise for focused practice
1

Step 1 of 4 · intro card

7. Exploratory sessions and reproducible defect reports

0%

Concept and contract

Turn a focused investigation into evidence another person can reproduce.

Exploratory testing combines learning, test design and execution around a focused question. A charter gives the session a target and boundary, such as investigating whether combined filters retain their meaning after a reload. It is not unstructured clicking or a substitute for every repeatable regression check.

Use a short timebox and keep observations, hypotheses and confirmed defects separate. A surprising screen is a lead; reproduce it with a known fixture and expected result before declaring a product failure.

Mechanism and worked example

The worked report states the fixture version, query, complete expected ids and observed extra id.

The worked report states the fixture version, query, complete expected ids and observed extra id. Another person can repeat the same action and challenge the oracle. The report avoids attributing a root cause that has not been established.

Severity describes consequence, while priority describes what should be addressed next in context. They may differ. A report should make the impact clear enough for that decision rather than using an alarming label as a substitute for evidence.

Complete worked example

json

{
  "fixture": "roles-v1",
  "input": {
    "country": "UA",
    "q": "qa"
  },
  "expectedIds": [
    "r1"
  ],
  "actualIds": [
    "r1",
    "r4"
  ],
  "impact": "A US role escapes the selected country",
  "steps": [
    "Load roles-v1",
    "Choose UA",
    "Search qa"
  ],
  "cause": "Not yet established"
}
Reasoning
The report states enough input and fixture evidence to reproduce the observed mismatch.

Counterexamples and common mistakes

The weak report says filters are broken and supplies no input or expected result.

The weak report says filters are broken and supplies no input or expected result. It could describe a real issue, but it cannot support efficient reproduction. A screenshot can complement the report; it cannot recover missing query parameters or fixture identity by itself.

Avoid copying production tokens, personal documents or private account data into attachments. Use synthetic local records whenever possible. When real evidence is necessary, follow the project’s access and retention policy and remove irrelevant sensitive details.

Counterexample: what this check misses

json

{
  "title": "Filters broken",
  "actual": "Wrong",
  "priority": "Critical"
}
Reasoning
A severity label cannot replace missing reproduction details.

Independent practice: small task

Write a concise report for a controlled defect where country UA plus query qa incorrectly includes r4.

Write a concise report for a controlled defect where country UA plus query qa incorrectly includes r4. Include setup, exact input, expected and actual ids, user impact and the smallest repeatable steps. Start with expected versus actual before adding labels.

Then write a ten-minute charter to investigate whether clearing the query preserves country selection. Keep that question separate from the confirmed combined-filter defect. The task develops investigation and communication without requiring a large report template.

Step 1: Record expected and actual ids. Step 2: Add repeatable setup and a separate charter.

Practice starter: solve before reading the solution

json

{
  "fixture": "roles-v1",
  "input": {
    "country": "UA",
    "q": "qa"
  },
  "expectedIds": "TODO",
  "actualIds": "TODO",
  "impact": "TODO",
  "steps": "TODO",
  "charter": "TODO"
}
Reasoning
Write the smallest expected-versus-actual comparison before adding a charter.
  • Hint 1: Do not invent an internal cause.
  • Hint 2: Use synthetic records instead of private production data.

Solution, tests and trade-offs

The solution names the extra US role and explains the consequence: the selected country no longer constrains the result.

The solution names the extra US role and explains the consequence: the selected country no longer constrains the result. It records a controlled local fixture, not an allegation about production. The separate charter remains an investigation question until evidence confirms an outcome.

The document verifier checks report structure and fixture consistency. A reviewer still decides whether the stated impact follows from the evidence. Automation cannot prove that every exploratory observation has been interpreted correctly.

Practice solution and acceptance checks

json

{
  "fixture": "roles-v1",
  "input": {
    "country": "UA",
    "q": "qa"
  },
  "expectedIds": [
    "r1"
  ],
  "actualIds": [
    "r1",
    "r4"
  ],
  "impact": "Country restriction is not respected",
  "steps": [
    "Load roles-v1",
    "Choose UA",
    "Enter qa"
  ],
  "charter": "For ten minutes, investigate whether clearing the query preserves UA after reload; record observations separately."
}
Reasoning
The report records a controlled failure and keeps the next investigation separate.

Interview reasoning and next step

In interviews, reproduce one issue from a small report and distinguish observation from suspected cause.

In interviews, reproduce one issue from a small report and distinguish observation from suspected cause. Explain which sensitive details you would exclude from a trace. A clear minimal report is more valuable than a long list of unverified conclusions.

Next, test HTTP behavior directly. Status, payload and stored side effects provide different evidence and should be checked according to the operation’s contract.

Optional stretch — after the core task works: Add a screenshot with a documented fixture and query.

Computer practice: download the companion lab at https://applydjinn.com/typorithm/qa-lab-20261105.zip. Read its README, install the pinned tools and run the accepted examples before attempting a starter. The mobile reader preserves your reading and self-check progress; the local lab runs browser tests separately.

Turn a focused investigation into evidence another person can reproduce.