Customers Siemens
Siemens increases test execution speed by 375% with Cypress
Leveraging advanced UI and API tests, Cypress community-created plugins and combinatorial testing
The Siemens Software (SW) Hub Cloud team has the daunting task of ensuring that all systems work properly for their Smart Infrastructure cloud product: Building Operator. This requires running hundreds of tests across multiple platforms daily. Find out how using Cypress helped streamline their code and increase productivity by 38%.
Complicated integrations for business-critical operations
Siemens Building Operator is a secure cloud application for real-time, remote monitoring and operation of smart buildings and equipment. It is a SaaS solution that empowers service providers to resolve their customers’ issues before they are aware of them, by tracking data points from multiple sensors, controllers, meters and other devices.
The market for this service includes university campuses, stadiums and shopping malls to control their HVAC, lighting, power, and more. With thousands of clients relying on the Building Operator to keep everything running smoothly, the Siemens SW Hub Cloud team is under pressure to run fast, efficient and comprehensive tests.
Testing impeded by complex infrastructure and faulty feature interactions
The Building Operator service is highly complex, including an Angular front-end, Express API, hardware, microservices hosted on Red Hat OpenShift, and platform services as lambda functions on Amazon Web Services. Test Lead Murat Ozcan explains, “It’s very difficult to build a system like this, and even harder to test it. The front end talks to the API, the API talks to the hardware, the API talks to the service, and the front end talks to the services on the initial release.”
The team was dealing with massive amounts of code, slow and flaky tests, and lots of false negatives. All of this proved frustrating and unproductive. “We felt we were not testing anymore – we were just maintaining scripts.”
With Cypress, when tests fail, they drive us directly to the problem. Time-travel debugging, source code debugging, CI, video, and screenshots - all have reduced our diagnosis effort to a third of what it was before.
Why Siemens SW Hub chose Cypress
Cypress handles multiple platforms and complex environments beautifully
Writing new tests is easy and seamless
Standard and custom Cypress scripts reduce the amount of code needed
Cypress seamlessly supports complex CI configurations and data driven testing for faster test runs and feedback
The Cypress Dashboard provides extensive information and detailed insights at a glance
Cypress makes identifying points of failure very easy - the live log and snapshots make debugging quick and simple
The Cypress community collaborates to solve problems and provide guidance
The team needed a tool that would be aware of and able to handle the complexity of the Building Operator service – and Cypress can manage this easily and simply.
Advanced tests provide freedom to focus on real issues
Since early 2019, the Siemens SW Hub team has used Cypress to create advanced UI and API tests that can now guarantee quality. Cypress tests have replaced their legacy test suite entirely. By using community-created plugins for the Cypress Test Runner, the team has extended testing capabilities for visual testing, test retries, and more.
The team now runs cost-effective CI configurations and tests across multiple environments to ensure that every code iteration and deployed system passes the tests. And by configuring the Cypress Dashboard, the Siemens SW Hub team is able to instantly isolate issues. “When UI issues fail, we detect them at the UI. When API or service issues aren’t working, they are easy to diagnose. It’s the same with hardware too.”
The Siemens SW Hub team now tests at unprecedented speed. They’ve reduced their lines of code by 49% and instead of trying to figure out what went wrong, the team can focus on real verification validation, real defect diagnosis, improving coverage and preventing future issues.