Test Automation is a process in which software tools control the execution of tests and the comparison of actual outcomes with predicted outcomes before it is released into production.
Why Do We Need Testing?
- To deliver the best application we can.
- To verify the functionality.
- To be sure that your application is always up and running.
- To ensure your application works on multiple devices, browsers, and operating systems.
- To make sure the Quality of Product.
- To ensured that the software does not contain any bug/errors.
- To check the software meets its specification/requirements.
What is Automation Testing?
Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or add additional testing that would be difficult to perform manually.
There are many approaches to test automation; however below are the general approaches used widely:
- 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.
- GUI (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.
- API (Application Programming Interface) Driven Testing: A testing framework that uses a programming interface to the application to validate the behaviour under test. Typically API driven testing bypasses application user interface altogether.
Goal of Automation is to reduce number of test cases to be run manually and not eliminate manual testing all together.
- Test Each and Every Feature
- Reduce Manual Effort/Saving Time
- Save Money
- Increasing Productivity
- Reducing Human Errors
- Faster Cycle/Release
Test Automation Tools
- Selenium WebDriver
QTP: Quick Test Professional
UFT: Unified Functional Testing
How to Choose an Automation Tool?
Selecting the right tool can be a tricky task. Following criterion will help to select the best tool –
- Environment Support and Ease of Use.
- Testing of Database.
- Object identification and Object Mapping.
- Error Recovery Testing.
- Scripting Language Used.
- Support for various types of test – including functional, test management, mobile, etc…
- Support for multiple testing frameworks.
- Easy to debug the automation software scripts.
- Ability to recognize objects in any environment.
- Extensive test reports and results.
- Minimize training cost of selected tools.