In software testing, test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.
Some software testing tasks, such as extensive low-level interface regression testing, can be laborious and time consuming to do manually. In addition, a manual approach might not always be effective in finding certain classes of defects. Test automation offers a possibility to perform these types of testing effectively.
There are two general approaches to test automation:
- Code-driven testing. The public (usually) interfaces to classes, modules or libraries are tested with a variety of input arguments to validate that the results that are returned are correct.Code driven test automation is a key feature of agile software development, where it is known as test-driven development.
- Graphical user interface testing. A testing framework generates user interface events such as keystrokes and mouse clicks, and observes the changes that result in the user interface, to validate that the observable behavior of the program is correct.
What to automate?
It is not possible to automate everything in the Software; however the areas at which user can make transactions such as login form or registration forms etc, any area where large amount of users. can access the Software simultaneously should be automated.
Furthermore all GUI items, connections with databases, field validations etc can be efficiently tested by automating the manual process.
When to automate?
Test Automation should be uses by considering the following for the Software:
- Large and critical projects.
- Projects that require testing the same areas frequently.
- Requirements not changing frequently.
- Accessing the application for load and performance with many virtual users.
- Stable Software with respect to manual testing.
- Availability of time.
Software testing tools
Following are the tools which can be use for Automation testing:
- HP Quick Test Professional
- IBM Rational Functional Tester
- Silk Test
- Test Complete
- Testing Anywhere
- Win Runner
- Load Runner
- Visual Studio Test Professional
Rational Functional Tester Introduction
Rational Functional Tester is an object-oriented automated testing tool that tests Windows, .Net, Java, HTML, AJAX, Flex, Siebel and SAP applications. Functional Tester runs on Windows 2000, Windows XP, and Linux platforms.
The object-oriented recording technology in Functional Tester generates scripts by recording applications against the application-under-test. Functional Tester uses object-oriented technology to identify objects by their internal object properties, not by screen coordinates. If the location or text of an object changes, Functional Tester can still find it on playback.
Functional Tester features platform-independent and browser-independent test playback. For example, you can record a script on Windows and play it back on Linux. You can record a script using Firefox, Mozilla, Internet Explorer or Netscape. Because the script contains no references to the browser used during recording, you can play back the script using any of the supported versions of Firefox, Mozilla, Internet Explorer or Netscape.