QA testing tools include everything from performance testing tools to workflow management tools. If you’re just getting started with software quality assurance, it can be difficult to know what tools you need (and how to tell them apart).
Functional testing is the foundation of most software quality assurance efforts. That’s why we think the right automated functional testing tool is the most important part of your QA toolbox. The right automated functional testing tool will help you:
Our no-code automated testing platform, Rainforest QA, was designed to help software teams quickly release with quality, without having to add headcount. We’ll do a deep dive on our product later, or you can skip to that section now.
Once you have a solid functional testing program in place, you’ll likely want to expand to other types of QA testing such as performance testing or security testing — which is when other types of tools will be useful.
In this post, we’ll discuss factors to consider when choosing a functional testing tool and cover 7 popular functional testing tools. We’ll also cover other common types of QA testing tools and list several options for each of those types.
Table of Contents
There are three main considerations when choosing a functional software testing tool:
In this section, we’ll cover why these considerations are important and how to find the answer.
Most software testing tools require programming skills to write, run, and debug tests, which means only a software engineer will be able to handle testing. And, many developers find there’s a steep learning curve to master the nuances of most software testing solutions. Even then, it can be very time-consuming to write tests for new features and triage test results. This often causes a bottleneck effect in the release process, which means you’ll have to decide between delaying a release or releasing an untested product.
Not only is it time-consuming to write new tests, but it can also be very difficult to update existing tests fast enough to keep up with new product changes. If the developers fall behind on test automation maintenance, they will get more and more false failures (i.e., cases where the test fails because of a problem with the test, not a problem with the application). Eventually, they’ll lose faith in the tests and may not run the tests at all or may start ignoring failed test results.
If non-developers can assist with testing, it can be easier to keep up with deadlines and manage more testing — not to mention developers are free to attend to other tasks such as building new products or features.
There are low-code solutions, such as record-and-playback tools, that make it easier to write test scripts by generating the code for you. However, these tools have significant limitations when it comes to the types of test scripts you can write. So, most teams still have to rely on developers to write/update the majority of their test scripts and to figure out why tests failed.
Alternatively, Rainforest QA is a no-code tool specifically designed to let anyone write/edit tests and triage test results without writing a single line of code. Rainforest QA makes it easy to write any test, so you can keep up with your release schedule.
Most QA testing tools search for element locators in the underlying code of an application to find elements and interact with them. If an element locator matches what’s written in the test, the test will continue and eventually return a successful result. However, if even one character is different in the underlying code versus what’s written in the test, the test will fail — even if there’s no change to the UI or functionality of the app.
On the other hand, there are also scenarios where the element locator is correct — causing a successful test run — but there is a bug visible on the UI that a real user would quickly notice. For example, the locator could be present but a pop-up modal might be covering the corresponding element on the UI.
There are plugins that can be added to other tools to help you test the UI directly. However, they’re often very sensitive to minor visual changes anywhere on the screen (rather than just for the element you’re testing), and you'll have to manually insert additional code for every test step where you want to test the UI.
Rainforest QA is the only tool that automatically tests the UI and functionality of your application with every test step.
The final consideration when choosing a functional testing tool is how much it will cost to run your tests long-term. To evaluate this, you need to consider the cost to use the tool itself, which can vary from nothing for a no-frills open-source tool to three and four-figure monthly fees. But you also need to evaluate two kinds of hidden costs associated with most functional testing tools:
As your software grows, you’ll need more people to manage QA testing. If the tool you’re using requires programming skills, you’ll need to hire additional high-salaried developers. If anyone can use the software testing platform, you’ll have more flexibility in deciding who’s right for the job in terms of expertise and company budget.
If you’re looking for a free test automation tool, you’ll be able to find several options that are either open-source or offer a free tier of the software. However, most of these only provide a way to write and run tests locally. If you want to run multiple tests simultaneously on the cloud or have features to assist with understanding test results, for example, you’ll need additional tools such as a testing grid. Eventually, most teams end up paying for something and managing several tools.
Rainforest QA is an all-in-one tool that provides 5 hours of free testing every month and all of the tools you’ll need for writing, running, and otherwise managing a full suite of functional tests.
In the following list, we cover 7 popular test automation tools in terms of how easy it is to write/maintain tests, how reliable the tests are, and how much it costs to use the tool.
Rainforest QA is the only truly no-code solution on this list. Instead of interacting with the underlying code of an application (a.k.a., the DOM), Rainforest tests use pixel-matching to interact with the visual layer — just like a real user would.
Here’s how it works.
To write or edit a Rainforest test step, you scroll through a drop-down list and choose a preset action such as ‘click’, ‘fill’, or ‘observe’. Then, you’ll take a small screenshot of the area or element you want to apply the action to.
To create a more complex test step, you can:
This allows anyone to create test cases that go beyond the typical navigational test cases that record-and-playback tools let you create — without needing programming skills.
You can also choose to save a common sequence of actions to embed in future tests. This is helpful for things like login sequences that will be used regularly because you only have to write out the steps once. Then, you can embed the entire sequence into any other test with just a couple of clicks.
You can preview test steps as you go and/or preview the entire test at the end.
Once you’re ready to run one or more tests, you can start a run from within the Rainforest platform with the click of a button. Or, your software development team can kick off a set of tests from within your CI/CD pipeline using our CircleCI Orb, GitHub Action, API, or CLI.
Many teams have critical test cases that require the ability to interact with browser settings, open multiple tabs, or interact with the desktop. Examples might include downloading and installing a browser extension or desktop application, understanding how a web application will perform under different browser configurations (e.g. with ad blockers activated), and more.
However, most tools only automate a single browser tab, which means all the test cases mentioned above would need to be tested manually or go untested.
Rainforest QA, on the other hand, automates operating systems on virtual machines instead of just a single browser tab. This means you can create test cases for anything visible on the screen.
To see a real example of this, check out this video walkthrough of creating a test that saves a file to the desktop from one location, then uploads the file to Google Drive.
Open source tools like Selenium won’t provide any tools to help you understand test failures. There are some workarounds available that let you view the DOM at the point of the break, but all of these require additional lines of code to be added manually.
Most no-code tools will provide some sort of built-in feature that records test runs. However, there’s usually a limit to how many recordings you can store. Other tools will let you add a plugin that takes a snapshot of the HTML DOM or screenshot of the UI at the point of failure. However, the bug is often in the steps leading up to the failure, so these snapshots and screenshots will rarely show you the bug.
Rainforest QA automatically records a video of every test run whether it passes or fails and stores all videos indefinitely. You’ll also be given details on how the failure was determined, HTTP logs, browser logs, and much more in one user-friendly dashboard.
Video recordings are helpful for viewing test steps leading up to the failure and for comparing a successful test run to a failed test run — which is often the key to understanding why a test failed.
Our Professional plan offers 5 hours of free testing every month — and it’s only $5/hr after that. Instead of requiring you to sign a contract for a certain amount of testing each month, we offer usage-based pricing, meaning you’re only charged for the time you actually spend running tests. There’s no charge for the time spent previewing, writing, editing, or otherwise managing your test suite.
On the Professional plan, you'll have access to everything you need to run functional testing including:
This lets you easily scale your testing up or down at a moment’s notice, without ever paying for more than you need and without managing tons of tools.
Selenium is an open-source coding framework. With Selenium, you can write tests and automate browsers to run your tests. You can also use their record-and-playback tool, Selenium IDE, to help generate test scripts.
You’ll need additional tools if you want to run multiple tests at once, manage test suites, or have any tools for debugging. It’s the oldest solution for test automation, so many tools are built on Selenium and simply provide easier ways for writing and running Selenium tests.
If you’d like to read more about Selenium, check out these articles:
Cypress offers an open-source version of their software. However, most teams find they quickly need to upgrade to the paid versions to keep up with testing as their software grows.
You can read more about the pros and cons of Cypress and Cypress alternatives in this article.
Katalon Studio is an all-in-one record-and-playback tool built on the Selenium WebDriver (which connects the platform to foreign programming language libraries such as Ruby, Java, Python, PHP, etc.)
Like most other record-and-playback tools, Katalon claims to make test automation accessible for non-technical QA testers. However, because of the limitations of record-and-playback tools, you’ll eventually need a software engineer to create complex test cases or to understand why a test failed.
While its no-code functional testing features are limited, Katalon is recognized as one of the top API testing tools on the market.
You can read a more detailed comparison of Cypress vs. Selenium vs. Katalon vs. Rainforest QA in this article.
Testim.io offers a free tier of their web application testing platform that allows for 1,000 serial tests per month and one account per organization. Their paid plans allow you to run a few concurrent tests, but there’s an absolute limit to the number of tests you can run in a month.
You can learn more about Testim’s capabilities and Testim alternatives in this article.
Appium takes the Selenium test automation framework and makes it possible to run Selenium tests on mobile applications (including Android and iOS mobile devices). With Appium, you can test native, web, and hybrid mobile apps.
Like Selenium, it’s an open-source testing framework that relies on programming skills. A developer can configure Appium to take a snapshot of the underlying code at the point of break to help identify why a test failed, but there are few other features and tracking tools to help with test maintenance or debugging. However, it’s fairly customizable and can be easily integrated into any software development tool.
Mabl is a record-and-playback tool built for agile teams. It uses a Chrome extension to record test scripts but also lets you run tests on Firefox, Safari, or Internet Explorer for cross browser testing.
To speed up test creation, you can create “reusable flows” that can be inserted into other tests.
Ready to get started with automated functional testing? Sign up today to get free testing every month with Rainforest QA.
Exploratory testing is a type of unscripted, manual testing, with the goal of finding bugs that wouldn’t be uncovered in routine functional testing. Rainforest QA offers an exploratory testing service for Enterprise clients. Some other tools to consider include:
Test management tools deal with planning, tracking, and reporting on the entire testing process including version control, metrics, reporting, requirements management, project management, collaboration, bug tracking, and more. Rainforest QA includes robust test management features that satisfy the needs of most teams. Options to consider include:
Performance testing tools include any type of tool that can apply a specific workload to an application to see how it responds or to find the limits of the software’s capabilities (e.g. on-premise load testing). Options to consider include:
Security testing tools are used to find vulnerabilities and ensure private data is safe from intruders. Options to consider include:
Visual regression testing tools are typically add-ons for functional testing tools in order to test the visual layer of the application directly on the UI. Rainforest QA offers complete end-to-end testing with every test step by testing the functionality and the visual layer simultaneously. You won’t need an additional tool for visual validations. Other options to consider include:
Cross-platform testing deals with testing the compatibility of your software with various operating systems, real devices, browsers, etc. Options to consider include:
Rainforest QA is a no-code automated testing platform that lets you build functional tests to automatically check the visual components of your app with every step. Our usage-based pricing provides easy scalability.
Rainforest is an all-in-one solution that’s suitable for small teams just getting started with automated app testing or teams practicing continuous integration and regularly running 500+ automated software tests as part of the development lifecycle.
Get started with Rainforest QA for free. You get five hours of UI test execution for free, every month. It’s only $5/hour after that.
This guide to software regression testing answers the top FAQs about software regression testing.
In this post, we'll cover the most common types of web application testing, which ones to prioritize, and tools to use.
Learn how to write a software test plan. Get started with our practical guide and free template.
Many quality assurance metrics evaluate QA activities rather than results. These are the 5 most helpful QA metrics.