Test Automation

Jeewantha Lahiru
5 min readJan 22, 2021

What is Test Automation?

An investigation performed by a human to provide project stakeholders with information about the quality of the software under development, we called it as Testing Software. The uses of software tools (or automation code) and the power of machines to control the execution of tests, compare their result, and report functions that would otherwise require manual testing activity. This is called as Test Automation.

Why is Text Automation used?

When we looking at the test automation, There we can achieve many advantages using this. Such that simplifying test execution, increaseing speed of test execution, increase the amount of test coverage and improving the reliability of tests. As well as due to the minimizing of the human interaction with testing we can improve the accuracy of software test as well save the time and money.

Test Automation Frameworks

A framework is a supporting structure around which something can be built. Increasing reusability, increasing maintainability, reducing complexity, improved reporting, improved error handling, improved productivity are some of the benefits of using frameworks.

Data driven framework

Data-driven is a test automation framework which stores test data in a table or spread spreadsheet format. In Data-driven test automation framework, input data can be stored in single or multiple data sources like xls, XML, csv, and databases.

Keyword driver framework

Keyword Driven Testing is a scripting technique that uses data files to contain the keywords related to the application being tested. These keywords describe the set of actions that is required to perform a specific step.

Page Object design

Page Object Model (POM) is a design pattern, popularly used in test automation that creates Object Repository for web UI elements. The advantage of the model is that it reduces code duplication and improves test maintenance.

ATDD

Acceptance test–driven development (ATDD) is a development methodology based on communication between the business customers, the developers, and the testers. ATDD encompasses many of the same practices as specification by example, behavior-driven development (BDD), example-driven development (EDD), and support-driven development also called story test–driven development (SDD). All these processes aid developers and testers in understanding the customer’s needs prior to implementation and allow customers to be able to converse in their own domain language.

In order to gain the maximum ROI, scope of automation, selection of the right automation tool, choosing appropriate framework, scripting standards, measure metrics are some of things to be considered.

Test Automation tools

Tool selection is one of biggest challenges to be tackled before going for automation. First, Identify the requirements, explore various tools and its capabilities, set the expectation from the tool and go for a Proof of Concept. There are tons of Functional and Regression Testing Tools available in the market. Here are some commonly used tools:

  1. LambdaTest
  2. TestComplete
  3. QMetry Automation Studio
  4. TestProject
  5. Katalon Studio
  6. Selenium
  7. Subject7
  8. Appium
  9. Micro Focus UFT
  10. Test Studio

Choosing appropriate framework

To help determine which framework is right for your organization, consider about following questions.

  • Consider the application and the technology involved. How was the application built? What is the user experience like?
  • Think about testing requirements. Does the application have a very complex workflow?
  • Determine license cost of the tool. What costs are associated with each framework?
  • Evaluate the skill sets available within your organization. What skills does your team already have? Is there a team that could plug into one of the frameworks?

Scripting Standards

It’s important to look at the entire scope of your automation project when you create standards for test automation. If you overlook something while drafting the standards, it can be expensive to change standards after your team has created several thousand lines of code. Here is a list of some of the things you should consider when creating standards for test automation:

1. Test Tools.

2. Libraries

3. Logging

4. Error Handling.

5. Environment.

6. Test Harnesses so on.

Selenium

Selenium is a free (open-source) automated testing framework used to validate web applications across different browsers and platforms. It is basically used to automate the testing across various web browsers. It supports various browsers like Chrome, Mozilla, Firefox, Safari, and IE. It provides a single interface that lets you write test scripts in programming languages like Ruby, Java, NodeJS, PHP, Perl, Python, and C#, among others. 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.

The entire Selenium Software Testing Suite is comprised of four components: Selenium Integrated Development Environment (IDE), Selenium Remote Control (RC), WebDriver, Selenium Grid. Selenium IDE, a Firefox add-on that you can only use in creating relatively simple test cases and test suites. Selenium Remote Control, also known as Selenium 1, which is the first Selenium tool that allowed users to use programming languages in creating complex tests. WebDriver, the newer breakthrough that allows your test scripts to communicate directly to the browser, thereby controlling it from the OS level. Selenium Grid is also a tool that is used with Selenium RC to execute parallel tests across different browsers and operating systems. Selenium RC and WebDriver was merged to form Selenium 2. Selenium is more advantageous than QTP in terms of costs and flexibility. It also allows you to run tests in parallel, unlike in QTP where you are only allowed to run tests sequentially.

--

--

Jeewantha Lahiru

Undergraduate Software Engineer in University of Kelaniya