Automated software tests are much cheaper to execute, take less time to run, and are less susceptible to human error than manual testing. That’s why most software companies eventually build an automated test suite.
There are many things to consider when first getting started with automated testing, but arguably the most important is choosing the right tool. Choosing the right tool will determine who will be able to write and maintain tests and therefore how quickly and easily you can scale up testing.
Using a no-code automation testing tool that allows anyone to quickly create and edit tests is the most efficient way to scale up testing.
A true, no-code test automation tool enables anyone on the product team to quickly create and edit tests so you won’t have to hire additional personnel for testing.
Our tool, Rainforest QA, was specifically designed to let anyone create automated tests without learning a programming language.
In this tutorial, we’ll provide a few resources to help you build structure and direction for your testing efforts. Then, we’ll provide a step-by-step look at how to start automation testing from scratch using Rainforest QA.
Sign up for Rainforest QA—an all-in-one no-code automated testing tool that helps you do more testing in less time. You can run up to five hours of no-code automated tests for free, every month. It’s only $5/hour after that.
While automation can help you do more testing in less time and catch more bugs, you need to determine if your application is ready for automation before building any automated tests.
Whether or not your application is ready for automation largely depends on the stability of your product. If your product is still in the early development phase and major code changes are occurring regularly, it’s not time to automate yet—wait until the application under test is more stable.
If, on the other hand, you have a set of user paths that don’t change very often but get tested frequently (smoke tests or regression tests, for example), it’s likely that automation would be a good fit.
In general, the more automated vs. manual tests you have, the more time and money you’ll save—but you can start seeing an impact with just five or ten automated tests. However, some test cases are always a better fit for manual testing, including user paths that:
There are also some types of testing that inherently require human testers:
Once you’ve determined that your application is ready for automated testing, building a test automation strategy will help you meet your goals quicker and use your resources more efficiently.
You can read more about how to build an automated testing strategy in this guide, but one of the first steps is defining your scope of automation—that is, which test cases, specifically, that you’ll automate.
Many teams believe that more testing always leads to better quality, which is understandable because more testing can mean fewer bugs get shipped to production. However, more testing is not the goal. If you’re not testing the right things, more testing just means more work—especially when it comes to automated testing.
One of the biggest unexpected costs for QA teams is test maintenance (i.e., the ongoing task of updating tests to reflect changes and new features in your product). Every automated test inevitably needs to be maintained. That’s why any test that isn’t critical for improving test coverage will likely end up costing more to maintain than it’s worth.
To prioritize our testing, we like to use the analogy of a snowplow. Imagine your app is like a city—all the user paths through the app are like the highways, roads, and side streets of a city. When it snows, the snowplow crew follows a predefined route through the city to clear the most trafficked streets first because they affect the most people. Then, if they have the time and resources, side streets with little traffic may get plowed. Likewise, you should start by building tests along the most critical, highly trafficked user paths of your app.
Additionally, you can prioritize which types of testing you’re going to start with. This makes building an automated testing suite more manageable while also ensuring you get the most out of the tests you do have. The two types of testing you should focus on when you’re just starting out are smoke testing and regression testing.
Smoke testing covers the most essential user paths to make sure the application is stable enough to move on to further testing. This is a good place to start because the sooner in the development process you notice a flawed build, the easier it’ll be to fix it.
Regression testing is usually the last step of the testing process before release. It covers all the critical functionalities of an app and deals with ensuring the new build didn’t introduce a bug. Automating your regression suite is especially important for teams following agile software development practices, as we discuss in this article on agile regression testing.
Starting the automation process with even a few smoke or regression tests can save you a significant amount of time and money.
Finally, the software testing tool you choose plays a critical role in how easily and quickly you can scale up your testing. We recommend looking for an automated testing tool that:
You should also look for a tool with an option for running some tests for free so you can try it out without any risk.
To learn more best practices for building an automated testing suite, you can read The Rainforest Method here.
Rainforest QA is a no-code test automation platform that lets anyone write and maintain tests. Rainforest’s automated tests interact with software via the UI, mimicking the real user experience. This has several advantages over the method used by tools like Selenium WebDriver or Appium (which is basically Selenium but for iOS and Android apps).
Unlike those tools, which identify elements on the page by finding locator IDs in the underlying code, Rainforest uses pixel-matching to identify and interact with elements in the UI. This means that Rainforest tests actually verify both the functionality of the application and the appearance at the same time. It also means Rainforest tests are less likely to break when there are minor code changes that don’t affect the UI.
Here’s how it works.
Unlike automated testing tools like Selenium and other open-source tools, Rainforest lets you build an entire test suite without writing a single line of code.
To write or edit a test step, select from a list of preset actions such as click, fill, scroll, etc. Then, use your mouse to take a screenshot of the element you want to apply the action to.
Not only is it easy and straightforward to create any test step, but also anyone looking at a completed test script will be able to understand exactly what’s going to happen. (See the left-hand column in the image below.)
To write tests in even less time, you can use embedded tests. Embedded tests let you write a common sequence of steps (a signup process, for example) just once and then insert that sequence into any test that needs it.
After you’ve built your first suite of tests, you can kick them off whenever you’re ready with one click within the Rainforest platform. Or, you can incorporate your Rainforest tests into your CI/CD pipeline via our API, CLI, CircleCI Orb, or GitHub Action.
With either setup, you have access to our network of virtual machines running different operating systems and browsers. You can run multiple tests simultaneously.
You also have the option to send the test to our community of worldwide QA experts for testing software manually. Many teams find this helpful during the transition from manual to automated testing and for managing manual tests as part of the ongoing testing process.
Without the right automation tool, interpreting test results is often one of the most inconvenient, time-consuming parts of automated testing.
Rainforest, however, makes it easy and fast to understand why any test failed. With Rainforest, every test gets recorded and stored on the Rainforest platform, whether it passes or fails. This lets you compare a passed test run to a failed one which can be helpful in understanding failures in flaky tests. Video replays also show you everything leading up to the failure.
Next to every video, you’ll see the test steps with failed test steps highlighted in red. Each test step also has an ‘investigate action’ button which provides further details about how the step was performed.
You can download things like HTTP logs, browser logs, settings, and more, for every test.
If you encounter a real bug, our Jira integration lets you integrate debugging into your workflow by sending a ticket to the software development team from right within Rainforest.
The ticket automatically includes steps from the failed test, a screenshot from the failed test step, a link to the video replay, and more information in Rainforest.
Many automated testing tools will only offer a way to write and run individual tests, but most teams find they eventually need a way to manage dozens or even hundreds of tests, run multiple tests at once, and communicate more efficiently with everyone on the team.
Rainforest is equipped with everything you’ll need to run and manage a full suite of automated and manual tests, including:
With Rainforest QA, you can start for free and never sign a contract. With our free-forever Professional plan, you get 5 hours of free testing every month. It's only $5/hr after that.
This makes it easy to scale your testing as your company grows without slowing down the software development lifecycle. And you only pay for what you use—meaning only for the time spent on test execution—not for anything else (such as writing, editing, organizing or otherwise managing your tests).
You also get a free 14-day trial of our premium features which includes access to our on-demand manual testers (which are only $25/hr after the trial).
We provide a detailed review with recommendations of the top 10 software testing tools available today.
In this post, we define what 'smoke testing software' means, provide specific examples of the types of tests to include, and discuss a few best practices.
This guide covers the advantages and disadvantages of the most common types of automated software testing tools.
These 10 Testim.io alternatives for functional software testing can make test writing and maintenance easier.