August 30, 2009

The Cost of Not Automating

Test Management
There are many tests required in order to release a piece of software. Among the lists of tests that must be run, many of the tests are repeated for each release of the software and possibly repeated even more frequently. Each of those tests has a cost associated with it. Either it costs you time to run the test, or it costs you quality to skip it. By taking some of those tests and automating them you pay some initial cost, but produce significant savings in the long run. There is an initial time cost to select an automated testing software tool and then a monetary cost associated with purchasing it. You'll then need to take some time to select some manual tests to convert to automated tests and then record or script them. Once the automated tests have been created, you're already enjoying a time savings from not needing to manually test as often, but there's an additional time savings. If you are able to run your tests more frequently, even as much as after every build, you'll be able to find defects sooner. The earlier a defect is found, the sooner it can be fixed. It's easier to fix a defect the earlier that it's found as there hasn't been as much code added in the time since the defect had been created. It's also likely fresh in the developer's mind. Automated tests improve your quality too. An automated test runs the same way each time, steps cannot be forgotten and results are always interpreted the same way. Reports will list all of the tests run and whether each test was successful or not. There is some initial cost when adopting automated testing, but savings in time and money as well as improved quality will be visible in the long run.