Instead of asking “What tests should I automate?" consider asking "What specific fact do I want to check? What’s a really good way to check that fact? Is that the fastest, earliest, easiest, least expensive way to check it? Do I really need to check this fact? Is it worth it?"
"What risk am I addressing by checking this fact? Is it a serious risk? Why do we think it is? Is that foreboding feeling trying to tell us something?

"What problems, near here or far away, might I be missing as a consequence of focusing on this fact, and checking it this way?"
"Do I know enough about the product, and where there might be problems, to be sure that this fact really is the most valuable thing to check? What would cause this fact to change? Is that likely? Am I the right person to take responsibility for checking it? The only person?"
For each fact you're thinking about checking, consider those questions.

"But that will take a long time!", you might reply.

Not that long. Compare it with how long it takes to develop and run and interpret and revise and review and maintain even one worthless check.
Now it’s true, you can save some time and effort in that process by not interpreting and reviewing and maintaining the checks. That is, essentially, ignoring them. But if you’re not going to pay attention to them, why bother with them at all? Plus they might lull you to sleep.
With practice, the questions that I offered above can be asked routinely far more quickly than automating even one check. Ask your own questions too. If you pay attention to the answers, you can be more sure that every check is powerful, valuable, and inexpensive.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Michael Bolton

Michael Bolton Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @michaelbolton

9 Oct
Testers: feel like there’s too much to test? Start by surveying the product and creating a coverage outline. Next, try quick testing that finds shallow bugs. This highlights product areas and failure patterns that prompt suspicion about the risk of deeper, more systemic problems.
Others on the project may identify bugs and risks. The difference in the testing role is that probing for problems and investigating them is at the *centre* of our work. For everyone else, that’s a part-time job; a distraction; an interruption of the primary work; a side hustle.
Just as people doing development work don't typically do sales and marketing, HR, or accounting, they don’t do deep testing either. That can be totally reasonable; they've got productive work to do. But if there's no testing expertise on the team, expert testing won't happen.
Read 20 tweets
5 Oct
1) Still having trouble logging in to Facebook, but for mundane reasons. See, apps with 2FA send an email or a text message when you ask for a password reset. But unlike machines, people are impatient, and mash that "request reset code" button multiple times.
2) As a consequence, several reset codes get sent. Because of email latency, who knows when the most recent request has been fulfilled? So the most recent code in the email box might not be the most recent one sent, so things get out of sync.
3) This gets a richer when Messenger notices trouble. I get email from Facebook: "We noticed you're having trouble logging into your account. If you need help, click the button below and we'll log you in.” Then there’s a one-click button that will allow me to log in to Facebook.
Read 39 tweets
24 May
18. Learning about problems that will threaten value to customers certainly requires scrutiny from the builder/insiders' perspective. The code shouldn't be inconsistent with builders' intentions. And among themselves, the builders can be pretty good at spotting such problems. /19
19. But to be really good at spotting problems that threaten customer value requires builders' savvy PLUS a significant degree of estrangement from the builders' set and setting, and requires immersion in the consumer/outsiders' form of life. And there's a problem here. /20
20. The problem here is that, with a few exceptions, *deep* immersion in the user/consumter/outsider form of life isn't easy to come by for most testers. Some testers have come from the product's intended domain; that can help a ton. Others study the domain deeply; also good. /21
Read 6 tweets
24 May
5. This is not to say that testers can't be helpful with or participants in checking. On the contrary; we likely want everyone on the team looking for the fastest, most easily accessible interfaces by which we can check output. Testers know where checking is slow or expensive. /6
7. But here's something odd: testers don't always point out where checking is slow, difficult, or expensive—and, just as bad, maybe worse—where checking is misaligned with product risk. I suspect there are some fairly gnarly social reasons for this goal displacement. /8
8. In some organizations, testers prestige is based on programmers' prestige. Do you write code? Then you're one of the cool people. You don't? Then who needs you, really? This is a mistake, of course, but it's true that testers don't produce revenue. /9
Read 6 tweets
24 May
The tester’s mission is not the builder’s mission. The builder's mission is to help people's troubles go away, envisioning success.

The tester's mission is to see trouble wherever s/he looks, anticipating failure. The tester’s mission helps to serve the builder’s mission. /2
2. The tester's mission helps to serve the builder's mission in at least two ways: a) in noticing where initial problems persist; where the builder's work might not be done yet; b) in recognizing new problems that have been created while attempting to solve the initial ones. /3
3. Some problems can be anticipated, and then noticed by performing checks in a rote or mechanistic way. That kind of checking is part of a disciplined development and building process; very good to do, but it doesn't hold much hope for identifying many unanticipated problems. /4
Read 4 tweets
22 May
20) If you present testing as a complex, cognitive, *social*, *self-directed*, *engineering*, *problem-solving* task, I guarantee more programmers will happily throw themselves into it. And, if you have testers, MORE TESTERS WILL TOO. So what is the problem to be solved here?
21) One big problem is: we have a new, complex, technological product that we intend to help solve a problem; and that we may not understand the problem or our solution as well as we'd like; and whatever we don't know about the all that could bite our customers and could bite us.
22) Finding problems that matter in that product is greatly aided by access to rich models of the product itself; of customers, how they use it, and what they value; of who else might be affected (support, ops, sales...); of coverage; of recognizing possible trouble; and of risk.
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(