# Exploratory Testing Exercises

## Exercise 1: Charter Writing Practice

**Task:** Write 3 test charters for a "User Profile" page that allows editing name, avatar, and notification preferences. Use the format: Explore [target] with [resources] to discover [information]. Make each charter focus on a different aspect (e.g., Structure, Data, Function).

**Validation:**
- [ ] Each charter has target, resources, and discovery goal
- [ ] Charters are distinct (not redundant)
- [ ] Charters are specific enough to guide a 30–60 min session

**Hints:**
1. Vary the "with" — different data, different roles, different devices
2. Vary the "discover" — bugs, UX, performance, accessibility
3. One charter per SFDPOT area is a good spread

---

## Exercise 2: SFDPOT Coverage Analysis

**Task:** For an app you've tested (or a hypothetical one), list which SFDPOT areas you typically cover and which you skip. For one skipped area, write a charter that would address it.

**Validation:**
- [ ] Identifies at least 2 often-skipped areas
- [ ] Explains why they're skipped (time, habit, tooling)
- [ ] One charter targets a gap

**Hints:**
1. Platform (P) and Time (T) are commonly skipped
2. Operations (O) — install, upgrade, config — often forgotten
3. "We never test on Safari" → Platform charter

---

## Exercise 3: Session Notes to Bug Report

**Task:** You have these raw session notes:

- Clicked "Add to cart" 3 times quickly → cart showed 1 item
- Tried empty search → spinner forever
- Pasted 5000 chars in "Notes" → UI froze for 2 sec

Convert one of these into a proper bug report (title, steps, expected, actual, environment).

**Validation:**
- [ ] Title is concise and descriptive
- [ ] Steps are reproducible (someone else could follow them)
- [ ] Expected vs actual is clear
- [ ] Environment is specified

**Hints:**
1. "3 times quickly" — how quick? Add timing if relevant
2. "5000 chars" — exact count or range helps
3. Include browser/OS if it might matter

---

## Exercise 4: Debrief Summary

**Task:** After a hypothetical session on a "Password reset" flow, you found: (1) Email validation allows "test@"; (2) Reset link expires after 5 min but error says "invalid"; (3) Success message appears before email is actually sent. Write a 5-bullet debrief summary for your team.

**Validation:**
- [ ] Bugs are listed clearly
- [ ] Risks or patterns are noted (e.g., "validation inconsistent")
- [ ] Next steps or charters suggested
- [ ] Tone is factual, not blaming

**Hints:**
1. Group related issues (e.g., "error messaging")
2. Prioritize: what's critical vs nice-to-fix
3. Suggest: "Charter for email delivery and expiration edge cases"

---

## Exercise 5: Exploratory + Automation Plan

**Task:** A "Drag-and-drop file upload" feature is new. You have 2 hours. Propose a plan: how much time for exploratory vs writing/reviewing automated tests? What charters? What would you automate?

**Validation:**
- [ ] Exploratory time is allocated first (discovery before automation)
- [ ] At least 2 charters for exploratory
- [ ] Automation targets are clear (e.g., "happy path upload")
- [ ] Rationale for the split

**Hints:**
1. Exploratory finds edge cases; automate the obvious happy path
2. File types, sizes, network failures — exploratory
3. "Upload valid file, see in list" — automate
