TPL2 content
Here's a Link
Articles
Here are some recent articles. For a more complete list, go to the full list of articles.
Parts for Tools |
Tool making from what you find |
Custom Asserts – what and why |
What they are, why they're handy, how to start |
Secrets at my Fingertips |
Tap it, unwrap it – how I send secrets with biometrics |
Tiny Tool: Summarise History Prompt |
A tiny tool to remind me what I've been doing in the terminal |
Tiny Tool: checkRefs.sh |
A tiny tool to see which files include one or more of a set of strings. |
cat, head and tail for Testers |
Line processors, file slicers, used everywhere, hidden powers. |
Weird Word 2 |
What do you mean, you didn't get my messages? |
Different LLMs do Different Things |
Can I substitute GPT-4, 4o-mini or Qwen3 for Claude3.5Sonnet? tl;dr: Nope. |
Workshop Costs |
Delivery costs for running a large tech workshop |
Clearing Cloudflare's Cache |
Diagnosing and acting on a cacheing problem |
Weird Word 1 |
Something odd and oddly-consistent in search and dictionaries |
Function is easier than Fit |
Comparative experiments in LLM coding and editing (p.s. we cheated). |
Thinking in Client |
Local terminology takes priority |
Submit! |
Who, me? |
Ephemeral Tooling |
Tools you throw away? Scandalous. |
Judging by Content, Delivery, and Bravery |
How I Judge Talks |
Exploration Without Interaction |
Exploring by observing and thinking. |
Unix Tools for Testers |
How commandline tools help testers. Mostly a list leading to a series. |
Current LLM tech stack |
Stuff I use to generate stuff |
Learning with an LLM |
An LLM is a powerful, flawed and delightful study tool. |
Videos
For a more-detailed list, go to the videos page
MoT Exploratory Testing Week 2021 |
I use Python to find surprises (for me) in the Python interpreter. |
Wicked Problems |
Testing contains several "Wicked" problems, whose resolutions are unclear until they are found. |
Outlines and Abstracts
For a more-detailed list, go to the outlines page
Hands-on, Tooled-up Testing |
A full day workshop on exploring systems with data |
Keynote eXtreme |
A keynote with a random title. And nobody – including the speaker – knows who speaker will be. |
Questions, Questions |
This interactive workshop will help you ask the right testing questions, of the right people, at the right time. |
Teaching Exploratory Testing with Code |
Concentrate on data rather than tooling and syntax |
Wrangling, Debugging and Testing |
Do we spend months getting our systems to a point where we can test? We do. Here's why, and what we can do about it. |
Wrangling, Debugging and Testing (conference talk abstract) |
It would be good to recognise that many testers spend most of their time not testing (in the sense of finding new useful info), but making their SUTs work at all. |
Papers
For a more-detailed list, go to the papers page
Exploratory Testing Notes |
Very rough notes from me as a younger consultant |
Exercises
To see collections of exercises, go to the exercises page
`sort` Exercises |
Play with `sort` to discover its capabilities |
Bring Me a Letter |
Interactive exercise on feedback. |
Building Short Exercises |
A meta-exercise for exercise builders |
Completeness (is a wicked problem) |
"Completeness" is a core problem in test work. Let's play with it. |
cURL Exercises for Testers |
placeholder Information about an endpoint Try curl -I "https://www.workroom-productions.com/curl-exercises-for-testers/" compare with curl -I "https://agiletestingdays.com/2025/session/the-art-of-crafting-your-custom-tools/" Using with other tools curl uses different output streams: * stdout: HTTP response headers/body * stderr: Progress information, error messages When curl detects: * Terminal |
Dealing with Disaster |
Thinking through what can go wrong, and practicing one's attitude and response. |
Diff Tool Exercises |
Play with `diff` – solutions available. |
Exercise – Cost of Trouble |
Exploring how we shape decisions about testing in the light what we imagine we might find. |
Exercise – Power of Variety |
Exploring testing decisions, thinking about the influence of our possible approaches. |
Exercise: Abstract Judgement |
Judging an abstract, and thinking about judgement |
Exercise: Becoming Coverage |
A game to play with colleagues to understand coverage more deeply. |
Exercise: Being Random |
Patterns emerge. Being random is hard. |
Exercise: Build Throwaway Tools |
Experience building ephemeral tools |
Exercise: Changing Input Mechanisms |
Play with one field and several input mechanisms. |
Exercise: Custom Asserts |
Play with building custom asserts |