Sunday, May 24, 2009

Automation Works When You Do

Why is the majority of testing still performed manually? True, many tools are too hard to use and maintain, but is that the only reason?

No. No matter how good the technology is, it is still only a tool. It won’t jump out of the box and start testing your software by itself. My favorite analogy is that buying a test automation tool is like joining a health club: the only weight you have lost is in your wallet. You actually have to go to the club- consistently – and use the proper equipment the right way to see any results. You also have to set goals so that you can develop an exercise plan.

For automation, you have to invest the effort to design and build a reusable library of business process tests to reap the benefits. Since you can’t automate something that is not defined, you have to focus on discovering and documenting the current state of your business processes first. For some lucky companies, their business process documentation is current and complete, but not so for the majority. And you can’t skip the risk assessment, either, because I guarantee you have more functionality than you can cover – at least in the near term – and you need to target your efforts.

You can’t just hire someone to do it for you, either. Don’t get me wrong – having consultants help you get started down the right path is invaluable – but it doesn’t mean you abdicate all responsibility. In keeping with the fitness theme, hiring consultants to implement test automation is like hiring a personal trainer. It doesn’t do you any good if the trainer works out instead of you. A trainer can show you the proper form by working out with you, but you have to do your part.

Like exercise, automation is all good, but follow the same advice for automation as you do for exercise: start slow. I don’t mean you should deliberately waste time, but be willing to accept gradual progress. Tackle your highest risk processes first, and once you get those automated then move to the next most critical, and so forth. Don’t set an unrealistic goal of total coverage in your first cycle or you will delay the benefits that even a little more coverage will bring you.

And finally – but most importantly - there is the lifestyle change. To stay fit, you have to incorporate both diet and exercise into your daily life…forever. The good news about exercise is that the more muscle mass you develop the more calories you burn even at rest. So, the more you exercise the faster you see results. The bad news is that your metabolism slows as you age, and if you slack off or return to prior bad habits, the effects wear off and you will be back where you started or worse.

It’s the same with automation. You have to integrate automation throughout the complete life cycle, and continually assess your risks and improve your coverage every time there is a change. You not only have to keep your existing tests current, you have to keep adding new ones, because the longer your application is in use the more functionality it will have and the greater the risk of unexpected impact. So you can’t just plan a quick project to automate and then stop: those tests will eventually become obsolete and your application will continue to expand.

But just as more muscle mass burns more calories, an expanded test library yields better and better returns. All the time you save by liberating your manual resources is returned to you in the form of improved business processes, more enhancements and streamlined operations. And the greater your test coverage the fewer emergencies and outages you will experience, which will improve user productivity and free IT resources to reduce the backlog and improve response time to new business needs.

So if you have made the investment in test automation technology, and perhaps even hired consultants to get you jump started, don’t stop there: integrate automation into your day to day lifecycle so that your benefits will get better and better. And here’s to your health.