Introduction to Test Automation

Bimali Wickramasinghe
3 min readJan 21, 2021

Automation is the doing the repetitive tasks using the machines as tools reducing the human intervention. Humans are more error prone and less effective.

In definition given in Wikipedia, in software testing, test automation is the special software to control the execution of tests and the comparison of actual outcomes with predicted outcomes.

Benefits of Test Automation

Test automations gives many benefits in various ways. The following are some benefits we can gain by automating testing.

  • Speedup test execution
  • Avoid human errors
  • Unattended execution — human effort is not necessary in execution
  • Test what manually impossible — ex: higher number of outputs
  • Improve efficiency of testing and cost
  • Improves team morale
  • More time for exploratory testing

Types of Automated Testing

  • Code-driven — unit tests/TDD
  • GUI(End to end test automation) — UI object property based, image recognition based
  • API/ service test automation — restful APIs, SOAP
  • Mobile test automation — Android, IOS, Hybrid
Software Testing Pyramids

Tools and Technologies for Automated Testing

  • GUI (for Web) — Unified Functional Testing, TestComplete, Selenium, Sikuli, Protractor, Watir
  • Mobile — Appium (FOSS), Calabash, DeviceAnywhere, Perfecto
  • GUI (for Windows) — TestComplete, Unified Functional Testing, Ranorex, Sikuli
  • API — Unified Functional Testing, SoapUI, Rest-assured, POSTMAN, FitNesse

Test Automation Frameworks for GUI Applications

  • Data Driven Framework — Data -> Action Script -> Result
  • Keyword Driven Framework — Keywords -> Driver Script -> Result
  • Page Object Design — Page Objects -> Test Script -> Result
  • ATDD (Acceptance Test Driven Development)

Why Automation Framworks?

Framework is supporting structure which something can be built.

Frameworks,

  • Increase reusability
  • Increase maintainability
  • Reduce complexity
  • Improve reporting
  • Improve error handling
  • Improve productivity

To gain the maximum ROI, a person must have a better understanding about the testing pyramid (scope of automation), right automation tools, choose appropriate framework, scripting standards, measure metrics and team.

Introduction to Automation Frameworks Using Selenium Web Driver

Components of Selenium

Radio buttons, drop downs, checkboxes, text fields, buttons, labels, links and any kind of element in the web page are web element locators. Selenium is an open source tool used for test automation in web applications. Selenium is a package with many options. Selenium is widely used for test automations.

Refferences :

--

--

Bimali Wickramasinghe

Demostrator in Software Engineering, University of Kelaniya Sri Lanka