Sunday, April 6, 2014

Bad testers and the power of words in turning things true

Here's a twitter-inspired post. A visible discussion seems to be about anyone as tester, and I felt I need to also write down some of my thoughts. For the inspiring originals, see:
I found it interesting, that I got a feeling of being offended from the title Jari selected - adding the "bad" qualifier - whereas the other one saying anyone can be a tester did not offend me. Reading the texts, the first one had all the potential to annoy, with the style of remarks. I found myself feeling more sympathies to the message saying that anyone can be a tester. I've dedicated all my career on being a professional tester. But the troubles I keep experiencing are not about my skills, but about our common attitudes and skills in testing in the teams I work.

The organization I work for realized they could use a professional tester after 20 years of developing software without a dedicated / skilled tester. As I joined and pair tested with people, I learned a lot about attitudes. A developer told me that he is "too valuable to test as he can code", completely missing out on the fact that the people who he deemed less valuable were the direct source of incoming money paying our salaries dealing with sales and other customer-facing support, and time away from that work isn't what the organization needed. A product manager told me he hates testing, because no one likes the results and it's always stuff to do on top of all the other duties. In general, I entered a place where everyone was looking for excuses not to test.

As I started my work, we soon learned there was something I do differently to see problems that others miss. And as I was deemed 'good' at testing and everyone else got confirmation they were 'bad', the situation just got worse assuming all testing should happen in the realm of 'good' - why waste time on doing the work with 'bad' skills.

I've spent a significant amount of time emphasizing that everyone can test, and everyone should test. Some of us are better at it, but every one of us can get better at it given the time and focus, and believing it is possible. I would hate the idea that my developers and product managers would hang out with testers who emphasize how they are 'good" while others are 'bad'. Realistically, I'm not good at everything in testing. I get better by actively learning, and learning happens often with people with diverse background. Setting a label 'bad' on some testers becomes a self-fulfilling prophecy. I'm bad, I can't get better, why bother even trying? I feel that in software development, we need to put effort into removing excuses of not thinking about flow of value from idea to use, and emphasizing we absolutely need dedicated testers to do testing has been one of those excuses. Could we emphasize the need of professional testers without making that the center of the message?

Everyone needs to be a tester. We need everyone hands-on, empirically experiencing and thinking from different perspectives. Some will be better at it than others, but only through doing we improve as teams. We can't ask developers or product managers to distance themselves from testing as there's someone else better at it - and often later in time. Time is important. And attitudes count. Simple bugs are simple to be found. Many of them could be spotted if non-testers would feel they need to test while working through the requirements and implementation. I hate the experience of simple bugs being caught over and over again by the professional tester, just because others don't care about testing.

As for professional testers, some of us enter the cycle of realizing they are good at it, spending time on it and getting better. We might also learn that its fun, needed, important, useful and valuable work to provide information on quality. As professional testers, we enter new domains (at least I do) and learn the domain in layers, to get from simple quicktests to in-depth understanding of customer value. We learn this from domain experts, with significant effort on learning, but in a style where we can already test before we're fully into all the aspects of the domain. Domain knowledge does not come automatically just because I'm a professional tester.  The domain experts could make better testers of that area while I don't have the domain knowledge. But, they also tends to have other duties that stop them from using their time of testing, without that making them 'bad' testers.

Here's an example of building the domain expertise. About three months ago, I overheard developers saying that my team's remote tester could participate on a new feature, but it would be June before she is able to contribute anything useful, as the domain of that area is pretty complex. The domain is energy - electricity, water consumption and the kinds - and the tester has absolutely no background in the domain. However, she has a background in mathematics. She has a curious mind, and ability to create models, deduct and ask for information.  On the first month, her testing would see simple things. But after three months, everyone in the team acknowledges her as a valuable member, saying they could not get this done this way without her. There was no option of asking all the others to learn hands-on with the product as much (testing) - we would have needed an extra person's effort on the team anyway. The product managers could have done what she did. But there was no product manager with the info and enough time available. But there was a good and skilled tester available. And we should be glad there was. It's not just skill, but it's also the ability to use time to build that skill to the most recent details.

Everyone can and should test. Not everyone is equally skilled in in. Even the professional testers are different. Every day is a learning opportunity, for all of us. And with that idea directing me as tester, I am better, every day. Saying someone is 'bad' is unfair and cuts down motivation for those who need to learn. If professional testers get offended with the idea of being unneeded, are we supposed to reply by attacking so that others feel as bad as we do?


  1. Hi Maaret,

    Thanks for joining the discussion!

    I am not insinuating we should (de)motivate people by calling them bad. I am not saying some people should not test. I am talking about skilled testing being devalued by other people when testers start saying anyone can do it, because it sounds like anyone can do a good job in it; without having to study the craft.

    Sure, I could have used less-provocative language, but I felt strong about the original post and in my opinion, it felt offending. It would have been a different case if JR would have written "non-testers can also give good information", but that didn't happen. In the comments section ( I offered my help for JR in the future to get more attention on his thoughts without being that aggravating. (I think being provocative can be ok, but that's a whole new discussion.)

    In case you missed, Aaron Hodder wrote nicely about the subject I liked a lot how he split the content in 3 distinctive parts. At least when looking back today, it seems like a constructive approach.

    Happy Sunday!

    Best regards,

  2. Thanks a lot for both reading my entry and joining the discussion.

    Jari is right in that my post was too aggravating. Your post takes a lot of the points I was trying to make and put them into a much more diplomatic and consumable manner.

    The positive thing is that if I hadn't been a bit of a dick (I shouldn't write when wound up) in my entry, this discussion may not have happened and we wouldn't have had the varied and considered responses from yourself, Jari or Aaron Hodder.

    Again, thanks!


  3. Of course we all can test, that is why we have our senses. We all are testing world all the time: is it too light to my eyes, is my tea too hot to drink. So, why testing of SW is then different and not doable? Of course, it requires learning, training, etc. as to any other new task that requires new skills. Sometimes I feel that we, "professional testers", focus too much on our own work, and underestimate/forget other peoples contribution to quality. It is true, that professional tester may find more bugs than non-tester. But similar fact is that two professional testers will find different amount of bugs too. So, it is only a good thing if we can use different kind of humans to test same features. More eyes, opinions and skills is only good for testing, right?

    By the way.. Reply in this web page does not work well with ipad air.. I cannot fix writing without deleting whole text. Im pretty sure that also non-professional rester would notice this :) so, sorry if my text has typos, or weird sentences.

    1. This was exactly the point I was trying to make in my blog entry but because of the way in which I wrote it, I think people took exception too it or just didn't understand what my point was.

      I've had a lot of responses agreeing with essentially what you, Mareet and I have all said. I just think some people have just become defensive on the subject because of possibly a long career of people not acknowledging the varied skills and effort that go into good software testing professionally.

      It seems to have started a bit of a discussion at least which can only be a good thing. :)

    2. Even though we can test, there's significant differences on what we pay attention to. There must be a reason why 9 developers can happily work on a product with recorded rate of program errors being over 10 % in relation to logins, but I could not without running into the problems just like the users. Some problems are simple, but still not spotted. Not using the software makes the likelyhood of seeing problems very low. And noticing is not enough if you fail to tell how you noticed it - missed steps to repro don't help in improving how things are.

      Testing includes the intention of observing for issues to provide information. Users tends to be focused on other goals, and divert from those goals to provide the information.

      I'm a professional tester, and while I can already test, I can also test better every day by learning. I know many things I don't know and the list just gets longer the more I learn. But the most important learning I work on is to not try to own the skill that everyone needs but to help the team grow through coaching and building the changes (time) for learning.