Test Automation
By: Bred • Research Paper • 1,329 Words • March 14, 2010 • 1,005 Views
Test Automation
Automation
What is Automation?
Automated testing is automating the manual testing process currently in use
Today, rigorous application testing is a critical part of virtually all software development projects. As more organizations develop mission-critical systems to support their business activities, the need is greatly increased for testing methods that support business objectives. It is necessary to ensure that these systems are reliable, built according to specification, and have the ability to support business processes. Many internal and external factors are forcing organizations to
ensure a high level of software quality and reliability.
In the past, most software tests were performed using manual methods. This required a large staff of test personnel to perform expensive, and time-consuming manual test procedures. Owing to the size and complexity of today’s advanced software applications, manual testing is no longer a viable option for most testing situations.
Every organization has unique reasons for automating software quality activities, but several reasons are common across industries.
Using Testing Effectively
By definition, testing is a repetitive activity. The very nature of application software development dictates that no matter which methods are employed to carry out testing (manual or automated), they remain repetitious throughout the development lifecycle. Automation of testing processes allows machines to complete the tedious, repetitive work while human personnel perform other tasks.
Automation allows the tester to reduce or eliminate the required “think time” or “read time” necessary for the manual interpretation of when or where to click the mouse or press the enter key.
An automated test executes the next operation in the test hierarchy at machine speed, allowing
tests to be completed many times faster than the fastest individual. Furthermore, some types of
testing, such as load/stress testing, are virtually impossible to perform manually.
Reducing Testing Costs
The cost of performing manual testing is prohibitive when compared to automated methods. The
reason is that computers can execute instructions many times faster, and with fewer errors than
individuals. Many automated testing tools can replicate the activity of a large number of users (and their associated transactions) using a single computer. Therefore, load/stress testing using
automated methods require only a fraction of the computer hardware that would be necessary to
complete a manual test. Imagine performing a load test on a typical distributed client/server
application on which 50 concurrent users were planned.
To do the testing manually, 50 application users employing 50 PCs with associated software, an
available network, and a cadre of coordinators to relay instructions to the users would be required. With an automated scenario, the entire test operation could be created on a single machine having the ability to run and rerun the test as necessary, at night or on weekends without having to assemble an army of end users. As another example, imagine the same application used by hundreds or thousands of users. It is easy to see why manual methods for load/stress testing is an expensive and logistical nightmare.
Replicating Testing Across Different Platforms
Automation allows the testing organization to perform consistent and repeatable tests. When
applications need to be deployed across different hardware or software platforms, standard or
benchmark tests can be created and repeated on target platforms to ensure that new platforms
operate consistently.
Repeatability and Control
By using automated techniques, the tester has a very high degree of control over which types of
tests are being performed, and how the tests will be executed. Using automated tests enforces
consistent procedures that allow developers to evaluate the effect of various application
modifications