Why automate functional testing?
While manual testing is appropriate in some cases, it is a time-consuming and tedious process that is inefficient and conflicts with today’s shorter application development cycles. As a result, it impedes the ability
to thoroughly test an application – enabling critical bugs to slip through undetected. And if an application needs to run on multiple platforms, the manual testing effort grows in parallel with the number of platforms to
be tested.What’s more, manual tests are prone to human error and inconsistencies that can skew test results.
Automated testing creates new efficiencies that accelerate the testing cycle and promote software quality. By automating regression tests and other repetitive tasks, for example, QA personnel are free to expand their
quality efforts. That means they can increase test coverage by extending automation to parts of the application that may not have been thoroughly tested in prior releases.
Automated testing further optimizes software quality and testing efficiency by delivering the following long-term advantages:
• Reusability :
Automated testing enables QA to meet tight release schedules by reusing existing tests instead of starting from scratch with each new testing effort. Experience proves that reusable tests are run more
frequently, enabling personnel to find and fix more errors earlier in the development process. This reusability benefit also enables QA to build libraries of repeatable test assets – in effect, transforming each test into
intellectual property with long-term value.
• Predictability & Consistency :
With automation, QA can rerun a test with the utmost consistency. This is especially critical when development creates a new build. By running regression tests, QA can quickly verify that
all pre-existing functionality still works in the new version and provide early feedback to development. Consistency also applies to the testing process itself.With a repeatable process for documenting test results, QA
can reproduce and verify errors – speeding the resolution process.
• Productivity:
Automated testing creates a high-productivity environment in which organizations can increase testing capacity without additional resources.With automation, for example, QA organizations can run tests
unattended on a 24/7 basis, and test an application across multiple platforms, browsers and environments simultaneously. This frees up personnel to concentrate on other quality issues. The resulting productivity
gains have the dual effect of shortening test cycles and increasing opportunities to optimize software quality.
Collectively these automation advantages enable QA to accurately assess quality levels, make sound decisions regarding release readiness and minimize deployment risk.