Testers need to talk about evidence and their confidence in that evidence. As part of that process, we must be able to speak precisely so that we achieve at least two things:
- The credibility that comes from being seen speaking precisely.
- Clear communication about what we do and do not know.
I assume you are a tester. By the fact that you are reading this, I infer that you care about testing and that these things matter to you. That brings me to the difference between assumptions and inferences: today's topic.
An assumption is a proposition treated as true despite lacking sufficient evidence. Another way to say this is that you decide to rely on something without having tested it (yet). When I just said I assume that you are a tester, I was admitting that I don't actually have much evidence that you are a tester. I'm guessing.
Assumptions are not a sin. Testers need to make assumptions, quite often, for the same reason builders need scaffolding. A scaffold is not the building they want to build--it's a building that helps them build what they want to build. Thus, I might assume that my product has been properly installed and start testing it, only later to circle back and remove the need for that assumption.
An inference, on the other hand, is based on evidence; it is "the forming of a conclusion from data or premises." By definition, when we make an inference we think that the evidence is good enough. Inferences can be made based on assumptions, and so the authority of an inference isn't necessarily any greater than that of an assumption, but they play a different role.
Assumptions are at the beginning of a chain of formal reasoning. Inferences are somewhere down the line. Therefore, to say you are making an inference is like giving people a clickable link that says "See me about my underlying reasons, which I think are pretty good!" To say you are making an assumption is like giving them an alert box that says "Caution, this idea is 'beta' quality!"
So, don't confuse assumptions with inferences. If you use the word "assumption" when what you mean is "inference," you weaken your message. But if you are indeed making an assumption, it may be important to be up front about that.
Important note:
If you call out every assumption, you will be considered insane or joking. Speak about the more dangerous assumptions you might make, but don't say "I assume the air at this company is breathable, and not tainted with an odorless, slow-acting nerve toxin" even though, face it, that IS your assumption.