Testers Prevent Problems, every day


Earlier Today, I read an article from the notorious tester Michael Bolton titled “Testers don’t prevent problems“. I would like to use an example to counter this assertion end expand the conversation.

Disclosure – I am a firm believer in prevention over detection in product/software delivery.

The Fact– In today’s news, we read that the ECB will be stopping the print of the 500 euro banknote because of its association with money laundering and terror financing.

(Source: The Guardian)

The Problem: According to the article, producing 500 euro bills was an error. It is a bug in the product “Euro currency bills and coins denomination”. In fact such bug has caused quite a lot of problems to our society according to what reported in the article.

Larry the tester – Let’s imagine that Larry, a tester, happened to be in the room where people where deciding the denominations of the euro notes. Let’s imagine he said “Hang on lads, this could be a problem as it would be easy to conceal large sums of money and smuggle them. Banknotes this valuable might help illicit traffic, should we stop at 200 or maybe even at 100?”

Let’s assume there were smart people in the room that decided to take the objection into consideration, made research to prove its validity and as a consequence decided not to print the 500 euro notes.

The Question – Could we say that Larry had helped prevent the problem?

I say yes, how about you?

29 thoughts on “Testers Prevent Problems, every day

    • Hi Vernon, thanks for your question. I like it because it is a difficult one. It is difficult because when I wrote the post i didn’t do it because I had a goal to achieve, but because I felt uneasy with the concept that I could not prevent a problem.

      To keep it short, I prevent bugs and problems for a living, it’s my job. I coach people and teams on preventing bugs and problems. I am quite good at it actually, to the point that people pay me good money for it. This is what I do, not things I theorize about.

      Having people saying that “I can’t prevent problems” is like if they said that I am either an impostor or that I don’t know what I am doing.

      I hope this clarifies

      • Well, I totally agree with you. I like to think that our job should be focused on prevention mostly, which is the cheapest of all. Detection means that time was already spent in something faulty, if not completely wrong. I even pull metrics on how much time my team spends on Prevention, Detection and Failure with the goal of moving all the effort possible forward to Prevention. It’s hard to convince people though, that this is the most valuable aspect of our job!
        (I didn’t read Michael’s article yet, so I am not saying I disagree with him here)

  1. Yes, he helped to prevent the problem. And Michael said the same “So, as a tester, I don’t prevent problems. I play a role in preventing problems by helping people to detect errors. That allows those people to prevent those errors from turning into problems that bug people.”
    Did I miss something?

      • Hi Augusto.
        I like your argument in the our twitter thread about the team responsibility. So if tester’ activity based on his expirience, thinking and etc, helps to prevent an issue – does he prevent an issue or take part in the prevention as a team member?
        Are “help to prevent an issue” and “prevent an issue” the same fo you? Is it sophism or something like a “Game of Words”?

  2. Augusto I don’t know why you bother with a reposte against this symatic bullshit.
    Sophistry that has been clung to in order to maintain a thread of an argument that is so entrenched that common sense has been lost!

  3. Hi Augusto,

    Your post is very updated. I heard about that 500 euro banknote story on TV last night. One interesting point I heard is that that 500 banknote has been there for 10 or 20 years, but most of people do not know about that banknote. It could be considered as a waste (building a feature that few people use :-))

    Go back to your post and I also read Michael Bolton post and think what’s he’s trying to convey is that testers just detect *error* to help prevent problems get worse and that software testing does not prevent the problems on themselves.

    That’s what I think or I should go back and re-read his post.

    • Hi Tahn, thanks for your message.
      The banknotes have been in circulation since the 1st of January 2002 when the euro got rolled out to Europe. You are right, the 500 notes are not very common, in fact I have never seen a 500 in Ireland (where the biggest denomination issued by banks is the 50 euro note) but I have seen them in Italy and Spain. So on top of being dangerous they might be wasteful as you rightly point out 🙂

      Look at the problem as described in my post above (The Problem)
      Can we say the problem didn’t exist before the meeting at the ECB where denominations were first created?
      Can we say the problem exists now?
      Can we say that if Larry had his say the problem would not exist now?

      Now based on a dictionary definition of the word prevention that says “the action of stopping something from happening or arising.” I can say that Larry could have prevented the problem, what do you think?

  4. Larry the Tester is a tester because of his last name? Also I would say he helped to prevent the problem, but the preventers were the people who decided not to print the banknote. He provided information. He did not prevent the problem. That would be true even if he was Larry the Developer, Larry the Economist or Larry the Wiseguy. I believe that is what testers do, provide information, uncover the problem so it can be prevented, but we do not prevent the problems per se (most of the time at least).

      • That depends whether Larry is influential enough, but it’s rarely the case that a tester can make such a decision. As I said, testers can provide information to decision makers. Based on that information decision makers might prevent some issues. At least that’s how I see it.

          • You are right and you are wrong at the same time, me too btw. As everything depends. Let’s assume the tester thinks about something that might be a problem, brings that to developer or a stakeholder and they decide this is valid concern and take action. Possible problem possibly prevented! Now assume the same tester uncovers some problem, informs everyone involved, but it’s decided that it might not be a problem at all or is something that can be fixed later or not at all. Problem prevented? Nope. Was tester’s work meaningless? Nope, information is out there. Possible problem is known. For me it’s job well done. In both examples. Some testers might prevent possible problems, some might not. Just in my opinion, it’s more important for the testers to provide information than to try to prevent problems (unless you’re talking aout small projects where everyone knows everything). EOT and thanks for the conversation 🙂

  5. Testers are responsible for helping their group produce a quality product, and part of that is absolutely preventing problems wherever possible.

    The ultimate decision may well lie with the group as a whole, but enabling their group to make good decisions by providing them with good, considered information based on their experience and knowledge is exactly what a tester does.

    If a tester is just flinging information over a wall and playing no part in the resulting discussion/decision, I wouldn’t be overly impressed.

    Even if we go further into semantics, the phrase used, ‘Testers don’t prevent errors’ is again, I think, wrong. If a tester is pairing with me and says ‘So what would happen if someone created an unexpectedly large video and the transfer time is greater than you’re expecting here?’, that’s an error prevented.

    • In your example technically it’s you that prevented the issue thanks to the information provided by the tester 🙂 That’s what testers should do, provide information so that everyone can make informed decisions. To make things clear, I don’t think they should just fling info over the wall and leave it, they should definitely be “enabling their group to make good decisions by providing them with good, considered information based on their experience and knowledge”.

  6. I agree tester prevents problems. By asking a right question you are preventing a problem. By finding a problem in time you prevent the consequences.

    Yes they don’t prevent the problem in some cases(if its already in the code) but they prevent a bigger problem i would say as it helps before it goes into production.

    When tester participate in static testing(document review) etc and ask few questions, in those case they are preventing problems. In fact everyone in the review be it tester,BA or Dev

  7. I had a discussion recently about preventing problems… Hence why I’ve done more research and found you post again 😀

    Although I’ve used that perspective in the past (of “preventing” problems), I’ve found that through changing my perspective when talking about this, I can reach more people with getting them to understand my goal – to get the team involved sooner, when the idea of the new feature/software arises.
    So I now say that we “can discover problems in the idea”, rather than “can prevent problems in the product”.

    It means the same. I’m just being more explicit in talking about that earlier phase of the lifecycle where we have some discussions before we even start tahinking about developing a product, rather than talking from the perspective of preventing something from occurring in a developed product…

    For me, this is a whole team testing activity, so could equally be Larretta the developer who discovers a problem with the idea (aka prevents the problem in the developed feature).

    • Thanks for your feedback Dan.
      This is exactly my approach, I don’t specifically tell people let’s prevent problems, tell them let’s design the best product possible by testing our own ideas.

  8. So Larry the Tester reckons that the €500 note is a bad idea, and as a result of his decision _alone_ no €500 note is produced? I don’t think so. Let me give a counter example. His next job is at a Scottish bank instead of the ECB. He discoveres that someone there wants to produce a banknote of £100M. That’s one hundred million pounds. More than two hundred thousand times the value of the note he “prevented”. So it’s a no-brainer that he’ll prevent this as well, isn’t it?
    WRONG. Scottish banks produce £1M and £100M notes (in very small numbers) for exchange with the Bank of England (the UK’s central bank). So Larry’s objection will be overruled by someone who knows more about the situation – let’s call them the Product Owner or the Customer. Turns out he actually didn’t prevent the €500 note either. He provided information to the ECB’s decision-makers who having considered his observation, decided they had no equivalent need for large notes.and so scrapped the note (or didn’t was was the case in reality).
    Larry is not able autonomously and by his own authority, to prevent this problem. Therefore whilst he might, in casual speech claim to have prevented it (and that’s OK), the fact is that he did not. He provided information that helped prevent it. And it is an important distinction, especially when a tester’s observation is NOT cted upon.

    • Thanks for your feedback Paul. The information that Larry provided helped prevent it, as you say. Same as the instructions on a medicine can prevent people from poisoning themselves with wrong dosage, in that case too, people can decide to eat the full box of pills, the instructions can’t stop them, but at the same time they help prevent the misuse of the medicine for the people that care to read.

      Have a look at definition #3 here https://www.merriam-webster.com/dictionary/prevent
      Does Larry keeps the 500 euro note from existing? Does the information he provides keeps the 500 euro note from existing? Does the combination of the person, the information, his ability to express his point and the intelligence of the other people he works with keep the 500 euro not from existing?

      I don’t want to start a semantic battle, I believe that testers can add massive value when they focus on preventing issues and I have been doing it for many years. Whether I prevented them or my idea did, or my ability to communicate did it, or the ecosystem within which the problems was prevented was important is not relevant to me. To me (and my clients) it is important that we didn’t produce a banknote that we will have to destroy in the future.

      On the Scottish bank needing larger banknotes I won’t comment as it is a different problem from the one I mention in the article.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s