Skip to main content

Looking Good, Testers!

 

Testing is inherently about looking because, put simply: 

If you don't look, you're not likely to find.

The interesting challenge is to look in the right way at the right place at the right time.

This is what motivates any kind of intentional testing: how can we put ourselves in a strong position to look for, see, and — crucially — recognise the things that matter to the people that matter, when they matter?  

--00--

Tools can help with this mission: using tools we can look more deeply, more broadly, for more complex patterns, for harder-to-spot traces, faster, more often, more efficiently, and so on. 

There's a trade-off, naturally. As the tool takes us further from the material being worked on we must either trust it more or check its results more thoroughly ... to the extent that we care about the results.

At a crude level, think of it as a spectrum. At one end we might have a knife. It's a tool I can use to cut things. I could eat my pizza without cutting it, but sliced segments make it easier to pick up and bite, and creates less mess than trying to tear pieces off or shovel the whole thing into my face. 

There's a tool here, and it has value, but the tool use is very analogous to hand use and the tool user is not far removed from the material, the pizza.

In the middle of the spectrum somewhere are search tools. We all use them on a regular basis and they indisputably have value, but they take us further from the source material. Ctrl-F in a document you are writing maintains proximity but searching the web is a different proposition — what was there, but missed?

At the spectrum's far end we find much of today's AI tooling. We know that they are flawed: they don't answer our request but instead generate a mathematically and linguistically plausible facsimile of an answer. We also know that this can be sufficient, and indeed genuinely useful, in some cases.

There's a tipping point on the spectrum at which we need to think about how sure we can be that tools will do the things we want and intend them to do. When we ask AI to summarise the requirements for a task by looking through a Jira ticket, its parent, siblings and related Confluence pages, how far should we trust the bullet points it returns?  

A summary is more than the "basic" information retrieval of a search task: it involves judgements about what to include, how to resolve conflicts, what level of granularity to use, and other factors. Can we have confidence that the editorial choices, wider context, and critical thinking align with what we want, expect, and need? And if we can today, does that carry over to tomorrow?

Well, no, we can't and it doesn't necessarily, and the less visibility of the source material we have and the less we choose to even look at it, the easier it will be for us to accept something as correct when it is not.  

--00--

But clearly tools are able to amplify, replace, or extend our puny human capabilities. They can do things humans can't, find things humans miss, generate data for humans to review, very reliably take on low-risk, mundane, predictable, repetitive tasks, and operate at a scale humans will never reach alone. And, even if we agree that tools can't be relied upon to be perfect, surely we aren't going to argue that humans can?

Go tools! Ditch the meatsacks! 

Well, let's not be hasty. People, or people controlling tools, or people supervising tools, can still have value. 

The map is not the territory: any abstraction, such as an AI summary, is not the raw material. Any summary of raw material, however accurate on whatever metrics we care to use, only takes into account that raw material. Humans bring context, and make connections outside of the material. In the Jira example, perhaps the connection is to a project they worked on last year, or a conversation about priorities that they overheard last week, or the current state of the market, and perhaps it invalidates some assumptions that motivate the work.

Let me give you an example: sometimes for that kind of task, in important, complex cases, I retype the requirements. Not an AI summary, not even copy-paste, but literally retyping them, gathering them from multiple places, giving them identifiers, sorting them into groups, standardising terminology, breaking complex phrases down into testable atomic chunks.

Too slow? Too boring? Someone else's job? Perhaps, but also forcing me to take my time to understand, analyse, correlate, cross-reference, contextualise. To learn. Looking is learning, and with that depth of learning I feel better equipped to direct my testing to the important areas now, and I've got context for later. 

It's the same when I come to testing the application itself. Sure, I could instruct an agent to see whether it can run an end-to-end user journey including the new endpoint (and I have done) but when I do that I am, at best, squinting at it in low lighting through a pinhole without my specs on. 

If that's all I do, I am giving myself no chance of spotting inconsistencies between this and another service in our product range, noticing poor naming conventions, feeling the pain of a developer trying to use this API, seeing opportunities for seams to exploit in further testing, and so on.

There is friction in engaging with a product directly and incrementally building a mental model of its behaviour, but there is learning in that friction: in the active looking.

--00--

The value proposition for automation is this: automate when the results matter but the details don't, and the cost is reasonable.

I could buy an automatic pizza slicing machine, but it's expensive, overkill for portioning the occasional pizza and, while the 10-year-old that still lives in my head loves the idea, it wouldn't even fit in my house. Nope. 

On the other hand, searches cost me nothing and I trust that the algorithms are largely a solved problem so I'm happy to delegate search to automation and allow myself to focus on the queries that will give me the data I need. 

