Today, we’re launching our no-code QA platform, making software test automation accessible to any product contributor in any company.

Rainforest QA started in 2012 as a crowdsourced testing platform — QA specialists from our worldwide community would follow plain English instructions to run customers’ test cases.

After two years of development, we’ve now added a proprietary, no-code automation service to the platform, including a visual test editor anyone can use to create, update, and run complex, automated test cases without knowing any code.

Adding a step in Rainforest QA

This launch marks a major milestone in our mission to make QA accessible to everyone responsible for product quality and user experience. And it reflects the fact that modern QA means optimizing not only for quality, but also for speed of execution. Specifically, the speed required by automated software development pipelines and the companies that use them to stay competitive.

Read on to learn:

  • Why QA matters, and how it’s been creating unhappy tradeoffs in modern software development processes.
  • How many product development teams have been excluded from the benefits of test automation.
  • More details on exactly what we’re announcing today, including how it addresses the obstacles development teams have been facing.

Contents

Toggle

**The QA Challenge**

I should start by thanking Paul Graham (or “PG”, as we came to know him), the legendary founder of Y Combinator.

In 2012, after my cofounder, Russ, and I had spent a month at Y Combinator, trying and failing to ‘make something people want’, PG offered some pointed feedback that completely changed the trajectory of our fledgling company.

With characteristic directness, he told us our idea was “dumb”, suggested that we probably wouldn’t be passionate about it for the long haul, and recommended that we stop working on it.

In trying to prove him wrong about our idea (which was completely unrelated to what we’re doing today), we realized pretty quickly: he was right.

So, with a month to go before Demo Day, we found ourselves without an idea. Having built many prototypes that people weren’t interested in, we emailed everyone else in our YC batch, asking if there was any software development problem they’d pay us at least one thousand dollars a month to solve for them.

The most consistent response? Quality assurance (QA).

In software product development, QA is necessary. It’s what keeps bugs and other oversights from hurting the brand, from eroding revenue, and even from hurting customers.

The only question tech companies face isn’t whether or not to do QA, it’s how.

That’s why the software testing market is huge: it’s a >$45B market (projected to grow to $110B by 2027), and accounts for around one-fourth of enterprise IT budgets, on average.

But small companies like the ones in our YC class typically can’t afford to hire extra headcount just to do QA. And the time their (expensive) developers and product managers spend testing the product is time not spent working on new code.

That’s why, for nine of the companies in our YC cohort, it was worth one-thousand dollars a month for Russ and I to do their QA for them.

Of course, we couldn’t build a scalable business based on two guys manually going through test scripts.

Around that time, we found the solution when another founder introduced us to Amazon Mechanical Turk: Leveraging a huge network of globally-distributed workers seemed like an ideal way to execute test scripts, at scale.

We seemed to have found our not dumb business idea: “crowd testing”.

**The Rise of Continuous Integration / Continuous Delivery (CI/CD)**

Not only did our YC classmates point us to our business idea, they also pointed the way to the future of software development and, by proxy, the future of QA.

Something all of the companies in our cohort had in common was that they released code quickly and frequently — often many times a day. They were on the leading edge of a trend most of us in tech see everywhere today: releasing software product updates at a high velocity as a competitive advantage.

Specifically, they had adopted continuous integration and continuous delivery (CI/CD) pipelines in their development processes. In short, CI/CD is a methodology that automates various stages of software product development so that teams can release new code to customers more rapidly, efficiently, and frequently.

We were certain that CI/CD would be a key part of the increasingly-agile future of software development.

But QA was (and is) still a labor-intensive, manual process. In an automated pipeline, manual processes become the bottleneck. For CI/CD pipelines, QA is often the bottleneck. Startups are faced with a frustrating dilemma: slow down your team and your release process to do QA, or move fast and break things.

Widespread, successful adoption of CI/CD would require a step-change in software testing:

  • Ease of use. Anyone on the team responsible for quality needs to be able to create and update tests. Otherwise, those stakeholders are left depending on specialized QA teams, which are frequently time-strapped and backlogged.
  • Affordability. If you’re deploying code several times a day and running QA tests for every release, costs can add up, fast. Testing has to be affordable enough to execute with every release.
  • Speed. Testing has to be fast enough to support an automated pipeline. Developers can’t feel like QA is a bottleneck, otherwise they might skip it in favor of faster releases.
  • Quality of results. Being affordable and fast is meaningless unless test results are reliable and trustworthy.

**Rainforest QA, Version 1**

Given this vision of the future, we operated Rainforest QA for several years around addressing a single question:

Can we build an easy-to-use system in which crowd testers return high-quality test results quickly and affordably enough for CI/CD?

**Easy?**

