Errors - Human vs Automation

Test automation is only as good as the human testers who created it. Test automation can help minimize chances of human error in situations that require human testers to perform repetitive and mundane activities. However, any errors that creep into an automation suite tend to be magnified many times more than a human tester can achieve. Errors in automation suites are easy to miss and every time the suite is executed, tend to manifest itself. There have been many instances where errors in automation have gone unnoticed for a long while and things have seemed ok when there were issues lurking around. Few examples of errors include, logical errors in the automation, missing coverage of scenarios that are likely to have defects, hard coded data (or even results !), and such others which contribute to giving a false impression of normality.

As Paul Ehrlich said, "To err is human, but to really foul things up you need a computer”. Human testing does have it's share of errors, but these tend to be relatively easier to detect using simple examination of test reporting and documentation.

Test Automation should be treated just like any another full fledged Software development effort. Due diligence needs to be done to incorporate sound Software development practices. Extensive testing of the automated tests needs to be performed. Testing and verification of the automation suite is an on-going effort that needs to be factored in while planning for automation. Regular testing helps monitor for relevance of automated tests and detect any needed changes in accordance with any changes to the application being tested or environment.

One thing humans can do is think. Human testers automatically interpret system behaviors and evaluate results based on a diverse awareness of the system being tested, its operating environment, inter-dependencies, the context, potential for changes and so on. In many cases, human testers may not fully realize their ability to model program behavior and adapt to changes. Human testers can observe much more than what an automation suite can.

As the quote goes, “The question of whether computers can think is like the question of whether submarines can swim.

Human testers have their share of shortcomings – automated systems can run tests faster, handle large volumes of data and interpret instructions quicker. Also, automated systems can better and more efficiently investigate internal system data such as execution threads, variables, program states, etc. Humans can get fatigued and lose focus especially when tasks become repetitive, take a long time or are mundane.