What Is Session-Based Test Management?
Session-Based Test Management (SBTM) was developed by Jonathan and James Bach to solve a fundamental problem: how do you manage, measure, and report on exploratory testing?
Scripted testing is easy to manage — you have test cases, you track which ones passed and failed, and you report a pass rate. But exploratory testing has no pre-written test cases. Without a management framework, it is invisible to managers and stakeholders.
SBTM solves this by dividing exploratory testing into sessions — uninterrupted blocks of focused testing time with a defined charter, fixed duration, and documented results.
Session Structure
The Charter
Every session starts with a charter — a mission statement that defines what to explore and what risks to investigate. Good charters were covered in Lesson 2.32.
The Time-Box
Sessions have a fixed duration, typically:
- Short session: 45-60 minutes
- Normal session: 90 minutes (most common)
- Long session: 120 minutes
The time-box creates urgency and focus. The tester knows they have a limited window and must prioritize effectively. Sessions should be uninterrupted — no meetings, no emails, no context switching.
The Session Sheet
During and after the session, the tester fills out a session sheet documenting what happened:
SESSION SHEET
=============
Charter: Explore the payment flow with expired and declined
cards to discover error handling and recovery gaps.
Tester: Jane Smith
Date: 2026-03-19
Duration: 90 minutes (planned), 85 minutes (actual)
Environment: Staging, Chrome 120, macOS
TASK BREAKDOWN:
- Session setup: 5 min
- Test design and execution: 65 min
- Bug investigation and reporting: 15 min
- Session notes: 5 min (during)
DATA FILES:
- Screenshots: /screenshots/session-2026-03-19-payment/
- Logs: /logs/payment-errors-session.log
NOTES:
- Expired Visa card: Shows "Card declined" message correctly
- Expired Mastercard: Shows generic "Payment failed" — inconsistent
- Declined card (insufficient funds): No specific error message shown,
just "Try again" — user doesn't know WHY it failed
- After 3 failed attempts, the order is silently cancelled without
notifying the user — they discover it only when returning to the app
- Switching payment methods after a decline resets the cart items
BUGS:
1. BUG-1234 (High): Silent order cancellation after 3 payment failures
2. BUG-1235 (Medium): Inconsistent error messages between card types
3. BUG-1236 (Medium): Cart reset when switching payment methods
ISSUES:
- Q: Is the 3-failure limit by design or a bug?
- Q: Should the app suggest alternative payment methods?
% ON CHARTER: 75%
% OFF CHARTER: 25% (investigated cart reset behavior)
AREAS NOT COVERED:
- PayPal and Apple Pay error handling
- Payment timeout scenarios
- Concurrent payment attempts from multiple devices
The Debrief
After each session, the tester meets briefly (10-15 minutes) with the test lead to review results:
- What was tested?
- What was found?
- What was not covered?
- What should be explored next?
The debrief is critical — it is where knowledge transfers to the team and where the next session’s charter is shaped.
SBTM Metrics
SBTM provides quantitative metrics for exploratory testing:
| Metric | Definition | Use |
|---|---|---|
| Sessions completed | Number of sessions run | Track testing volume |
| Bugs per session | Average bugs found per session | Measure effectiveness |
| % on charter | Time spent on the charter mission | Measure focus vs. discovery |
| % session setup | Time spent setting up | Identify environment issues |
| Coverage areas | Features/areas explored | Track what has been tested |
| Risk areas remaining | Charters not yet executed | Track testing gaps |
Interpreting % On Charter
- 90-100% on charter: Very focused session. The area was well-understood and the charter was well-scoped.
- 60-80% on charter: Normal. Some time was spent following unexpected leads — this is healthy exploration.
- Below 50% on charter: Either the area has many undiscovered issues (good — but rescope the charter) or the charter was too broad (bad — write a better charter).
SBTM in Practice
Planning Test Sessions
A test lead plans sessions based on risk:
SPRINT 12 — EXPLORATORY SESSION PLAN
HIGH PRIORITY (this sprint):
1. Charter: Payment flow error handling (90 min) — Tester: Jane
2. Charter: New search algorithm edge cases (90 min) — Tester: Mike
3. Charter: Mobile responsive layout breakpoints (60 min) — Tester: Ana
MEDIUM PRIORITY (if time permits):
4. Charter: Account settings cross-browser (60 min) — Tester: Mike
5. Charter: Performance under slow network (90 min) — Tester: Jane
DEFERRED:
6. Charter: Third-party integration failures
7. Charter: Accessibility compliance check
Reporting to Stakeholders
SBTM enables clear reporting:
“This sprint we completed 5 exploratory sessions covering payment, search, and mobile layout. Total testing time: 6.5 hours. Found 8 bugs (2 high, 4 medium, 2 low). Coverage: 3 of 5 planned areas completed. Risk: payment timeout and third-party integrations remain untested.”
This is something you cannot do with unmanaged exploratory testing.
SBTM vs. Other Approaches
| Approach | Structure | Accountability | Best For |
|---|---|---|---|
| Ad hoc testing | None | None | Quick checks |
| Exploratory testing | Charter only | Low | Individual investigation |
| SBTM | Charter + time-box + debrief + metrics | High | Team-level testing management |
| Scripted testing | Full test cases | Very high | Regression, compliance |
SBTM occupies the sweet spot between the flexibility of exploratory testing and the accountability of scripted testing.
Exercise: Conduct an SBTM Session
Part 1: Plan 3 Sessions
You are the test lead for a project management application (like Trello or Asana). The team just released a major update to the task board feature. Plan 3 SBTM sessions:
For each session, define:
- Charter (using the Explore/With/To discover format)
- Assigned tester
- Duration (45, 90, or 120 minutes)
- Priority (high, medium, low)
- Risk being investigated
Part 2: Fill Out a Session Sheet
Choose one of your charters and simulate conducting the session. Fill out a complete session sheet including:
- Charter, tester, date, duration
- Notes (at least 10 observations)
- Bugs found (at least 2, with severity)
- Issues/questions (at least 2)
- % on charter
- Areas not covered
Part 3: Conduct a Debrief
Write the debrief summary as if you are presenting to your test lead. Cover:
- Key findings (2-3 sentences)
- Recommended next session charter
- Overall risk assessment for the feature
Hint
For Part 1, think about the riskiest aspects of a task board update: drag-and-drop functionality, data persistence when moving tasks between columns, concurrent edits by multiple users, mobile touch interactions, and real-time updates (WebSocket or polling).For Part 2, imagine realistic testing scenarios and common bugs in task management applications.
Solution
Part 1: Session Plan
Session 1 (High Priority):
- Charter: Explore the task drag-and-drop between columns with rapid movements, multi-select drag, and simultaneous edits by two users to discover data loss, incorrect state, and race condition issues.
- Tester: Jane
- Duration: 90 minutes
- Risk: Data integrity during task movement
Session 2 (High Priority):
- Charter: Explore real-time board updates with two browsers open on the same board, creating/editing/deleting tasks in one while observing the other to discover synchronization failures, stale data, and conflict resolution gaps.
- Tester: Mike
- Duration: 90 minutes
- Risk: Real-time consistency between clients
Session 3 (Medium Priority):
- Charter: Explore the task board on mobile devices with touch gestures (swipe, long-press, pinch), device rotation, and keyboard interactions to discover touch target issues, gesture conflicts, and responsive layout breakdowns.
- Tester: Ana
- Duration: 60 minutes
- Risk: Mobile usability and gesture handling
Part 2: Session Sheet (Session 1)
Charter: Task drag-and-drop between columns
Tester: Jane Smith
Date: 2026-03-19
Duration: 90 min (planned), 88 min (actual)
Environment: Staging, Chrome 120 + Firefox 125
NOTES:
1. Drag single task from "To Do" to "In Progress" — works correctly
2. Drag task to same column (reorder) — smooth, order persists on refresh
3. Drag task to last column "Done" — works, triggers completion animation
4. Rapid drag: move task A to "In Progress", immediately drag task B — second drag sometimes fails silently
5. Multi-select drag (select 3 tasks, drag all): Tasks move but lose their relative order
6. Drag while another user is editing the same task: Task moves but the edit is lost
7. Drag to a column that was just deleted by another user: Task disappears, no error shown
8. Undo after drag: Works once but double-undo does not restore original position
9. Drag 50 tasks at once: UI freezes for 3 seconds, then completes
10. Drag task with long title: Title overflows during drag, obscuring drop targets
11. Drag during network latency (simulated 3G): Task returns to original position without feedback
12. Column scroll during drag: Smooth on Chrome, jumpy on Firefox
BUGS:
1. BUG-501 (Critical): Task disappears when dragged to a simultaneously deleted column. No error message. Task is not in any column and not in "Trash." Data loss.
2. BUG-502 (High): Concurrent edit + drag race condition causes edit data loss. When User A is typing a description and User B drags the task, User A's unsaved changes are discarded.
3. BUG-503 (Medium): Multi-select drag loses relative ordering of selected tasks.
4. BUG-504 (Low): Long task title overflows during drag animation.
ISSUES:
- Q: What is the expected behavior when dragging to a deleted column? Should there be a conflict resolution dialog?
- Q: Is there a maximum number of tasks that can be dragged at once?
% ON CHARTER: 80%
% OFF CHARTER: 20% (investigated undo behavior and network latency)
AREAS NOT COVERED:
- Keyboard-only drag (accessibility)
- Drag between different boards
- Touch-based drag on tablets
Part 3: Debrief Summary
“The drag-and-drop session revealed a critical data loss bug: when a task is dragged to a column that was simultaneously deleted by another user, the task vanishes without any error or recovery option. Additionally, we found a high-severity race condition where concurrent editing and dragging causes unsaved edits to be silently discarded. The core single-user drag-and-drop works well, but multi-user scenarios have significant data integrity risks.
Recommended next session: Explore real-time synchronization specifically around delete operations and conflict resolution to map the full scope of data loss risks.
Risk assessment: The feature is not ready for production with the critical data loss bug. BUG-501 must be fixed and verified before release. BUG-502 should be fixed or mitigated with an auto-save mechanism.”
Key Takeaways
- SBTM makes exploratory testing accountable by dividing it into managed sessions with charters, time-boxes, and debriefs
- Session sheets document what was tested, what was found, and what remains untested
- The debrief is the most important meeting — it transfers knowledge and shapes the next session
- Metrics (sessions completed, bugs per session, % on charter) enable reporting to stakeholders
- SBTM occupies the sweet spot between the flexibility of exploration and the accountability of scripted testing
- Plan sessions based on risk — high-risk areas get sessions first
- Session sheets serve as lightweight documentation that makes exploratory testing visible to the entire team