Our customers could write test instructions for our tester community in plain English. We heard from many people on product teams saying, “Wow, this is great, I can use it without going to the QA team!”

Of course, we also discovered that open-ended English language instructions can be unhelpfully vague. If you tell me, “Visit the park”, I can think of 100 different ways to get there, including different routes, modes of transportation, speeds, and more. The best test scripts are detailed and specific; they spell out exactly what should happen at each step.

**High-quality?**

Can crowd testers consistently deliver reliable test results? When you’ve got the right people with the right training and systems in place, the answer is yes.

We specifically developed three systems to ensure consistently high-quality results from our community of testers (who we initially sourced from Mechanical Turk, and subsequently contracted with, directly):

  • Training. We implemented automated training to verify English language comprehension and writing, ability to follow nuanced instructions, and more.  
  • Reproducibility. Every test is executed by at least two testers to confirm a consensus in the results. Our quality algorithms add more testers as necessary in real-time.
  • Reputation scores. Every tester at Rainforest has an algorithmically-based reputation score that is constantly adjusted based on their work. Factors include the consistency of their test results with high- and low-reputation testers, their response time to new tasks, their training performance, and more.

**Fast and affordable (enough)?**

We optimized crowd testing to be as fast as it could possibly be.

First, we recruited thousands of QA specialists worldwide, so that any test could be run on-demand, 24×7. There’s effectively no lag, waiting for someone to run your tests.

Further, for each set of test cases someone submits to Rainforest, we run the test cases in parallel. That means executing that set of tests only takes as long as the longest single test case in the set.

These days, for sets of tests run against our tester community, results come back in 17 minutes, on average.

That’s incredibly fast for manual testing, and has been wildly popular with customers whose internal teams were spending hours, days, or even weeks running tests manually. Those customers love that they can expand their test coverage and get speedy test results in an affordable way, without adding headcount.

But, the fact is, for many rote tasks, humans will never be as fast (or as affordable) as the processing power of computers.

Critically, we found that human-powered crowd testing, in most cases, would never be fast and affordable enough for CI/CD pipelines.

Even for companies who haven’t adopted automated development pipelines, speeding up the release of product updates is among their most important priorities.

**Inaccessible Test Automation Solutions**

The logical conclusion is that teams should simply automate as much testing as possible.

But test automation has been largely inaccessible to many of the product teams who need it.

**The skills barrier**

Historically, you’ve needed to hire a coder (for example, a Quality Engineer) to write and maintain your test cases using a test automation framework like Selenium. That precludes any product team without specialized QA folks from taking advantage of automation.  

Even having a QA Engineer on the team doesn’t solve the accessibility problem. There are roles on the team  — like Product Managers and UX Designers — who’re responsible for the quality of the product experience, likely don’t know how to code, and therefore have no immediate control over what gets tested and how.

For the developers who do know how to code, their time may be better spent building software, not test suites.

**The cost barrier**

Open source test automation frameworks like Selenium are “free”, but they come with the not-so-hidden costs required to use them:

  • Testing infrastructure. You need to procure machines you’ll run tests on, either locally or via a 3rd-party service like BrowserStack.
  • Headcount. Ziprecruiter pegs the current average salary for Selenium developers in the U.S. at $125K.

Automation in the realm of QA hasn’t been living up to its promise as a cost-effective, affordable solution.

We’ve seen the effects of these cost barriers manifest in the adoption rates of CI/CD. Even as it’s gained wider adoption, there’s an adoption gap between smaller and larger companies.

Relative to larger companies, smaller companies can’t afford to add specialized engineering headcount for functional testing, so they keep manually running regression tests — tests to confirm important product flows are working — before every release.

And that’s if they’re lucky enough to have a person dedicated to manually running these QA test scripts. In many cases, “QA” is limited to product managers and other people on the team passionate about quality running ad hoc tests after each release, and emailing or Slacking the developers with any issues they find.

Either way, there’s a painful tradeoff for the business between the speed of releasing code and the thoroughness of testing that code.

If you can’t afford to automate a meaningful portion of your QA testing, you can’t fully automate your development pipeline and release code at the velocity needed to compete. QA becomes the bottleneck.

**Rainforest QA, Version 2**

Two years ago, we made a big decision to pivot the company around these findings.

Now we’re finally ready to share how we’ve addressed each one of these trends, challenges, and needs in software testing.

Today, we’re making software test automation truly accessible to all companies and product contributors with a novel no-code approach.

**True no-code test automation that anyone can use**

**Automation accessible to anyone on the product team**

Creating or updating a test step in Rainforest’s visual editor is as easy as selecting an action (like click, fill, or scroll) then click-and-dragging your mouse to highlight the target of the action. Everything is human-readable.