I’ve been asked to do a short presentation on testing for a bunch people on a ‘get into tech’ course. I want to gather some definitions to 1) give me inspiration and 2) give some people ideas on what testing can be, given how many things you can do under ‘testing’
“Testing is like evidence-based journalism. Often you check and report on stuff that you know is gonna happen. And often you discover more to the story that you’d planned for. The Prime Minister reads from the pre-arranged script and you check against that. Meanwhile, a bunch of protestors unexpectedly rock up. For sure you report on both and generate a useful and meaningful story of your discoveries.”
“Sometimes testing is likened to a hammer. As in, you just try to break stuff by bashing it as hard as you possibly can. I don’t subscribe to that view. Instead, testing is more like a torch. You shine the light on what’s already broken. The challenge is to discover where best to shine the torch.”
I have learned that favourites changes over time, and that past terminology linger a long time (looking at you istqb). Here are a couple of mission statements for testing collected in 2012 (hello STC old buddy). I’m pretty sure there are organisations that still use them. All of these where my favourite at the time, as I co-wrote them
My normal answer is to ask if they’ve ever done a jigsaw as that’s a universal (generally speaking) analogy.
“With the art of assembling a jigsaw people generally look at the box art as a starting point. This gives them the specification of how the finished jigsaw will look. From there people use what’s known as heuristics to assemble the pieces to fit the specification; they select pieces with two flat edges and they know these must be the corners. They move and rotate those pieces until they fit the picture. Then they select all pieces with a single flat edge and start a process of trial and error piecing them together, again using heuristics of colour, shape, patterns etc to know what’s right or wrong for the specification. Throughout the process they also glean more information from the specification on where things may supposed to be positioned. Slowly over time the puzzle takes shape.”
“Now imagine at some point you find something you’re unsure of; a piece that’s too thick, too thin, too big/small, faded or incorrect colours etc. Those questions would be raised as ‘bugs’ if you’re certain you have the correct understanding of what that piece is supposed to look like, or conversations with the team if there’s doubt”
“Taking a step further, what happens before the puzzle is assembled? Testers will ideally be involved from the outset to raise questions or concerns before any work is done on the jigsaw’s creation. What is the jigsaw for? Is it for children (dangers of smaller pieces, cardboard pieces being easily destroyed, image subject matter, complexity of the puzzle in terms of number of pieces, size of pieces, puzzle design etc), for adults, for beginners, for advanced puzzlers, to be played outdoors or indoors, to be a budget puzzle or a flash centre piece etc.
Testers ask questions to reveal information, and use the information to investigate the risks of the thing being tested.
When I think about what I enjoy about testing, and trying to explain it to others, I focus on how I try to think of all the bad things that can happen, and try to see if I can’t make them happen. If the wrong things can’t happen, brilliant! It can only do what it should. If it can do something it shouldn’t, then we can think about how to stop it, or even if we should.
Reinforcing the comments above, it’s the investigation and working things out that I enjoy about the job, coming up with the ideas are often more interesting for me than the execution can be at times.
tldr: Testing is the art of making reality more accessible.
(Also a useful twitter thread for ideas)
Testing is being a user and doing the things that a user IS and ISN’T supposed to do.