Test Automation
By: Senesha Mandakini
Tags: Test Automation

There are two types of testing in the world. They are Manual testing and Automates testing.

Manual testing is performed by a human, sitting in front of a computer carefully executing the test steps. And in this article, we talk about Automates testing.

Test automation is a software testing technique that performs using special automated testing software tools to execute a test case suite. Below are the general approaches of test automation.

· Graphical user interface testing

· API driven testing

Test Automation is the best way to increase the effectiveness, test coverage, and execution speed in software testing.

Test cases to be automated can be selected using the following criterion to increase the automation ROI

High Risk — Business Critical test cases

Test cases that are repeatedly executed

Test Cases that are very tedious or difficult to perform manually

Test Cases which are time-consuming

Process of Automated Testing

Following steps are followed in an Automation process

1. Decision to Automate test

2. Test tool Selection — Test Tool selection largely depends on the technology the Application Under Test is built on.

3. Define scope of Automation — The scope of automation is the area of your Application Under Test which will be automated

4. Planning, Design and Development — Following are the important details about automation.

· Automation tools selected

· Framework design and its features

· In-Scope and Out-of-scope items of automation

· Automation testbed preparation

· Schedule and Timeline of scripting and execution

· Deliverables of Automation Testing

5. Test Execution — Automation Scripts are executed during this phase. The scripts need input test data before there are set to run. Once executed they provide detailed test reports. Execution can be performed using the automation tool directly or through the Test Management tool which will invoke the automation tool.

6. Maintenance — It is an automation testing phase carried out to test whether the new functionalities added to the software are working fine or not. Maintenance in automation testing is executed when new automation scripts are added and need to be reviewed and maintained in order to improve the effectiveness of automation scripts with each successive release cycle.

How to choose an Automation tool

Selecting the right tool can be a tricky task. Following criterion will help you select the best tool for your requirement.

Ease of use

Testing of Database

Object identification

Image Testing

Error Recovery Testing

Object Mapping

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

Benefits of automation testing

Wider test coverage of application features

Reliable in results

Ensure Consistency

Saves Time and Cost

Improves accuracy

Human Intervention is not required while execution

Increases Efficiency

Better speed in executing tests

Re-usable test scripts

Test Frequently and thoroughly

Selenium

Selenium is a free (open-source) automated testing framework used to validate web applications across different browsers and platforms. You can use multiple programming languages like Java, C#, Python etc to create Selenium Test Scripts. Testing done using the Selenium testing tool is usually referred to as Selenium Testing. Selenium Software is not just a single tool but a suite of software, each piece catering to different Selenium QA testing needs of an organization. Here is the list of tools