Crafting Custom Tools
A tutorial at Agile Testing Days
Huib, Bart and James
Not for public consumption at the moment
Promise
A lot of the activities you need to do as part of test execution/validation/testautomation you can ‘automate/generate’ by building your own tools, either by combining existing tooling or GEN AI.
Key learnings
- Automate to simplify test processes and access new ways of working.
- Defer dull and precise testing jobs to simple tools.
- Use existing tools, libraries and GEN-AI to build your own tools.
Build the Right Tool for Right Now
Efficient testing needs good tooling – and the right custom tools enable powerful, focussed test approaches. In this innovative workshop, you’ll combine common, accessible tools to build automation for your own testing tasks.
We’ll focus on testing-relevant work like comparing datasets, generating bulk data, wrangling environments, enhancing unit tests with custom matchers and exploring code with generated UIs. We’ll use spreadsheets, shell prompts, and LLMs to access simple automation that perfectly suits your teams’ needs.
After a grounding in the basics of building tools for tasks, our three experienced presenters will help you work together on custom tools. By the end of this interactive tutorial you will have the confidence and starting skills to work on your own toolset – and a handful of example tools that you’ve already built. Enhance your testing powers by making the right tool for your work.
Tools
We can all buy or find tools – this is about making tools, generally by chaining and redeploying tools we can all access.
A tool is something we control that does something better than we can unequipped. In the physical world, tools generally have a place where the human interacts, a part that changes force or size or precision, and a place that interacts with whatever is being worked on. Tools generally outlast the work, but disposable / ephemeral tools are important, if easy to overlook. A tool may not do the work, but make some part of the work possible; we can do some without a ruler or a dust sheet, but we might well not choose to start the work.
In testing, we use tools all the time. To work as professionals and as craftspeople, James (+) reckons you need to be able to make the tools you need.
Logistics
We run in 08:30 – 10:00, 10:30 – 12:00, 13:00 – 14:30, 15:00 – 16:00
You'll need something internet-connected that you can type on.
To have in mind
Materials
All exercises labelled x.0 for now
Setup
Scoping Exercise 1.0
Talk to your table.
- Who are you?
- What do you expect to do/learn today?
- What tool would YOU like to build?
We'll share with the room – and in particular we'll try to capture the tools you want to build, and work towards them.
Part 1: Simple Tools for Complex Tasks
Tool Exercise 1.0 – How to Count
Count the "Bart"s, "Huib"s and "James"s in ATD's page for this tutorial
- Use whatever method you like.
- Then use a different method or tool.
- Compare
Your workbench
We'll be working in VSCode in the browser – but you can work on your own machine if you like.
Environment: customtools.workroomprds.com
The environment clones the repo: https://github.com/workroomprds/customtools_atd2025
Simple tools
James uses this framework: Parts for Tools

JL: list of tools by purpose in collection, list of patterns
JL: exercises – people to pick? Go for parts for tools?
Marketplace – what have we built?
Review – Is it closer to what we wanted to build?
Part 2: Spreadsheets as Universal Tools
Marketplace – what have we built?
Review – Is it closer to what we wanted to build?
Part 3: Generated Tools
Marketplace – what have we built?
Review – Is it closer to what we wanted to build?
Part 4: Build your own
Marketplace – what have we built?
Review – Is it closer to what we wanted to build?