But what about those AI summaries of the work requested, pulling in multiple perspectives and making judgements on my behalf? Erm, no. In general, if I'm going to work from those requirements, I care about the details and I want to look explicitly at what we know and give my peripheral vision the opportunity to make sideways connections. 

But the details are just one of the considerations I mentioned. Cost is the other. It costs me nothing to use a company tool to create the summary or, at least, I'm not personally out of pocket. But there are other costs of sub-contracting work: over time our skills rust, our memory atrophies, and the data that feeds our intuition gets dated.

I've heard many people describe using AI agents for work as being like management and I do see parallels: one person orchestrating action by others, distance from the actual work, the potential for the same kinds of costs that I've just mentioned. But do we all want to be managers? Do we all want to be the kind of micromanagers that today's AI tooling requires?

As with all tooling, intentionality is key. What do you need? What cost is reasonable for you, right now, to get it? What about in the medium and long term? 

--00--

There's a further consideration when considering tool use: what brings you joy? 

I enjoy testing. I regard it as a craft and I am unapologetically precious about it. As I have said many times on this blog, I use tools, including AI tools, to help me in my craft. I am not blind to the fact that historically crafts dwindle in the face of technology, but I do have sympathy for the position of Jeremy Atkinson, the last traditional clog maker in England:

"I often get asked whether I’m worried about competing with machinery. Traditional clog making started dying out as early as the 1950s, and while I will never keep up with machines when it comes to quantity, my bespoke shoes will fit better."

He stays close to his materials. He looks. He really sees the wood and the leather, and he sees his customers, and he sees his customers' context, and that produces better quality, if lower throughput.

--00--

My point here isn't that tools in general or AI specifically should not be used for testing. My point is that AI is at the far end of the spectrum representing a tool user's distance from source material. AI tools bring great potential but they are the darkest of black boxes with a paradoxically apparently open user experience and, importantly, low friction at the point of use.

All tools sit on that same spectrum, but AI's particular feature combination requires users to exercise particular caution. Not doing so would increase the likelihood that significant results are missed, system knowledge is eroded, and we let our testing skills wither.

This risk can be mitigated to some extent by intentional use and by taking care to stay close enough to the data, to the application, and to the system under test for the context. That is, by looking

Because testing is inherently about looking and the best testers are the ones who look good. (Even while eating pizza.)
Image:Andreea Pop on Unsplash

Popular posts from this blog

Meet Me Halfway?

  The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "Stop answering my questions with questions." Sure, I can do that. In return, please stop asking me questions so open to interpretation that any answ...

The Best Programmer Dan Knows

  I was pairing with my friend Vernon at work last week, on a tool I've been developing. He was smiling broadly as I talked him through what I'd done because we've been here before. The tool facilitates a task that's time-consuming, inefficient, error-prone, tiresome, and important to get right. Vern knows that those kinds of factors trigger me to change or build something, and that's why he was struggling not to laugh out loud. He held himself together and asked a bunch of sensible questions about the need, the desired outcome, and the approach I'd taken. Then he mentioned a talk by Daniel Terhorst-North, called The Best Programmer I Know, and said that much of it paralleled what he sees me doing. It was my turn to laugh then, because I am not a good programmer, and I thought he knew that already. What I do accept, though, is that I am focussed on the value that programs can give, and getting some of that value as early as possible. He sent me a link to the ta...

How do I Test AI?

  Recently a few people have asked me how I test AI. I'm happy to share my experiences, but I frame the question more broadly, perhaps something like this: what kinds of things do I consider when testing systems with artificial intelligence components .  I freestyled liberally the first time I answered but when the question came up again I thought I'd write a few bullets to help me remember key things. This post is the latest iteration of that list. Caveats: I'm not an expert; what you see below is a reminder of things to pick up on during conversations so it's quite minimal; it's also messy; it's absolutely not a guide or a set of best practices; each point should be applied in context; the categories are very rough; it's certainly not complete.  Also note that I work with teams who really know what they're doing on the domain, tech, and medical safety fronts and some of the things listed here are things they'd typically do some or all of. Testing ...

Notes on Testing Notes

Ben Dowen pinged me and others on Twitter last week , asking for "a nice concise resource to link to for a blog post - about taking good Testing notes." I didn't have one so I thought I'd write a few words on how I'm doing it at the moment for my work at Ada Health, alongside Ben. You may have read previously that I use a script to upload Markdown-based text files to Confluence . Here's the template that I start from: # Date + Title # Mission # Summary WIP! # Notes Then I fill out what I plan to do. The Mission can be as high or low level as I want it to be. Sometimes, if deeper context might be valuable I'll add a Background subsection to it. I don't fill in the Summary section until the end. It's a high-level overview of what I did, what I found, risks identified, value provided, and so on. Between the Mission and Summary I hope that a reader can see what I initially intended and what actually...

