Tech talks are knowledge sharing sessions conducted bi-weekly at NovelVox. This week, we had a session on Automation Testing conducted by Ashutosh Mittal on August 5, 2020.

About Automation Testing

Automation Testing is a technique used to automate the testing tasks by comparing and testing the actual and expected outcomes. If you are in software testing, you would either be using an automating testing tool or writing test scripts to perform the desired actions. The automation testing saves you from testing repetitive tasks manually, effectively, and efficiently.

Automation Testing refers to “Activities and efforts that intend to automate engineering tasks and operations in software test processes using well-defined strategies & systematic solutions.”

Why do we need to automate testing tasks

Before automation, manual testing used to rule the software testing domain. The technicality of software and websites used to be tested using manual methods by a team of manual testers. As the testing method was manual, the final outcome used to have errors. Also, the need of performing testing operations on the same tasks repetitively demanded more time and resources.

Automation Testing

To overcome most of these problems, the automation testing technique was introduced to:

  • Reduce cost (of failure)
  • Save time
  • Bring accuracy and reliability
  • Perform load testing
  • Increase confidence

Limitations of Automation Testing

In spite of being a bliss for the software testing domain, the testing techies did notice few limitations of using this technology. They are as follows:

  • It requires scripting and programming skills
  • It requires maintenance of automated test code
  • The technology is not suitable for Legacy Code
  • System and integrated testing cannot be performed
  • It requires knowledge of Interfacing between components
  • Additional tools and hardware are required
  • Automation testing is not a replacement but an alternative to manual testing

How to get started with Automation Testing

1. Finding a tool

There are many automation tools available in the market and some of them are given below:

  • Selenium
  • HPE Unified Functional Testing (HP – UFT formerly QTP)
  • Protector
  • Apache Jmeter
  • Tosca Testsuite
  • Telerik TestStudio
  • Katalon Studio
  • Test Project

2. Going with Selenium

Out of the above tools, you can go with the Selenium because of the power-packed features it possesses. Selenium is a collection of open-source APIs used to automate the testing of web applications. It is a functional automation tool supporting multiple languages, browsers, and operating systems.

Selenium uses the “Selenium WebDriver” tool, a W3C Recommendation, to automate web application testing to ensure it works as expected.

Automation Testing

Let’s learn why Selenium is a popular automation testing tool among testers and the limitations involved.

Advantages of using Selenium:

  • It is an Open source tool
  • It supports multiple languages like HTML, Java, PHP, Perl, Python, etc.
  • It supports mostly-used browsers like IE, Mozilla, Firefox, Safari, Chrome, Opera, etc
  • Operating systems Windows, Linux, and Mac are supported
  • It offers seamless integration with other libraries to automate Mobile apps, generate reports, etc.

Limitations:

  • Automation of Windows applications is not supported
  • Can’t automate a captcha and OTP
  • Non-availability of reliable technical support
  • Only web-based applications are supported
  • Selenium does not offer any certification
  • Difficult to Setup Test Environment as compared to Vendor Tools like UFT, RFT, SilkTest, etc.

Selenium Integration

Selenium is not a complete tool in itself. When you install Selenium, you only get a few jar files. Hence, to complete the automation structure, one needs to integrate Selenium with third-party tools as mentioned below:

For Coding & Execution

  • Any Editor (like Eclipse, IntelliJ, etc.)
  • Any Scripting Language (like Java, PHP, C#, javascript, etc.)
  • Central Code repository (like GitHub, GitLab, Bitbucket, etc.)

For Framework Development

  • TestNG
  • Maven with Page Object Model

For Logging & Reporting

  • Log4J
  • TestNG Report
  • Extent Report

Practical Session

Apart from sharing his valuable knowledge on Automation Testing, the host also took a practical session wherein the NovelVoxians were introduced to the following test cases:

  • Verifying the “About Us” page on the NovelVox website
  • Visiting the NovelVox website and filling the form to request a demo to ensure the demo request does not get saved without entering a valid captcha code.

Screenshots from the session:

Automation Testing

Automation Testing

This was a snippet of our last tech talk session conducted by Ashutosh Mittal. It was a really knowledgeable session for all the NovelVoxians as they get to learn about the ins and outs of Automation Testing from the Testing Lead itself.