For the Cypress Team, 2020 was a year of unprecedented growth—we kicked off January with our cross-browser support launch, and ended the year with a $40M Series B round (not to mention all of the releases, updates, and accomplishments in between)! Here are some of the highlights of the past year at Cypress, as well as a sneak peek into what we have planned to make testing even better in 2021.
Cypress 4.0.0 to 6.0.0
We pushed 30 releases for the Cypress Test Runner this year including 3 major point releases. Some of the new features we were especially excited about included:
- 4.0: Firefox beta support, Edge support
- 4.4: TypeScript support
- 5.0: Test Retries
- 5.2: Shadow DOM support
- 5.3: Firefox support out of Beta
- 6.0: Full Network Stubbing support with cy.intercept()
Dashboard Growth
2020 was a big year for the Cypress Dashboard as well. We launched a host of major new features aimed at helping you maintain, manage, debug and orchestrate running your tests in CI. Here’s a quick look at some of the most exciting features we added to the Dashboard this past year (btw, you can check out the Dashboard for free anytime).
- Test Results page – Allows users to see all of their test results, not just failures. This has become one of the most-used pages in the app.
- README badges – Great way for OSS projects to showcase a project’s test status.
- Run cancellation and archiving – Another tool for letting users shave off valuable CI time and keep the Dashboard results clean at the same time.
- Slack integration – Pushes Cypress test results into Slack in real time.
- Test changelog – Shows users exactly how a test case has been modified from run to run.
- Flaky test detection – Finds and reports on flaky tests in the user's test suite.
- Project Analytics – High-level statistics highlighting the health and performance of the project's test suite.
- Failure rate analytics – Tools for finding and triaging the top failing tests in a test suite.
- Performance analytics – Surfaces the slowest tests and specs in a test suite.
- Common error analysis – Highlights not just tests, but the common ways that they fail so users can find larger behavioral patterns in their test suite and test environments. Eager to continue exploring this avenue next year!
- Run Overview page – Summarizes all the deep content and analysis we've generated over this year into an easy-to-read one-pager.
- Sign in with email and password – We added the ability for users to sign into the Cypress Dashboard with their email address and a password.
- High Availability service – A technology investment to further improve our backend services.
Developer Experience
Motivated by community feedback, we released the Cypress Real World App (RWA)—a robust example payment application for demonstrating real-world usage of Cypress testing methods, patterns, practices, and workflows. The RWA makes it easy to accomplish and demonstrate:
- Easy & Quick Setup – There are no additional dependencies to install. The RWA uses lowDB, a JS-based JSON database, so no need to fuss with a database setup. Just clone, install and run.
- 100% Code Coverage – The app is instrumented for code coverage-reporting and achieves full coverage for backend and frontend code purely with E2E tests.
- Responsive Testing – All test suites run in desktop and mobile viewports in CI. To check out testing in mobile viewports, just run yarn cypress:open:mobile.
- Cross-browser Testing – All test suites are tested in Chrome and Firefox in CI.
- Cypress-specific Practices – We demonstrate practices that are unique to or made easy with Cypress, such as tapping into the state of your app, programmatic authentication, advanced custom commands, and more techniques to help you compose efficient tests.
- Database Seeding – Test data generation and database reseeding during testing. We also demonstrate how to compose E2E tests by directly querying the database for fetching test data or to make assertions.
- CI Best Practices – The RWA is tested on every pushed commit with a CI configuration that is readable and powerful. It handles parallelization, multi-viewport jobs, cross-browser jobs, and code-coverage reporting. You can view all the CI runs within the Cypress Dashboard.
Plans for 2021
You probably saw our recent announcement about our $40M Series B funding. This recent round of funding simply adds fuel to the fire as we strive to create a fast, easy, reliable testing platform that makes it easy to build better software.
Our top priorities as we move forward include:
- Expanding our open source Test Runner to tackle more testing types. Cypress will expand its open source product by offering developers the ability to write new types of tests. While we currently allow users to write end-to-end and browser-based integration tests, we’ve been working for the last year to add both unit testing (in Node.js) and component testing (in the browser). Component testing will borrow from the existing principles already present in Cypress, but give users the power and flexibility to mount components directly from your source code without running/booting/spawning a server. Additionally, unit testing focuses purely on Node.js tests, enabling users to write any kind of backend test with the power, insight, and visibility that’s missing today. Expect to hear more details of these launches in the upcoming months.
- Enhancing the Cypress Dashboard so it’s easier and faster than ever to maintain, manage, debug, and orchestrate running your tests. Expect to see new features such as test prioritization, test burn-in, Jira integration, and a unification of all your recorded tests across all testing types. We’re also exploring the opportunity for Cypress to report on code coverage, visual screenshot testing, and additional insights and analytics as part of making our commercial service even more powerful.
- Expanding docs, guides, and examples. We’re growing the breadth of our documentation and example demonstrations with in-depth guides, tutorials, and video content that cover a wide array of testing practices, solutions, and workflows. Our aim is to make everyone productive and effective with Cypress regardless of their tech-stack or CI/CD setup.
Thank you Cypress Community
Above all else we want to thank our amazing community of open source contributors, Cypress users and customers, our dedicated Cypress Ambassadors and our incredible partners. We wouldn’t be where we are with you and we can’t wait to see what happens in 2021.