Code Coverage. 100%

The question ‘do we really need to test constructors?‘ led me to understand that what 100% code coverage means and why we should strive for it.

Previously I’d always stated that it’s impossible to achieve 100% code coverage. Because 100% coverage means 100% coverage of that you believe to be the system’s functional paths. In other words: it is not 100% in reality. And it’s highly likely to people would write useless tests to reach that 100%.

Continue reading Code Coverage. 100%

What Is Exploratory Testing and Why It Is Great (Aka ET 101)

I’m pretty sure you have heard things about Exploratory Testing, you have most probably heard about how awesome it is. (Yes! This is the secret weapon!) And you may think you know it ALL. You are doing it, your team is doing it, so all should be good, according to the big book of plans you are all covered.

When you say or hear that someone was finding bugs by “just clicking around and found these issues, I did some exploratory testing“, then you can be as certain as death and taxes that it was not exploratory testing.

When you hear from the scrum master/whoever that “let’s do some exploratory testing before the live release just to make sure that everything is fine“, then you can be certain that they have no idea what they are talking about.

So what’s the point of Exploratory Testing? WHY is it great?

There is a psychological background. Let me explain.

Continue reading What Is Exploratory Testing and Why It Is Great (Aka ET 101)

Biases And Fallacies In Short

I tend to find that the words bias and fallacy are often used as if they were interchangeable. But there is a difference.

Some fallacies are committed intentionally to manipulate, while others are committed unintentionally due to carelessness or ignorance.

With practice, we can learn to recognize and completely avoid mistakes of logic. This is not true of biases.

While faults of logic come from how we think, and thus we can simply change our thinking to be more logical, biases arise from the very cognitive machinery that allows us to think. Behind every cognitive bias is a mental process which is automatic.

Continue reading Biases And Fallacies In Short

What can testers learn from economics? Opportunity Cost

In the microeconomics books you can meet the term: opportunity cost or alternative cost.

When me make a decision, we discard the the alternatives. With the opportunity cost we can give a weight of the lost possibilities, in other words the benefit we would have gotten if we had chosen to do something else, the roads not taken. It can happen that we don’t even consider in other options other than what we are doing, because we are busy concentrating on the obvious.

Tl;dr: every opportunity has a cost.

Continue reading What can testers learn from economics? Opportunity Cost

What can testers learn from psychology? Inattentional Blindness

Actually, there is a lot to learn from sciences, that can help testers to be better in their job. I’m focusing on inattentional blindness here.

By definition inattentional blidness is the failure to notice a fully-visible, but unexpected object because attention was engaged on another task, event, or object.

How many times have you been browsing through the software you’re testing and missed an obvious bug? How many times have you felt that you should have noticed the issue that was reported by someone else?

Continue reading What can testers learn from psychology? Inattentional Blindness