Practical Automation Tools to Increase QA Efficiency ...and when to avoid automation

Admit it! Automation is here to stay and Quality Assurance engineers need to adapt it quickly.

A survey report in 2018 by StateofQATesting suggests that 85.5% of tester say automation is being done in their software house at some level.

But the question remains, what tools to use? What technology suits us? When to avoid automation?

As automation is relatively new to the market, choosing the right tool that suits your needs is quite essential. Otherwise, it becomes a hassle instead of helping the App/Software grow.

Here are some of the most practical automation tools being used in the industry right now.

For the ease of the reader, we have categorized the tools into

  • Performance Testing Automation
  • Web Application Testing Automation
  • Mobile Application/Game Testing Automation
  • API Testing Automation

Performance Testing Automation

Performance is a key parameter to measure an Apps/Software quality nowadays as users keep increasing day by day. Research suggests even a 1-second delay in page load time results in 7% fewer conversions. Here are some of the tools that can be used to test and measure performance.

JMeter

Jmeter is an open source, free tool created in Java. It was initially designed to test Apache Tomcat Server, but later on, the community redesigned it to be used generally. It is the most widely used tool whenever performance or load testing is required.

It is popular for:

  • Load testing and Performance measurement, but it can also be used for API testing.
  • Lightweight and easy to use
  • Offline analysis/replaying of test results

License: Free

Website: https://jmeter.apache.org/

JMeter Screenshots

Load runner

For a long time Load Runner was the only application available for performance and load testing, hence it has a greater number of users. It was developed by Mercury Interactive, later on taken over by Hewlett-Packard.

Testers love it because it uses minimal hardware resources and is extremely efficient and reliable with great customer support.

It is popular for:

  • End to end solution, highly developed tool
  • Strong user interface
  • Impressive reporting
  • Clear documentation/ tutorials

License: By Quote

Website: https://www.microfocus.com/en-us/products/loadrunner-load-testing/overview

When to avoid Performance Testing Automation:

Suppose the deadline is approaching, the team is under pressure to go live. Can you skip performance automation?

The answer is no if you have very frequent deployments on the live server.
Automation can be your best friend, as skipping it can impact the user experience, which will ultimately reflect on your application.

The only scenario where performance testing automation can be skipped is when you have a low number of deployments. Let’s say 4-5 per year, the number of users using the product is very few or if the product is only for internal use. In that case, writing automation scripts will only be a burden.

Web Application Testing Automation

The internet has grown, so have the problems of the web. Be it a website, web application or a server-based application/game, testing for web functionality, security, accessibility, and compatibility is a must. Here are some of the best tools that can help automate web testing.

Selenium

Selenium is an open source web automation tool that is most widely used around the globe.

Jason Huggins created a “JavaScript Tool” in 2004 to break the monotony of an automation tool named “Astra Quick test” created by a company called Mercury. Soon he realized the potential of this tool, made it public and named it Selenium.

It is considered as the most adaptive automation tool since test cases can be written in C#, Java, Python, Ruby, PHP, and Perl on multiple platforms like Windows, Linux, Mac and can interact with multiple browsers like Chrome, Firefox, Internet Explorer, Edge, Safari, Opera etc.

It is popular for:

  • Free tool that can compete easily with paid tools
  • Works perfectly in Agile, DevOps SDLC
  • A wide range of supported platforms, languages and operating systems
  • Huge community

License: Free

Website: https://www.seleniumhq.org/

QTP aka UFT

HP  Professional (renamed to HPE Unified Functional Testing) is one of the most comprehensive automation testing tools out there. It is one of the most dominant commercial testing tools in the market. It can test both Web and Desktop applications and is very easy to use.

UFT uses VB Scripting as its scripting language. It is also tightly coupled with HP management tool and Loadrunner.

It is popular for:

  • Great logging
  • Customizable reporting
  • The exceptional error handling mechanism
  • Good support and documentation

License: Paid

Website: https://www.microfocus.com/en-us/products/unified-functional-automated-testing/overview

Link Tiger

Link tigers solve one of the most common and most important problems a business can face online (i.e broken links).

Broken links lead to loss of traffic and bad impression hence loss of business. It is also an extremely tedious job for a tester, which can save a lot of time if automated.

Link Tiger is popular for:

  • Automated daily/weekly checks for broken links
  • Easy to use dashboard
  • Scans HTML/CSS along with Flash, PDF and Javascript files

License: Paid

