By: Igor Dorovskikh, Tinder test automation architect
One of the tech world’s greatest challenges is the ongoing battle between speed and quality. How do you embrace, incorporate and continuously develop new practices that will strengthen an app’s speed and quality of performance?
The solution: automated quality assurance (QA) testing, a reliable process that increases the effectiveness, efficiency and coverage of your software capable of executing tests, reporting outcomes and comparing results with earlier test runs.
It’s becoming an increasingly popular trend among the tech community with a report by Dimensional Research finding that 87 percent of development teams have adopted some level of test automation in 2017.
For us at Tinder, we’ve seen it firsthand. As a global social app designed to help you meet new people, Tinder processes 1.6 billion swipes per day.
To create an app that facilitates 26 million matches each day, we require technology that allows Tinder to scale, along with enabling faster and more reliable test runs when it came to data.
Automated QA was a perfect match.
You can stop thinking about automation as a “luxury consideration”
Gone are the days when automation was a luxury consideration for handling repetitive tasks. By automating tedious and repetitive, albeit necessary, tasks, QA teams can shorten manual testing time. As a result, teams can then focus on new features and corner test cases.
When I joined Tinder about a year ago, we had a comprehensive test plan in TestRail and practically no automated tests. Although manual testers were running an entire regression suite for every release, we were still coming across issues in production as our product team was adding new features. As a result, our test plan was growing, but so was our test execution time. We were producing builds manually without exact knowledge of which build, branch, changelist,or environment we were testing.
To ease our transition to this new framework, we created our own butler to assist us – “Jenkins,” a new continuous integration system for Android and iOS teams. As an engineering team, we understood that only continuous, automated testing could help us detect defects earlier before code is merged into main branch. Automated testing could also speed up our QA cycle to allow manual testers to focus on new features and not repetitive regression. We started exploring automated mobile QA testing.
Making test speed and stability happen
After consulting with our engineering leads we decided to build a stub server, a central system that would mimic our backend with stubbed data. It would accommodate all clients and make test data more configurable and predictable, leading to faster and more reliable test runs. Both Android and iOS tests have a server manager that sets a fixture before and/or during the test to tell the Stub server what response to send back based on the scenario’s needs.
With every new feature we build or existing feature that we refactor, Stub 2.0 allows us to quickly model new and existing endpoints. We can also configure these mocks to return different data, scenarios and even error states. Lightweight, quick to deploy and easy to configure, HAPI, a rich framework for building applications and services, has helped us to make test automation execution very reliable.
You should automate from the get go or pivot quickly
At Tinder, we move quickly and only focus on new features when it comes to accommodating this methodology. We found it’s best to prioritize automation from the start. If possible, it should be part of your codebase and must always be in alignment with engineering best practices.
Better tests and better results for your startup
Automated quality assurance testing truly sets you free. Looking ahead, software development continues to evolve at a remarkable pace. Soon, we’ll be able to facilitate faster execution with newer and more powerful hardware. Who knows, we may even see manual testing completely drop out of the picture if UI validation becomes more precise with AI and is eventually able to validate UI changes on top of functional tests.
At Tinder, we’re not chasing quantity; we’re chasing quality. We’ll continue to learn and experiment, but for now, we’re confident it has given us the best of both worlds – speed and quality – and we’re confident your startup can have that, too.
Igor Dorovskikh is a test automation architect at Tinder, where he focuses on identifying ways to bring speed and quality to the app for both iOS and Android users. In his previous roles as test automation manager at Expedia and Barnes & Noble, Igor built automated solutions for the companies’ mobile and web products. Igor is passionate about coaching, test automation, mobile innovations, continuous delivery and working in a fast-paced Agile environment.