Skip to main content

Automation Testing

The hole software testing is based on Manual testing and Automation  testing. For a project testing, you can perform Manual testing, Automation testing or you can use both. Automation can really help us and save a lot of time. Test automation offers a possibility to perform these types of testing effectively. Once automated tests have been developed, they can be run quickly and repeatedly. Many times, this can be a cost-effective method for regression testing of software products that have a long maintenance life. Even minor patches over the lifetime of the application can cause existing features to break which were working at an earlier point in time.

First of all, We have to understand what the ‘tool’ is and what it can do (including its limitations), and how best to apply it to the situation at that time.  Or when not to apply it; an important point which a lot of people/companies miss. To automate testcases, we need to identify the testcases, what to be automated, what not to be automated.

What kind of risk is there?

  • Maybe automation will take all of your time and you won’t finish it.
  • Maybe your automation will be wrong and produce false positives or negatives.
  • Maybe the tool you chose doesn’t meet your needs.
  • Maybe you need training and don’t have time or money to get it.

When to use automation tools:

  • Use automation tools when your environment/product/project/site is stable
  • Automation for testing activity is important because some redundant work can achieved through. Need to run so many test cases part of Regression Tesing.

Automation Test Process:

  • Selecting the Test tool
  • Define scope of automation
  • Planning
  • Designing
  • Development
  • Test execution
  • Results Analysis
  • Reporting
  • Maintenance

Types of Automation Tools:

  • OpenSource Tools
  • Paid Tools

Opensource tools are free of cost tools, where as Paid tools are purchased from vendors.

Example for paid tools are QTP, Visual Studio Coded UI, Rational Robot, Ranorex, Tellurium…etc..

Some Useful OpenSource Tools:

Cucumber

Description:

Cucumber is a tool that runs functional tests written in plain text. It supports over 20 spoken languages. Programmers then write small chunks of ruby or java code to wire the plain text tests to the system under test. Cucumber is designed for Behavior Driven Development.

Requirement: Ruby, JRuby, Java or any web platform

Enterprise Web Test

Description:

Enterprise Web Test allows Java programmers to write re-usable tests for web applications that, unlike HttpUnit, “drive” the actual web browser on the actual platform they intend to support. Tests can be leveraged for functional, stress, reliability.

Requirement: Microsoft, OS Independent, Linux

Robotium

Description:

Robotium is test framework created to write powerful and robust automatic Black-box & White-box test cases for Android applications. Test case developers can write Functional, System and Acceptance test scenarios, spanning multiple Android activities. It installs the test case suit as an application on device/simulator, which access the AUT(application under test) and executes test scenarios in real environment.

Requirement: Android 

Sahi

Description:

Sahi is an automation and testing tool for web applications, with the facility to record and playback scripts. Developed in Java and JavaScript, it uses simple JavaScript to execute events on the browser. Features include in-browser controls, text based scripts, Ant support for playback of suites of tests, and multi-threaded playback. It supports HTTP and HTTPS. Sahi runs as a proxy server and the browser needs to use the Sahi server as its proxy. Sahi then injects JavaScript so that it can access elements in the webpage. This makes the tool independant of the website/ web application.

Requirement:

OS Independant. Needs Java 1.4+

Selendroid

Description:

Selendroid is a test automation framework which drives of the UI of Android native and hybrid applications (apps). Tests are written using the Selenium 2 client API. Selendroid can be used on emulators and real devices and can be integrated as a node into the Selenium Grid for scaling and parallel testing

Requirement: Android 

Selenium

Description:

Testing tool for browser-based testing of web applications. It can be used both for functional, compatability (it has extensive cross-browser support) and regression testing.

Requirement: Windows, Linux or Mac

Learn Selenium

Start with Selenium IDE

Create your First Script in Selenium

Important commands in Selenium IDE 

Selenium Tutorials

Seleniun Java Evidence

Description:

A simple API to generate an evidence for your Selenium tests. This project enables developers and testers to create an evidence of their tests. This API is very simple and works only in Java. The result of this tool is a .pdf file that will show an image and description each steps you want.

Requirement: Java

SeLite

Description:

SeLite (Selenium+SQLite) enables automated database-driven navigation of web applications. It keeps isolated test data. It improves productivity of Selenium IDE: it allows tests to be expressive, structured, configurable and reusable. That helps your test scripts to be more maintainable and shareable.

Requirement: OS-independent

Sikuli

Description:

Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily.

Requirement: Windows Linux Mac

soapui

Description:

soapui is a java-swing based desktop application for inspecting, invoking and functional testing of webservices over HTTP. It is mainly aimed at developers/testers providing and/or consuming webservices (java, .net, etc). Functional testing can be done interactively in soapui or within a CI-process using the soapui maven plugin.

Requirement: Java 1.5

Watij

Description:

Watij (pronounced wattage) stands for Web Application Testing in Java. Based on the simplicity of Watir and enhanced by the power of Java, Watij automates funtional testing of web applications through the real browser. There is a Google group at http://groups.google.com/group/watij

Requirement: windows

WatiN

Description:

WatiN stands for Web Application Testing in dotNet. Inspired by Watir, WatiN enables web application testing, through Internet Explorer on a Windows platform, expressed in any .Net language.

Requirement: Windows

Watir

Description:

Watir (Web Application Testing in Ruby) is a functional testing tool for web applications. It supports tests executed at the web browser layer by driving a web browser and interacting with objects on a web page. It uses the Ruby scripting language.

Requirement: Windows (currently only supports Internet Explorer)

Read more about