On Herding Cats

Last night I was at the Cambridge Tester meetup for a workshop on leadership. It was a two-parter with Drew Pontikis facilitating conversation about workplace scenarios followed by an AMA with a group of experienced managers. I can't come to work this week, my cat died. Drew opened by asking us what our first thoughts would be as managers on seeing that sentence. Naturally, sadness and sympathy,  followed by a week ? for a cat ? and I only got a day for my gran! Then practicalities such as maybe there's company policy that covers that , and then the acknowledgement that it's contextual: perhaps this was a long-time emotional support animal . Having established that management decisions are a mixture of emotion, logic, and contingency Drew noted that most of us don't get training in management or leadership then split us into small groups and confronted us with three situations to talk through: Setting personal development goals for others. Dropping a clange...

Bottom-up or Top-down?

The theme at  LLEWT this year was Rules and constraints to ensure better quality.   My experience report concerned a team I'd been on for several years which developed (bottom-up) a set of working practices that we called team agreements.   The agreements survived "natural" variation such as people leaving and joining and even some structural reorganisation which preserved most of the team members but changed the team's responsibilities or merged in a few people from a disbanded team. The agreements did not, however, persist through a significant round of (top-down) redundancies where the team was merged with two others.  I'm interested in thinking about the ways in which constraints on how people work affect the work and whether there are patterns that could help us to apply the right kinds of constraints at times they are likely to be useful.  I'm going to use this post to dump my thoughts. My starting po...

My Adidas

If you've met me anywhere outside of a wedding or funeral, a snowy day, or a muddy field in the last 20 years you'll have seen me in Adidas Superstar trainers. But why? This post is for April Cools' Club .  --00-- I'm the butt of many jokes in our house, but not having a good memory features prominently amongst them. See also being bald ("do you need a hat, Dad?"), wearing jeans that have elastane in them (they're very comfy but "oh look, he's got the jeggings on again!"), and finding joy in contorted puns ("no-one's laughing except you, you know that, right?") Which is why it's interesting that I have a very strong, if admittedly not complete, memory of the first time I heard Run DMC. Raising Hell , their third album, was released in the UK in May 1986 and I bought it pretty much immediately after hearing it on the evening show on Radio 1, probably presented by Janice Long, ...

The Best Testing I Could

Maaret Pyhäjärvi  posted the quote above on LinkedIn a few weeks ago. It speaks strongly to me so I asked Maaret if she'd written more (because she's written a lot ) on this specific point. She hasn't, and the sentence keeps coming back into my head and I'd like to understand why, so I thought I'd try to write down what I take from it. I think it's easy to skim read as some kind of definition of exploratory testing but that would be a mistake in my eyes.  Testing by Exploring  summarises how I felt last time I went into the definition in any depth and, for me, Maaret's quote is concerned with the why  but says nothing of the what or how . But let's say we have a shared definition of exploratory testing, would I make this statement this baldly generally? No, I probably would not. Why? First, it's written in very personal terms (" my time", "the best testing I could") and, second, as a  contex...

Open Your Mind

Jerome Groopman, in How Doctors Think , reviews ways in which doctors can make poor choices, identifies potential causes, and suggests some practices, for both doctor and patient, that can help to prevent them. I find this interesting for a couple of reasons: first, I work in the health space, although not in a therapeutic area and, second, I like to reflect on my own thought processes. I'll take three broad themes from Groopman's analysis: the business of healthcare and how that impacts a physician's ability to practice; the doctor-patient relationship and how that impacts the experience of both sides; and the cognitive failings that impact a correct and timely diagnosis for any given patient. Naturally, these overlap. The book is written from the perspective of the notoriously commercialised American medical system and is around 20 years old, so doubtless some of the details are different outside of the US and have changed since pu...

Vanilla Flavour Testing

I have been pairing with a new developer colleague recently. In our last session he asked me "is this normal testing?" saying that he'd never seen anything like it anywhere else that he'd worked. We finished the task we were on and then chatted about his question for a few minutes. This is a short summary of what I said. I would describe myself as context-driven . I don't take the same approach to testing every time, except in a meta way. I try to understand the important questions, who they are important to, and what the constraints on the work are. With that knowledge I look for productive, pragmatic, ways to explore whatever we're looking at to uncover valuable information or find a way to move on. I write test notes as I work in a format that I have found to be useful to me, colleagues, and stakeholders. For me, the notes should clearly state the mission and give a tl;dr summary of the findings and I like them to be public while I'm working not just w...