I suspect that a part of the answers lies in a lack of understanding what automation is good at. Are we perhaps trying to automate the wrong things? Are we trying to automate too much? Or maybe we haven't committed enough resources to developing a more robust system? Where is the balance between automation and manual testing? I order to help myself answer some of these questions I would like to first list some of the reasons that automation is good, along with some of the reasons it is bad. Hopefully a list like this will help clarify when a test should be automated and when it should not be.
Benefits:
- Machines don't get bored. Humans do.
- Machines don't make mistakes. They will repeat the exact same actions over and over
- Machines are really really fast at computation or comparison
- Better protection against project regression
- Can provide faster feedback.
- Can be expensive to maintain
- Machines don't make mistakes. They will repeat the exact same actions over and over (yes I know that is on the benefits list as well....some times automation misses things that would be obvious to a human tester)
- Can give false sense of confidence
- Can take some time and training for people to be able to use the automation system.
Although my initial enthusiasm about automated testing may have waned a bit over the years, I do still feel that it is a useful tool in the testers tool pouch, but I think I still have a lot to learn about how to properly wield it. Next time I will try to look a little more closely at how we can measure the costs and benefits of an automated test.
No comments:
Post a Comment