Note: Before I start this, I want to share the story how it came to my mind. I was working on the Lightning talk – “The hidden wisdom of the testing troll” and I actually made it as a joke, using all the public buzz that all organic food offer. When I thought about it, testing is organic in it’s nature. So, I decided it’s worth it to split that topic in a separate post.
It’s also worth it to mention I recently found out that James Bach once made a talk for Apple called “Organic QA”, I saw it in his archives, but I am not aware what he was talking about, since it was internal talk for Apple employees only. So, I am in no way adding anything to his point, yet I will be interested to know what he was talking about, if at some point he decides to share it.
How “organic” came as term in first place.
I mentioned a couple of times a talk about education by Sir Ken Robinson, where he compares the current state of education to a “fast food” model – it serves high demand of production, it aims to produce the same product, no matter which school or university the graduate is from and mostly it applies the “one size fits all” strategy, using formalized tests in order to measure and assess knowledge. What Sir Ken Robinson offers an alternative is a more “agricultural” or “organic” approach to education, where every student is given personal care, based on his needs and his “talents”, because human creativity and intelligence are diverse and unique and we can’t try to “equalize” it by applying same principles to different personalities. It is a very interesting talk and worth watching it, if you didn’t I strongly recommend it to you.
Seems we have a similar problem in testing, too…
While I was talking of education, do you felt we can relate some of these things to testing, too? Me, either.
In the large-scale. Testing is thought as a process that could be “mass produced” just as in a fast food restaurant, that testing skills are something that could be trained just as easy as making hamburgers.
People pretend testing is a skill that is easily transferred by repeating monotonous, meaningless actions that are meant to be based on some script or scenario, pretend testing is easy to learn, easy to master, as long as you follow the steps carefully.
Not long ago, I listened to this wonderful interview by Joe Colantonio with Gerald Weinberg. In it Jerry mentioned how testing appeared in first place, as a job that developers didn’t wanted to do themselves – testing, so management decided to give the task to a specific role, to someone they will pay less than a developer to do.
And like it or not, I still see signs of that attitude towards testing nowadays. Testing is always considered less technical, less creative than development, less experimental than development, if you like even less intelligent than development. Tester is commonly thought as a person that is just “looking for bugs”, “checking if it’s O.K.”, “playing with the product”, “responsible for quality”(keeping in mind nobody normally speaks what quality is, to whom the product is considered of high or low quality and why are we evaluating it in first place).
And that all “mythology” around testing is false, bad testing might be performed like this, lazy testing might be performed like this, but not what we aim for – expert testing. I spoke a lot about this in my series “Outdated testing concepts” and “Software testing is not…”, about the falsified mythology of testing. So, here we get to the bottom of it, what is testing? Well, I might for sure say that testing is organic.
The organic nature of testing.
And of course we are not talking about any testing – we are talking about testing performed by qualified, educated, self-driven and ready to develop person(big emphasis on the word person). Yes, we are looking for a personal approach – as it was mentioned above, intelligence is diverse, humanity is diverse, and this diversity is actually something we are looking for, something we are interested in. The way that one tester will look into a problem, the way one tester will perform testing is unique to him only, and this kind of diversity is something we are interested in, not mass-producing testing minions that think alike, act-alike and test-alike.
Why is testing organic?
- Diversity as opposition to conformity – as mentioned above, organic as opposition to the “one size fits all model” is what we are looking for. We are looking for every tester’s personal view on the testing problem, we want variety of solutions, not just any solution, we want many paths in which we can obtain information about the product, the risks that it has, the needs that it will satisfy, not just one solution.
- Testing is constantly evolving
It’s a fact that many people try to make us testers believe, that testing is the same as it was in the 70s or the 80s that nothing has changed, that it lies on the same principles. Well, news flash – if it was like this, if testing wasn’t evolving, it would have died, simple as that. This is another proof for the organic nature of testing, it is constantly evolving, and all of us involved in it, contributing to it in any matter – surveys, blogs, discussions, magazines, podcasts, webinars, workshops, courses, books, anything helps develop and refine testing as a craft or in other words, help it evolve as an organism.
- It has its own life cycle.
I know many of us were forced to think testing is part of another cycle – the Software development life cycle, but testing as a process has life cycle on its own. And we are supposed to be the ones who have to be aware of that life cycle – when is the early pre-mature period, when it is too early to start testing, when testing will lead to no results or such of low importance, when is the peak, when is the period when we are able to explore the full potential of the deliverable we are testing and when is it to late to do it. All these, again resemble to me, organic nature in the process of software testing.
- It can not be fully automated.
And the reason, as mentioned above, is diversity. We are interested in the different things that human testers can do, not the repetitive ones that our scripts can perform over and over again. Because where there’s unpredictability, that’s where the interesting stuff happens. Of course, automation has its honorable place in the testing process, but it’s in the tool domain, not in the organic part. If you are interested in my more profound opinion on test automation, you might like to take a look at Test automation – the bitter truth.
- It needs specialized, constant, adaptable care, in order to produce something meaningful.
Just as any other organic thing, no matter if it’s a carrot or a dog, testing requires specialized care in any case where we approach something to test it. Yes, we might rely on same principles, but we have to adapt the specific contextual needs of the situation in order to produce satisfying results with our testing. That’s why we don’t rely on algorithms, golden, rules, best practices or any other magic formulas, that seem to offer solution, but are somehow not following that same principle.
That’s it for this post. I hope you don’t mind my metaphorical style in it, it was all meant to be for fun and interesting, I said I will write about it, so it was an experiment I had to do. In case the topic was interesting, as always I will appreciate your opinion in the comments, tweets and shares in the social medias. Thanks for reading and good luck. 🙂