Right now there is a bit of a hot topic in the Agile community around Automated Testing versus Manual testing. Ron Jeffries just posted a great article, and Keith Ray also posted a response to one of Ron’s posts on the Agile Testing mailing list. Ron had said on the list:
The only time not to automate a test *ought* to be if we are never going to want to run it again. But it isn’t. The more common time we don’t automate a test is because it would be “too hard” to automate it. That is, however, not really a property of the test, though we like to put it that way. It’s really a property of our own test automation capability and tools.
And while Keith hits some good points about our own testing tool capabilities, there still another nugget in Ron’s post. Any test we don’t want to automate because it is “too hard” is a test we *will* run again. And again. And again. In fact, I’d wager to bet that those “too hard” tests are usually some of the most critical tests in your system.
Remember, duplication counts as something to be refactored both in code and in process. If you are doing it twice, automate it. You’ll thank yourself later.