Test automation tools promise big returns, but require a large, up-front investment. It takes a significant amount of work and time to implement a tool. In the same way that infomercials peddling exercise machines lure customers with the promise of a statuesque physique minus the long workout times, testers are lured to automation tools by the prospect of immediate gain without too much work. In this column, Linda Hayes offers her coaching skills to help you start utilizing all those automation tools you thought you'd never have time to use.
Recently I was reminded—yet again—that buying a test automation tool is like joining a health club: The only weight you'll lose is in your wallet. Once the initial euphoria wears off, you realize you actually have to use the tool! At a health club, that means making the time to go there, learning the equipment, and then working out. And they don't call it work for nothing; you have to sweat it out, hour after hour and day after day. It takes time before you see results.
With test tools, you have to set aside time to learn the tool and expend the effort before you can enjoy the benefits. And, like treadmills gathering dust in the corners of our homes, test tool shelfware is abundant.
Set New Habits
What reminded me of this analogy was a customer who had made a substantial investment in test automation. Despite initial enthusiasm, he was struggling to roll it out. He explained that the issues weren't technical, but cultural. It was proving to be more challenging than he expected to persuade manual testers to take advantage of automation. Their work habits were so ingrained that, even though they intellectually believed in the benefits of automation, they could not seem to overcome their inertia.
In their defense, the manual testers were too busy to try something new. People don't buy test tools out of boredom, they buy them because they can't get their jobs done in the time they have. This creates a dilemma: How do you spend time to save time?
The customer was asking for the equivalent of a personal trainer—a consultant who is an expert in automation to work with the team, side-by-side, to get them going. Not only could this expert teach them best practices for maximum results, her mere presence (and the implied meter running) would be a motivator to set aside time.
While this sounds attractive—for the same reason a personal trainer does—there is a caveat: Too often, test automation consultants end up actually doing the work because the customers are so busy. This may look like progress in the short term because tests are being automated, but in the long term the consultant won't be around and you'll be back where you started. It's like having the personal trainer work out for you instead of showing you how; it's easier, but you won't get in shape.
Is this happening to you? Do you have test automation tools on the shelf? Have you invested in consultants, only to train them on your application instead of getting yourself trained on automation? If so, here are some guidelines for working out your applications:
- Never forget that a tool is only a tool: Someone has to use it for it to be useful. Don't just allocate budget to buy it; set aside the time to use it. If you're already busy, then either dedicate specific resources to automation or set aside certain days of the week or hours of the day to devote to automation.
- Don't skimp on planning: You know the saying: If you don't have time to do it right, how will you find time to do it over? If you rush into automation just to show activity quickly, you will have plenty of time to regret it.
- Use consultants wisely: Remember that they are there to train you, not the other way around. Have them work with you, not just for you. Insist on understanding everything they do.
- Accept gradual progress: Anyone can tell you that long-term weight loss happens slowly and gradually, and the same is true of automation. Look for high-value test cases—usually those that are repetitive but not necessarily complex—and automate them first. Then reinvest the time saved into more automation.
- Know when to say no: If your process is a mess and your team is under stress, wait until you can get your house in order and catch your breath before you tackle automation.
By observing these simple rules, you can get your automation tools off the shelf and whip your application into shape.