« Thoughts upon returning from the ISUG conference | Testing Browser Versions » |
There was a comment posted to the 'Test Automation' on-line group recently that suggests that test automation should be used only for regression testing. What might be the reason for this misconception? While it is true that unstable features increase the amount of time necessary to complete a set of automated tests, an organization misses out on productivity gains from automated testing by waiting for a feature to become stable through several cycles of manual testing. This notion probably stems from the way that the automated tests are created. If a separate test is written for each test requirement, changes in the target feature would indeed require a lot of test maintenance. If instead, tests are built from reusable steps and separated from test data, not only is test maintenance minimized, but it also makes it feasible to run tests automatically that have never been executed manually. The process of building tests that are easy to maintain need not be complex. In fact, a simple the framework is best. Reuse is the key:
Every application presents opportunities where a processing path needs to be tested with different sets of data. These test requirements should be given a high priority for test automation because significant time and cost can be saved by executing these tests automatically without ever having executed them manually.