Monday, 23 February 2009

Don't blame the bread-making machine - thoughts on test automation

If you have a bread-making machine, it may or may not make good bread.

If it doesn't, the reason might be the ingredients you put into the machine. If you put in too much salt (or no salt at all), the bread won't be edible. Is that the fault of the bread-making machine?

Some people blame the test automation for things which are actually the responsibility of the testing. For example, if you mistakenly think that finding lots of bugs is the main aim of your regression test automation, you are setting yourself up for disappointment, if not failure of your automation effort. Finding bugs is what testing (and testers) do - it is not the job of automation - the job of automation is to run tests.

The tests are the ingredients that determine whether the testing is effective or not. The effectiveness of the tests is the same whether those tests are run manually or using an automation tool. 

The tool is no more responsible for the quality of the testing than the bread-making machine is responsible for the taste of the bread.

4 comments:

Anonymous said...

Good Test Automation is where the system under test does not know that it is not a fast, persistant, criminally accurate and never tiring manual executor of tests from a formal test-plan, keeping it busy!
Anything less and you have missed out a step.
Sometimes, it is not even a breadmaker that you need. . . . . . .

Dot Graham said...

Hi Anonymous,

Not even a breadmaker? Please expand that thought!

Actually the quality of the bread making machine does have an effect on the bread, as several people have now told me!

But then, the quality of the automation also has an effect on the testing, for example how many tests can be run, the cost of maintenance etc.

Bo said...

"The effectiveness of the tests is the same whether those tests are run manually or using an automation tool."

Unless you're automating the wrong things.

If you don't validate your manual testing findings prior to automating, you could be automating to the wrong results.

If you automate good tests, your results will be the same. But if you mistakenly automate the bad results... it will be worse!

Dot Graham said...

Hi Bo,

I completely agree - thanks for making that point! Automation affects only the efficiency of test execution, i.e. how fast a test is run. The effectiveness of a test is related to the objectives for the test, but it is the content of the test that determines how good it is, not how quickly it is executed.

So I agree that automating poor quality tests is not a good idea. As I have been quoted, Automating chaos is just faster choas.