Website: https://linktiger.com/

When to avoid Web Testing Automation:

As the web is a dangerous place, it is recommended not to avoid web testing automation as testers can only cover all the test cases a couple of times a year.

Unless you only have a static website with 6 pages, which only serves the purpose of letting the visitor know you exist. In that case, automation can be a burden.

Mobile Application/Game Testing Automation

Mobile testing is not only to verify if the app is running fine. It is to test how the app behaves on different OS versions, different screen size, and different devices. All these different variations make it really difficult to test manually, hence the need for automation.

Here are a few practical tools that can be used for automation to make sure your app or game is up to the mark.

AWS Device Farm

“AWS Device Farm is an app testing service that lets you test and interacts with your Android, iOS, and web apps on many devices at once, or reproduce issues on a device in real time. View video, screenshots, logs, and performance data to pinpoint and fix issues and increase quality before shipping your app. AWS Device Farm lets you test your application on a shared fleet of 2500+ devices or on your own private device lab in the cloud.”

AWS can also test apps and games created natively or with PhoneGap, Titanium, Xamarin, Unity, and other frameworks.

Different frameworks like Appium or built-in script-free test cases can be used to automate the testing.

It is popular for:

  • Cheap solution to test on multiple devices in real time
  • Good reporting with automatic screenshots
  • Can start testing within minutes of signing up

License: Paid (First 1000 minutes free)

Website: https://aws.amazon.com/device-farm/

AWS Device Farm screenshot

Appium

If you know about Selenium, you must already know about Appium too.

Appium is an open source mobile testing platform that can test application for Android, iOS and Windows platforms.

Without the necessity to recompile the app, you can test the app as you ship.

It is popular for

  • It can test both Android and IOS app using single code (no separate coding required)
  • Easy to use
  • Open Source

License: Free

Website: http://appium.io/

AppManager

Automation is not only to run test cases to check the features and functionality of an app. If repetitive mundane (but important) tasks can be automated to avoid any mistakes it can save a lot of time.

AppManager is here for this.

It makes app/game uploading process simple and easy by uploading screenshots, managing localizations, and optimizing store listings. This part is equally important as the actual app development, because it’s the first thing a (potential) user of an app sees: the app icon, screenshots, videos and description.

It is popular for

  • Speeding up deployment times and decreasing update times
  • Deployment as simple as the push of a button
  • Better team and app management

License: Paid (30-day free trial)

Website: https://appmanager.io/

AppManager screenshot

When to avoid Mobile Testing Automation:

This one is easy. NEVER! There are too many variables to be left to humans to do it right every time. Someone will skip a step and that will result in an app rejection from Apple or bad user experience. The app stores are extremely competitive and a bad experience may close the door to a potential user forever.

API Testing Automation

Since APIs lack user interface, it becomes difficult for a tester to test it manually, hence the automation.

Here are some practical tools for API automation.

SOAPUI

SOAPUI is an open source tool that can be used to test SOAP, Web, and HTTP based services.

SOAPUI is considered as a default when API testing is considered.

Its drag-and-drop feature makes it easier for the tester to adopt. If required, the user can write advanced test cases as well.

It can also do vulnerability scans and simulate high volume load testing with ease.

It is popular for

  • Performing all kinds of testing including Load, Vulnerability, Functional testing to name a few
  • Free of cost. The user only needs to upgrade to pro mode if more features are required
  • Data-driven testing. It lets users insert data in bulk, reducing time and energy consumed.

License: Free

Website: https://www.soapui.org/

Postman

Postman is a great tool if the user wants to test HTTP APIs. It is very user-friendly and comes with some add-ons as well. It can automate different test cases and run automatically on top of that.

Postman also helps developers to develop, debug and mock scenarios when required.

It is popular for:

  • Its rich features
  • Can be used by development and QA team both
  • Has good user reviews

License: Free

Website: https://www.getpostman.com/

Postman Screenshot

Conclusion

So there you have it!

Key points:

  • Automation helps to make sure the performance and the quality of the product is up to the mark.
  • There is no need to be afraid of automation, just dive into it and the tools mentioned above will help you through the journey.
  • Automation can only be skipped if the scale of the application is very small, e.g a website just to show your presence.
  • Automation is not only to test the quality of the application, but it can also be used to speed things up and to make sure simple, but drastic mistakes are not made.
  • A lot of free tools are available if paid tools are not affordable.

Happy Testing 🙂