Why Automate testing?
Test Automation offers several benefits:
-
Faster execution: Turnaround times for testing are increasingly shortening.
With manual testing, testers have to document each step of a test case and then
manually execute each test script as well as reproduce defects, eating up valuable
time and IT resources. Computer are orders of magnitude faster than humans at executing
functional test scripts, so more tests can be done in less time, more applications
can be tested in a given period, and more projects can be delivered on time. And
unlike humans, computers work 24 hours a day, including nights, weekends and holidays;
-
More defects found earlier: Automated testing efforts can effectively do
more testing in less time. Therefore automated test suites will find more functional
defects than manual testers could find in the same amount of time.
-
Greater coverage: The proliferation of platforms, operating systems, client
devices, business processes, and data sets wreaks havoc on manual testing processes.
As testers begin to combine multiple data sets, operating environments, and business
processes, they create an explosion in the number of test cases that need to be
executed to verify the functionality of an application. Automated testing solves
this problem. Automated testing supports execution of test scripts across all popular
browsers, operating systems etc. With integrated data-driven spreadsheet capabilities,
test automation products can allow QA teams to quickly create test iterations to
expand test case coverage.
-
Higher accuracy: A manual testing process is subject to a higher risk of
mistakes and oversights. People get tired, they make assumptions about which works
and which doesn’t, they make mistakes entering data, they don’t always code the
test correctly and they don’t always test everything that should be tested. Computer-driven
automated testing assures accuracy in test execution, test results and in declaring
whether a test is a success or failure.
-
Formalized processes: The introduction of automated testing typically forces
test teams to formalize their processes, resulting in higher accuracy and better
documentation.
-
Reusability: Once the tests are scripted, test team can use, re-use the existing
test scripts. There is no need to recreate scripts to test the same functionality
for each application modification. Regression testing of ever-changing applications
and environments is easier with automated testing due to reusability of test scripts
In spite of the many advantages that test automation offers, some non-repetitive
testing is best done manually. Automating testing has to be cost-effective as it
takes time and effort to code reusable test scripts. Automated test scripts must
be tested thoroughly to weed out bugs in test scripts before being applied to test
the application.