I've stumbled across a familiar problem. I've started to write about several subjects. I've been writing with pure joy, from the heart, but when it comes to the the actual professional stuff, the boring stuff, the joy stopped. And so did the writing. According to Belbin Team Inventory assessment, I have very strong tendency towards Resource Investigator and Plant, with a hint of other roles, but no Completer/Finisher. Not even a single bit. Ok, Wikipedia puts Completers/Finishers to be quite anal characters, but it see them as people who get things done, which is an admirable quality. And I lack that, dammit!
And there I go again with the jibberjabber! To dodge this issue, instead of sticking with the original plan, starting with the basics of testing, I'll just write about this happening I participated and how it grew thoughts in my mind...
So. I live on an island. In a part of Helsinki called Lauttasaari, to be exact. We “larulaiset” (Lauttasaari people) are friendly and helpful folk, known to take care of our environment. Even the children are grown into this, which is marvellous. So every year this happening is organized, where us good people of Lauttasaari spread across our beautiful island and clean it from trash. The happening is actually the biggest self-supporting one in Finland, and we’re mighty proud of it.
As I roamed through Lauttasaari and picked up the trash I found, I started to reflect my doings to software testing, and found it relevant. Trash just happens, as do software bugs. And for numerous reasons. We might have control over a lot of things, we might have all these tools to prevent bad things from happening, but still the uncontrollable is always present, producing the unwanted. And there we are, finding it, picking it up and making it to go away.
Be proactive! |
Then it hit me! Our sead-side location! The shore! In terms of software testing, when I was picking up the trash from forest, from the side of roads/sidewalks, bushes and hedgerows, I was just system testing. I was inspecting an environment that's not under the influence of other environments. But the shore is like a big integration, bringing up all kinds of trash to our environment. And boy was it dirty! It was low-tide (see: state-based testing) so all the nooks and crannies were filled with all kinds of trash; styrofoam, rubber tubes, even car parts! The jackpot! I was with my better half Malin and we basically cleaned the whole southern part of Lauttasaari shore by ourselves. I came to think why were we alone there? There were hundreds of people cleaning the island, but no one thought to go to the shore? Unlikely, so I developed another theory... Cleaning up the shore was by far the dirties task even though it produced the best results. We crawled in the mud and picked up all kind of... well... shit that turned our stomach. And that's not for everyone. An analoque can be made to software testing; To find the worst of bugs may require you to get your hands dirty. Digging code, databases, networks, going deep into the technical stuff... It might take days to find that one good bug, but it might be worth it.
I often use this kind of reasoning when I'm doing exploratory testing. James Bach put it the best:
"To the extent that the next test we do is influenced by the result of the last test we did, we are doing exploratory testing."
Ok, more about the people picking up trash/finding bugs. A lot of people just don't find them. That's completely natural and can be fixed through experience and training. "Mistakes are a part of being human", someone said. But as I said, some won't get their hands dirty. There are those who'll hunt the most important ones, which are often the most visible ones to get on that professional's throne. Some hunt only the familiar ones to prevent them from falling from that same sweet spot. These people intentionally leave a lot of problems for others to clean and I've experienced them to be one of the most dangerous people in software industry: Elitists. Often at the time of finding a problem, there's no knowledge of how serious the problem is or how ofter would it show itself. A small typo which directs monetary transactions to competitor's account... A small amount of poisonous substance near groundwater source... Of course experience and close collaboration with business/end users helps to interpret the situation, but it's usually wise not to overlook any findings, bugs or trash. Developers are often taught to not to produce "over quality", but like testers they are not entitled to make that decision. That's buyer's job.
Quality is the buyer's opinion! I'll write more about this in my upcoming post The Quality. Stay tuned!
Quality is the buyer's opinion! I'll write more about this in my upcoming post The Quality. Stay tuned!
Nethack, a masterpiece of volunteerism! |
The final words I Googled...
"Those who can, do. Those who can do more, volunteer."Yours truly,
Sami "Treehugger" Söderblom
PS: Next time no more jibberjabber. I promise. :)
No comments:
Post a Comment