• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Rapid Blog

  • Enterprise
  • API Hub
  • Add Your API
  • About
  • Docs
    • API Glossary
  • Blog
    • What is an API?
    • REST API Tutorials
    • Most Popular APIs
  • Sign Up
    • Log In
Blog » The Dev Room » Why We Invested in Automation and QA Early

Why We Invested in Automation and QA Early

By Andrey Bukati // July 29, 2020

Most companies don’t hire someone specifically for quality assurance until well after there’s a working product. After all, isn’t the whole point of a startup to “move fast and break things?”

I was the fifth person to join RapidAPI and a big part of my job, even early on, was to make sure we deliver a high quality product.

While I may be a little biased, I think we made a smart move investing in both QA and automation early on.

giphy-11

Currently, we’re a team of less than 20 people, and we have around 76% coverage in our automated testing. I’m hoping to bring up that number to ~ 90% . Fingers crossed!

Here are the benefits that we’ve seen so far.

1) Faster Iterations

Why Quality Assurance is Essential for RapidAPI

Not every organization needs quality assurance right off the bat. But for us, it’s the nature of the beast! The two factors that make QA so important for RapidAPI are interdependent functionality and our rate of change.

  • Interdependent functionality: Our app is mission critical for other apps. If we have any serious errors, it doesn’t just affect RapidAPI’s website, it could affect everyone else’s apps.
  • Rate of change: Our web app changes all the time. We add three to five API packages to the marketplace a week. We’re constantly updating, fixing bugs and adding new functionality to the website.

Long story short: there’s a very high cost to any mistake and, since we’re constantly changing, mistakes are likely to pop up. For a more standalone app, or a mobile app that only updated once a month, a full on QA process might not be as necessary early on. For us though, it’s essential.

Automated Testing Leads to Faster Iterations

If you work in a startup or have studied the Lean methodology, you’ve probably heard the phrase “Build, Measure, Learn.” This iterative process of deployment means that you can learn the most about what people value and need from your minimum viable product as quickly as possible.

A bit surprising for some… we realized that as we added a testing step, we were actually able to go through this cycle even faster.

screen-shot-2016-12-13-at-5-07-26-pm

 

Automated testing helps go from “build” to “measure” as consistently and quickly as possible.

Currently, we run code in three environments: dev, staging and production. Before any code can move from development to staging, we test it with sanity scenarios, then move it to staging. In staging, we run automatic tests across devices and browsers–a process that would normally take hours of our engineers time (not to mention, buying devices!). While we’re testing on staging, other developers can get back to what they do best – write code. A process that normally could take a few days to a week now takes less then a day and in some cases less then an hour

2) Reduce Human Error

Running manual QA scenarios can get repetitive. Us mere humans can skip/miss/ forget to run scenarios and details in some of them.

Luckily, we have computers! With automated testing, we can ensure that each test covers every step in each functional scenario.

At RapidAPI, we currently run two types of automated testing:

  • Unit tests: Unit tests review individual software components or modules.
  • End-to-End tests: End-to-End tests monitor a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.

Framework

We choose to use the nightwatchjs framework as a base for our general framework in conjunction with browserstack (running multiple browser + os versions).

nightwatch-owlNightwatch.js is an easy-to-use Node.js based End-to-End (E2E) testing solution for browser based apps and websites. It uses the powerful Selenium WebDriver API to perform commands and assertions on DOM elements.

 

browserstack-logoBrowserStack is a cloud-based cross-browser testing tool that enables developers to test their websites across various browsers on different operating systems and mobile devices, without requiring users to install virtual machines, devices or emulators.

We write scenarios in TestRail, then convert those manual tests to automatic tests using Nightwatch.js. Once we have the automatic script written, we run it in Browserstack.

Here’s an example of a test run – we’re testing a dashboard login flow on a Windows 8 computer with Chrome 52.0.

Video Player
https://rapidapi.com/blog/wp-content/uploads/2016/12/bs-video-logs-euw.mp4
00:00
00:00
00:00
Use Up/Down Arrow keys to increase or decrease volume.

 

A cool integration we did was to connect our test runs from Browserstack with Slack using Slack’s API. When the automatic test on Browserstack finds an error, an alert will pop up on our Slack channel with a link to the error log and video for quick debugging.

screen-shot-2016-12-14-at-2-07-09-pm

3) The 2AM Bug

Another benefit of automated testing is this scenario. It’s happened to every developer. It’s 2AM and your phone rings. There’s a critical bug and it needs to be fixed RIGHT NOW.

You groggily fix whatever is wrong and head back to bed. Mission accomplished, right?

Not really, since your fix could break the entire application and cause havoc. To ensure this won’t happen, we can run our selected testing suites in minutes and verify things are running smoothly. With automated testing, we reduce our chance that one change will take down the system.

Building QA from the Ground Up

While it’s unusual to have an automated QA process this early in a company’s history, the benefits for RapidAPI make sense. Plus, it’s been really fun to build.

How do you do QA at your company? Do you automate any of your testing? Let me know in the comments below!

5/5 - (50 votes)
« GIPHY and Twilio “Text a GIF” Project [API Smash]
How Mark Zuckerberg Proved AI is All About APIs »

Filed Under: The Dev Room Tagged With: automate

Andrey Bukati

CTO at RapidAPI.

Reader Interactions

Comments

  1. Nina Wurst says

    February 9, 2017 at 3:47 pm

    Software testing is changing. There are numerous tools that are making life much easier for developers and testers. I agree that Software Testers need to embrace these tools and adapt to the changing landscape. But, still manual testing will not go away completely, so there is need in proper testing software which will step by step help you to pass through, I`m currently using such called EasyQA, with it`s automatized functions it is way easier to do more in less time. Anyway many of the traditional software testing jobs that existed earlier will be replaced by automation tools. Testers who adapt and these tools will be the ones who will move to the next level.

    Reply
    • Sam Smith says

      November 6, 2018 at 5:20 am

      Rightly said by Nina, though automated testing is in full motion but the scope and need for manual testing will not go away completely. Being a developer even after conducting an automated test, I prefer to check things manually just to be sure and for the I use http://www.lambdatest.com which is currently helping me get the job done. Let me know you thoughts if you have also used the tool.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Build anything with APIs, faster.

Discover, evaluate, and integrate with any API. RapidAPI is the world’s largest API Hub with over 4 Million developers and 35,000 APIs.

Browse APIs »

APIs mentioned in this article

Browse Most Popular APIs
Browse Most Popular APIs

Footer

  • API Guides
  • API Courses
  • API Glossary
  • API Testing
  • API Management
  • Most Popular APIs
  • Free APIs List
  • How to use an API
  • Learn REST API
  • Build API’s
  • About
  • Build APIs
  • Careers
  • Contact Us
  • Write for Us
  • API Directory
  • Press Room
  • Privacy Policy
  • Terms of Use

© 2025 RapidAPI. All rights reserved.

Building an Enterprise API Program
Learn More

×