Once upon a time
…there was a bug, hidden in the software. But he was different, because he, unlike all other bugs, wanted to be found. He knew that his existence might cause a lot of evil and panic in the human world. That’s why he was upset, when his line of code wasn’t found during code review. All static analysis has been done slovenly and inaccurately. That was probably the reason, why he and his buggy friend haven’t been found yet. All hope lies QA team. He believed that their tests will do the trick and he will be located. He will finally be able to disappear, not harming anyone. Because he was not a hero – he was a bug.
Our little monster was so happy when he saw a group
of testers starting their job. His buggy heart had beaten faster, when he saw
how new Test Cases started to appear on the screen. But wait… – he looked at
the screen incredulously- those tests were incorrectly implemented! They only
checked random cases, and the description was so brief. They will never find him
if they continue in this manner! Our bug knew what would happen if he was sent
into production. He crossed his fingers, hoping that they will come up with other
ideas. He noticed how other lines of code lighting up from time to time,
indicating that they were being tested. However, to his despair, his line remained
dark. All of a sudden, a bug saw a new person walking into QA team’s direction.The Tester took a peek at the Test
Cases and started to write something on board. Yes! He proposed Pairwise
technique as an extension to standard Test Cases. Bug jumped, full of joy, knowing
for sure, that he shall finally be found. However, when he glanced at the
blackboard, his enthusiasm burst as a bubble. Cases mentioned in the table were
insufficient… The Tester did not even point all the required pairs. Although he
chose the good technique, he didn’t know how to use it properly. Bug realized
that he will not be found. So, when QAs finally implemented the table, he was
sitting there on his line, lonely and full of sadness, knowing that there’s no
chance they will spot him. Not this time.
Next morning, some
noise woke him up. This was the sound of lines of code being run! Was it possible?
There was no QA team in the room. Nevertheless, tests were running with high
speed and accuracy, checking more and more lines of code. That might be it! That
were automation tests, going through another iteration. They were supposed to
run all night, so they had to find him finally. But his enthusiasm did not last
long. Why are they testing the same condition over and over again? And yes, his
colleagues were being found one by one, but he was still there in the
code! Meanwhile, the testers who came to
work were happy as their tests glowed green. That meant that they worked well. Or
so they thought… So little they knew! Automated tests might have been fast.
They might have even checked plenty of scenarios. But it didn’t matter since
they were testing the same things repeatedly! Our
bug started to be frustrated. How hard was it to find him?! He was in the same place all this time, didn’t
even move a bit. And yet, they still didn’t notice him.
Day in, day out,
testing technique has been changing. But out hero, full of sorrow, was still
sitting on his line of code. Suddenly something sparked his interest-
buzz-words that the people in the room were talking about. Did he hear well? “Exploration”
and “testing in pairs”. That might be it! He had heard many good things about
both of these techniques. Exploratory testing- for some it was the only useful technique, for the
others it was too chaotic and unacceptable. And testing in pairs – “two heads
are better than one”, as they say in the human world. Hope returned! When QA
guys were sitting together in front of a computer, he was sure, that soon he
will go to the better world, where he’ll join other solved bugs. Oh what a joy
it would be! He was excited, when he saw lines of code around him, once immersed
in the darkness, now starting to shine for a first time. It was the day! It was now or never. With raising
excitement, he was waiting, until his line will be finally tested. But
suddenly, number of lines under testing was getting smaller and smaller. Meanwhile,
at the screen instead of software, some funny cat picture, football shortcuts
and other interludes showed up. QA has a lot of fun in the intervals between
films, checking the selective part of the software. That is how exploratory
session looks like, when you are not prepared accurately. Without any elements
of idea or thoughts. Hope disappeared like a flame on a match.
Current sprint
passed and our bug was finally released into production. As he suspected,
nobody noticed him during UAT. Because it doesn’t matter how many techniques
you are using. If you are using them wrong, you will never find what you’re
looking for.