Suggestions for the (New) Testers

A friend that I’m just getting to know runs a training and skills development program for new testers. Today he said, “My students are now starting a project which includes test design, test techniques, and execution of testing. Do you have any input or advice for them?” Here’s my reply. Test design, test techniques, and execution of testing are all good things. I’d prefer performing tests to “test execution”. In … Read more

Worlds in Collision (keynote at ConTEST 2021)

Michael Bolton – Worlds in Collision (keynote at ConTEST 2021)

Listen to Michael Bolton at ConTEST 2021. What happens when builders and testers work together to develop GUI testing infrastructure?

In this keynote, Michael will give a preliminary experience report on observing, working, and collaborating with an expert tester (James Bach, co-author of Rapid Software Testing) — and an expert automator, Michael Mintz (author of Selenium Base) on a testing and learning mission.

The story is ongoing, and only beginning, but already we’re learning about key differences between world views and mind sets, and how we might go about resolving them. Check out online programs at Test Masters Academy: https://testmasters

Lessons Learned from a Little Bug

Almost 10 years ago, I wrote a series of blog posts on project estimation and black swans. And, almost 10 years after that, Chris NeJame reported an observation about the following passage towards the end of Part 4 of the series: As Jerry (Weinberg) has frequently pointed out, plenty of organizations fall victim to back luck, but much of the time, it’s not the bad luck that does them in; … Read more

Exploratory Testing on an API? (Part 2)

Summary:  Loops of exploration, experimentation, studying, modeling, and learning are the essence of testing, not an add-on to it. The intersection of activity and models (such as the Heuristic Test Strategy Model) help us to perform testing while continuously developing, refining, and reviewing it. Testing is much more than writing a bunch of automated checks to confirm that the product can do something; it’s an ongoing investigation in which we … Read more

Finding the Happy Path

In response to yesterday’s post on The Happy Path colleague and friend Albert Gareev raises an important issue: Until we sufficiently learned about the users, the product, and the environment, we have no idea what usage pattern is a “happy path” and what would be the “edge cases”. I agree with Albert. (See more of what he has to say here.) This points to a kind of paradox in testing … Read more

It’s Not A Factory

One model for a software development project is the assembly line on the factory floor, where we’re making a buhzillion copies of the same thing. And it’s a lousy model. Software is developed in an architectural studio with people in it. There are drafting tables, drawing instruments, good lighting, pens and pencils and paper. And erasers, and garbage cans that get full of coffee cups and crumpled drawings. Good ideas … Read more

On Scripting

A script, in the general sense, is something that constrains our actions in some way. In common talk about testing, there’s one fairly specific and narrow sense of the word “script”—a formal sequence of steps that are intended to specify behaviour on the part of some agent—the tester, a program, or a tool. Let’s call that “formal scripting”. In Rapid Software Testing, we also talk about scripts and scripting in … Read more

Very Short Blog Posts (5): Understanding the Requirements

People often suggest that “understanding the requirements” is an essential step before you can begin testing. This may be true for checking or formal testing—examining a product in a specific way, or to check specific facts. But understanding the requirements is not a necessary precursor to testing, which is learning about a product through experimentation (a larger activity which might include checking) and creating the conditions to make that activity … Read more

Heuristics for Understanding Heuristics

This conversation is fictitious, but it’s also representative of several chats that I’ve had with testers over the last few weeks. Tony, a tester friend, approached me recently, and told me that he was having trouble understanding heuristics and oracles. I have a heuristic approach for solving the problem of people not understanding a word: Give ’em a definition. So, I told him: A heuristic is a fallible method for … Read more