This weekend I spent a fair amount of time working in the backyard.
When I work in the yard, I use different tools depending on how much work I’d like to do. I may start by bagging trimmings, but soon I’ll need the shears, then the chainsaw. Likewise, when I take out weeds, I start with a spray, move to the weed wacker, and eventually the lawn mower.
Now, the lawn mower and the chain saw – these things make me more effective. They make me faster. They extend my reach and give me power. Yet I wouldn’t call them “automated landscaping.” That would be silly. Nor would I call a pair of shears, which is a form of machine “partial automation.”
They are tools. I use tools to get the job done. No one talked about automated lanscaping because it’s a silly idea.
Yet … have you heard of the Roomba? it is a vaccum cleaner that, supposedly, you can simply set it your room, press a button, and walk away. It’ll do the vacuuming automatically.
Oh, of course, you have to bury guide wires in the ground to make sure the machine doesn’t wander off into the street, and likewise to make sure it doesn’t mow over your tulips. And I’m sure it’s pretty stinky about cutting in areas with rocks and other corners.
That’s about how I feel about test automation:
1) If /you/ are the one doing the driving, it’s possible to use tools to extend your reach or go faster,
2) If you are not – if you want to have the testing work unattended … well, it’s possible. You have to spend a lot of effort doing plumbing tasks. If you have a GUI, the end might not look so great – so make sure you personally inspect the boundaries.
That’s just my quick thought on a Tuesday morning. What do you think?
UPDATE: Last week I sat through Scrum Training with Ron Jeffries and Chet Hendrickson. It was awesome – amazing – and I’m happy to do a blog post on it. Ron and Chet made a serious and reasoned case for Acceptance Test Driven Development – to create acceptance criteria for every story and automate those tests as regression tests. They also provided specific techniques to make the cost of that plumbing cheaper. I grant that if you don’t have a GUI, or if the wiring on the GUI is trivial and you can “get behind” it, the ROI of Automated Acceptance Testing might be reasonable in many situations – you might just want that Roomba-for-the-lawn. AND you’ll still want to inspect some things personally. c’est le vie.