Skip to main content


Showing posts with the label unexpected

Was there a test for that? No, and there shouldn't be.

The release shipped. For a while, the team felt good. The work was done, the team had achieved something, and that was rewarding.  Unfortunately for the team, it wasn't long before a problem was found. The Product Owner wasn't happy and had asked was going on down there in the galley, do we need new coders? Better ones? Hipster coders? The release shipped... After an investigation, some blushes, raised eyebrows and a couple of "Oh... Yeeeah's" they found the cause. A confusion had collided with a bodge, and the result was a mess. Should they write an automated - test for this problem?  An embarrassing mistake or a misstep can make us feel we have to do something . An action greater than a fix is needed. A penitance needs to be performed, to redeem ourselves, to make us right again. Sometimes the penitence is best spent adding a test for that issue. Especially if writing that test has a low cost, the frequency of the problem occurring is high or

The Obscure One

Heraclitus wrote these words 2500 years ago: "Ever-newer waters flow on those who step into the same rivers." or paraphrased in more colloquial English: You never stand in the same river twice. Known as the "The obscure one" to some of his contemporaries, he was known to make statements that were considered paradoxical and sometimes unhelpfully contradictory. I don't know about you  - but sometimes when discussing testing feedback - I feel like I am channeling the ghost of Heraclitus. His comments regarding walking through rivers are an apt description of our work with software and its versioning. Do we ever play with the same app twice? On a trivial level, we do. When we widen our view we can see that the waters have moved on. For example,  The time has changed. It may even have gone back to a previous date and time.  The code is probably located in a different memory location.  The app and operating system are probably facing different types of

Nobody expects the...

In a previous post I discussed one method I use to improve my testing skills, spending spare minutes testing a machine or website that is readily at hand. The example I used was Google's search, in particular its currency conversion feature. This is useful for getting practice, and trying to speed up my testing, that is - finding information more quickly. Another activity I perform is watching someone else test something. As testers, we are often asked to be a second pair of eyes, as its assumed that a programmer might not notice some issues in their own code. The idea being that you will not be blinded by the same assumptions, and will hopefully find new issues with the software. Using the same logic, by watching someone else test, I can examine their successes and failures more easily. I've asked many people to test a variety of objects, usually things to hand, like a wristwatch or something I've recently bought. One recurring pattern I have noticed is how programmer