Customers Slido
Slido sees 10X increase in weekly releases with Cypress
There’s no room for error when your platform is used to spark interaction and communication in real time between audiences and speakers. Testing that everything works every time is absolutely critical.
Despite having no JavaScript knowledge, the Slido QA team automated their testing quickly and easily with Cypress. Here’s how they did it.
A need for speed and reliability
Slido is a cloud-based application that enables easy-to-use, real-time Q&A and polls at events, conferences, meetings, lectures and webinars. Since 2012, Slido has been used at over 360,000 live events, with 9+ million questions asked and 30 million polls conducted.* Slido supports 1,000 events every day for clients like SXSW, Web Summit, Money20/20, Asana, BBC and Oracle.
With daily deployments and a development cycle of just 10 days, Slido’s crossfunctional teams operate on agile and lean principles. “Our motto is to go as fast as possible,’’ says Head of Engineering, Lubo Drobny. This speed - and an ever-expanding feature set - put increasing pressure on the QA team, who relied mainly on manual tests for a list of scenarios. This bottleneck limited Slido’s ability to run experiments, prototypes, A/B testing and feature flags. QA needed to automate, and quickly.
*As of August 2019.
Finding the perfect sidekick
With very little JavaScript experience, Slido’s QAs were running all their tests manually before every release. They worked through a range of scenarios to ensure the latest changes wouldn’t break anything crucial and ruin a client’s event.
But as the speed of development and refactoring increased, testing couldn’t keep pace and was holding up progress. Another complicating factor was a code migration from PHP to Angular.
The QA team knew it was time to find a tool to help them automate. They attempted using Selenium first, but they found that setting up and running tests to be challenging. A colleague had been intrigued by Cypress founder and creator Brian Mann’s presentation at a conference.
I fell in love with Cypress immediately. I still had some learning to do, but writing tests in Cypress felt right. I can explain Cypress to someone who doesn’t know any JavaScript and get them to write a simple test in a couple of minutes.
Mastering test automation: human vs. machine
By adapting the sample files that come with Cypress, Slido was able to get up to speed quickly. Slido set a challenge to write automated tests that would run faster than their manual testing process. With the help of Cypress’s comprehensive documentation, their test automation soon took off and led to the creation of a repository, pipelines and server-based CI testing.
QA innovation
The Slido team’s clever use of Cypress makes their workflows dramatically faster and more efficient. Besides conventional testing, Slido uses Cypress to:
Create custom commands that trigger commonly-used tests and typical test sequences.
Test email flows by setting waits for user stories like invite responses and password resets using the Mailosaur email testing service.
Manage 48 feature flags and A/B testing by integrating LaunchDarkly into Cypress.
Run tests on demand, giving developers and QAs the freedom to run any tests in the Slido repository whenever they want to.
Integrate testing into Slack, initiating tests and pipelines with slash commands - and receiving results including links to test run videos and screenshots in-channel.
An impressive turnaround to major performance improvements
Despite their ‘no JavaScript’ starting point, Slido has knocked their testing goals out of the park with Cypress. Their daily automated test runs complete 24 times faster than before. The QA team can also trigger test runs manually at any time, especially before releases. Slido’s weekly releases have changed to daily releases, eliminating those frustrating bottlenecks completely.
Custom commands, intelligent code completion and easy feedback flows have kept the testing framework simple and effective. Cypress handles Slido’s complexities neatly, and Slack integration has made workflows much more smooth.
With over 700 tests covering crucial user stories, and the ability to catch regressions earlier, Slido has created an environment in which their developers can refactor and make bold changes with high confidence.