Customers Perlego

From Selenium to Cypress: Boosting release velocity and confidence at Perlego

Perlego is a London-based educational technology company that was founded in 2016. Its mission is to make education more accessible and affordable for everyone by providing students with online access to textbooks. Perlego offers a vast collection of more than 1 million e-textbooks via a subscription-based model. The primary target audience is college and university students who require textbooks to supplement their education.

Perlego’s engineering team consists of approximately 50 employees, including product management and data engineering teams. They have six main development squads responsible for creating their web and mobile applications, and internal tooling.

Challenge

Prior to adopting Cypress, Perlego relied on Selenium for automated testing. However, the team was experiencing several challenges with Selenium, such as excessive flakiness in development and staging environments. Selenium’s inability to consistently wait for page elements to load led to numerous tests failures, eroding the team’s confidence in their automated testing processes. Consequently, some failing tests were overlooked, resulting in customer impacting bugs being deployed to production.

Before we switched to Cypress in 2020, we would develop for two weeks, then we would release to a staging environment where we ran Selenium tests. We still had to test manually before releasing to production because of Selenium’s unreliability.

Yorgos Eliopoulos Senior QA Engineer, Perlego

Furthermore, Perlego faced challenges with cross-functional collaboration and communication as Selenium required a level of domain knowledge that hindered testing from becoming a shared responsibility across teams.

Perlego knew they needed a more reliable automation solution to enable faster, more productive iterations.

Solution

To address the issues they faced with Selenium, Perlego switched to Cypress. They implemented Cypress for all their web projects and efficiently rewrote their entire Selenium test suite in a matter of weeks. The team found Cypress’ friendly API easy to learn and now 100% of their QA engineers use Cypress.

Integrating Cypress into their Continuous Integration (CI) pipeline through Cypress Cloud allowed the Perlego team to monitor the pipeline’s progress and adopt continuous deployment. This change provided better visibility into test results, increased confidence in their automated testing processes, and reduced the number of test failures.

At Perlego, new engineers get started by reading Cypress documentation, which offers comprehensive information on writing and running Cypress tests, best practices, and various features. This ensures that new engineers can quickly and efficiently contribute to the team. This also helps to keep internal documentation up-to-date to maintain consistent quality standards and testing best practices across the company.

Result

With Cypress, we can now release up to 20 times per day, and we feel safer releasing to production without any manual testing.

It used to take 3-4 senior developers and staff engineers 2-3 hours to resolve customer-impacting issues. Cypress has saved issues from hitting production quite a few times, so we’re getting all that time back to focus on our core.

Yorgos Eliopoulos Senior QA Engineer, Perlego

The adoption of Cypress dramatically accelerated Perlego’s release cycle, while improving product quality. Automating more testing processes allowed the team to focus on critical tasks like feature development and improving the user experience, ultimately leading to an enhanced user experience and business growth.

Additionally, Cypress Cloud saves the Perlego team significant time in their CI run times. “This is quite a big win,” says Yorgos. “With Cypress’ excellent and easy parallelization, our test execution is 2-3 times faster for every PR created. Also, by using Cypress’ documentation on best practices, we have reduced flakiness to almost 0.” Perlego saves an average of 35 days of run time per month by using parallelization.

Cypress has had a positive impact on Perlego’s recruitment efforts, drawing in talent eager to engage with modern testing tools and frameworks. This differentiation proved invaluable in a fiercely competitive job market, enabling Perlego to secure top-tier industry talent. Moreover, the adoption of a contemporary tech stack, which includes cutting-edge tools like Cypress, has cultivated a collaborative environment, diminished the need for manual testing, and alleviated burnout, resulting in an overall boost in team morale.

Perlego logo

Products used

United Kingdom

Startup

Download case study