09.03.12 - 17:02 - Filed in: Software Testing
image credit: http://j.mp/Aoky2E
Recently I saw three enormously fat men standing close to each other and the feature that caught my eye was their huge bellies all three guys put on display for the world to see.
If they had moved a tiny bit closer, the bellies would have met with a gentle touch.
They did not do that but they were discussing stuff. They were chatting and telling jokes. In short: they were being human with all the pleasant properties as well as the flaws humans tend to have.
Test automation hasn’t got a belly at all. Neither does it crack jokes. Why should it? It would not be of any use. Test automation hasn’t got any humor but it is lighting fast and incredibly accurate.
It is kind of obvious: Humans and computers are different. Both are good at some things and have their shortcomings somewhere else.
You certainly know testers who say that test automation should not be considered at all for testing. They say that it does not help doing a tester’s job and by saying that they are - in my opinion - fundamentally wrong.
I am sometimes amazed by the inaccurate thinking of some people. Just because test automation cannot do some things it does not mean it cannot do anything. That’s like saying: “This car is useless, it cannot fly”.
What test automation is good at:
- Fast checking of huge amounts of data that is prone to change and therefore to errors
- Doing repetitive procedures over and over again
- Access code that is not easily accessible through the UI
- Do basic sanity checking on an regular intervals
Test Automation is very, very good at the above. Beer bellies aren’t.
The excellent book Mind over Machine by Hubert L. and Stuart E. Dreyfus describes it accurately:
Computers are general symbol manipulators, so they can simulate any process which can be described exactly.
On the other hand humans are splendid observers even if they don’t anticipate beforehand what they are going to discover. A tester who finds a bug during an exploratory testing session and who is asked how he/she found a certain bug will sometimes reply: I don’t know. Finding a bug without exactly knowing how it was done differs enormously from the definition of a computer above.
What humans are good at:
- Collateral observation
- Rapid change of direction if new information demands it
- Acquisition of knowledge in general
- Taking advantage of the wisdom of crowds
- Using intuition
Beer bellies are very, very good at the above. Test automation isn’t.
I think our western culture is very much imprisoned in a dichotomous either-or-mindset. There seems to be a need for a constant opposition between two positions. Hence you either do manual testing OR automated testing.
This is a silly standpoint. Use both. And do it the same way a good manager distributes tasks among his different directs. Every task according to the individual strengths of the people.
There wouldn’t be any machines left if the fat people finally took over. And this is also true the other way round. It would be a sad world.