Slow news day here at uTest. So to pass the time, I wanted to gauge reader opinion on a common – albeit somewhat semantic – argument: Is software testing an art or a science?
The most prevalent view I’ve encountered is that testing is an art. In fact, there’s a popular book by Glen Myers with that very name that I’m sure many of you have read. But before you make up your mind, it would be helpful to first understand the difference between a science and an art. Here’s a well though out explanation I found on AnswerBag.com:
Difference between Science and Art is the difference in Method. Every creation has three parts,
Art: If you can use different process to create a thing (Output) using same Input that is Art.
Science: If you can use standard process to create a thing (Output) using same Input is Science.
Input : A paper, Jar of Red Paint, Jar of Blue Pain, Jar of Green Paint and a brush.
Output : An fine art of Rocky Mountain
Process: Each person can use different mix and different way to paint Rocky Mountain.
Input : 4 Tires, Steel, Engine, etc.
Output : A Car
Process : Each person can use his own creative idea to make a functional car – looks science but involved with art.
Input : One Gallon of Oxygen, Two Gallon of Hydrogen, and a pressurized chamber.
Output: Three gallon of pure Water
Process: Every person should follow same procedures otherwise, water cannot be created.
Input: A liter of Gum, A Plastic Strip and a knife
Output: Bumper Sticker
Process: Every steps has to be exact exactly matched, such as temp, thickness, strength of plastic, time to peel off etc to make a bumper sticker, looks like art but it is involved with science.
So difference between Science and Art is how we do things to create new objects. If the process has to be precisely followed then it is Science, if the process can be altered or you can do in your own ways to create same output then it is art.
By this definition, the answer would appear to be both. There are plenty of times when a tester can create the same output with drastically different methods (e.g.. there are numerous ways to find the same bug). And there are times when only certain tools, with specific processes can yield the desired result.
So I guess the real question is what you, as testers, consider yourselves to be: Artists? Scientists? Or both?
Sound off in the comments section.