Introducing Cerberus Open Source Test Automation Framework

Cerberus Testing is an open source low-code test automation platform. It supports testing Web, iOS, Android and API (REST, SOAP and Kafka) applications and integrates with Selenium, Appium and other testing tools.

Author: Antoine Craske, Cerberus Testing, https://cerberus-testing.com/

Introduction

Software Testing grew in interest as a key business digitalisation enabler. The last World Quality Report of 2019-2020 ranked as #1 benefits its contribution to business objectives and growth. Yet, the software testing industry still reports major painpoints related to test maintenance, automation, tooling and skills. Tooling is either lacking or too complex to integrate, not providing enough intelligence nor ease of use. In this article, we will introduce Cerberus, an open source test automation solution built within retail players through their digitalisation, with a key focus on usability, scalability and integration of the test lifecycle process.

Cerberus supporting the test lifecycle to accelerate feedback loops

Figure 1: Cerberus supporting the test lifecycle to accelerate feedback loops

First lines of code started in 2010 to explore a solution

The first lines of code started in 2010 at La Redoute, a clothing fashion retail player from France. The objectives were to automate manual non-regression tests for existing web applications to accelerate and increase quality of software delivery. At that time, existing solutions were mainly commercial, trying to address specific silos such as test repository, execution or analytics. This is why the decision taken was to start an in-house solution, to enable iterations through test management, execution and reporting in minutes instead of weeks.

Cerberus became the official name extending its usage

Cerberus was officially born after its successful detection of dangerous release defects! The first product increment allowed to perform first automated functional testing for an internal CRM solution. A key requirement was to limit coding for usability, reuse and keeping tests simple. It was based on Selenium web driver and a three-tier traditional architecture with a Java technological stack. The name was retained for its reference to the Guard of the Hell in the Greek Mythology, joining the three test silos and enabling Web, API and Database tests.

The decision to move in Open-Source in 2013

In the meanwhile, Cerberus started to be used for the testing of the e-commerce platform. Sharing within the industry, our peers were still struggling with their test automation effort. We decided the move in 2013, convinced by the value of open-source for product innovation and development. Cerberus was released on Sourceforge and GitHub under a GNU General Public License, allowing a first sharing within our local community. Having in mind the limitations of open-source projects, we address as a continuous effort code quality, documentation and sharing via the platform.

Cerberus Github repository with more than 6000+ commits, 100 stars, and 29 contributors

Figure 2: Cerberus Github repository with more than 6000+ commits, 100 stars, and 29 contributors

During this period, challenging digital transformation were happening requiring to guarantee full regression test automation and monitoring. We focused on improving the flexibility in test management, execution scalability and traceability to meet those objectives. The possibility to implement end-to-end tests in addition to functional tests was a key benefit during that period. It enabled to accelerate by more than x10 the software delivery cycle for specific players. You can read more about the La Redoute case study for 96% Daily Deploys and its 6000+ Automated Test here.

A gradual adoption by Retail Players to solve common problems

Retails players within the same geographical areas started to gain interest: Decathlon, Norauto, Leroymerlin, Midas. Thanks to the emerging community of testers, Cerberus started to be shared outside of its initial wall. They used the solution to support the acceleration of their digital transformation, mainly for their e-commerce and back-office transformations.

Cerberus supporting digital transformation with test automation and integrations

Figure 3: Cerberus supporting digital transformation with test automation and integrations

This is a period where Cerberus added standard integrations to increase its usage. Jenkins plugin was a key piece to facilitate deployment of CI/CD pipelines with test automation and feedback. The support of REST API, advanced scheduling, retries and screenshots capabilities altogether enable to accelerate the testing cycle-time. Leroymerlin leverages Cerberus for their mobile testing at scale, read more on their article.

Cerberus support key use-cases for implementing Continuous Testing

With recent and ongoing updates, you can leverage Cerberus for various use-cases from development to operations. You can increase your digital experience test coverage executing the tests on a variety of browsers, devices and apps. The native connectors for APIs (SOAP, REST), desktop applications, Apache Kafka® support a variety of use-cases : legacy, APIs, event-driven microservices, streaming, BI and data science applications.

During the software development lifecycle, Cerberus supports fast iterations between test management, execution and reporting. You accelerate using test specifications in plain English, test composition via a library, parallel execution on various devices and advanced reporting. Native integration with CI/CD solution (Jenkins, Bitbucket, …) combined with one-click opening in ticketing tools like JIRA allow faster and easier bug resolution.

Cerberus supports various use-cases for software delivery and testing cycle

Figure 4: Cerberus supports various use-cases for software delivery and testing cycle

To close the loop, you can leverage Cerberus to monitor your customer experience and business operations. The tests executed can be functional and technical, allowing to test complex scenarios. TF1, the number one TV channel in France is using it for its streaming platform quality assurance. Advanced scheduling, alerting and notifications leave you time to focus on more important activities. Web performance and analytics dashboards are also available to let you identify bottlenecks with 3rd-party integration, or specific customer experience limitations.

Now & Beyond

Animate and growing the community is a key focus for us. We are convinced that working in network can accelerate the product adoption and development. We have been holding community meetings every 2 weeks to align the product roadmap and improvement, balancing our product vision and community needs. Evolving our integrations and usability is a key driver for us for a successful product experience.

You can freely access Cerberus on GitHub, follow us for update, engage in the social medias, on the community slack, and star it if you like it!

More information about Cerberus Testing

GitHub repository https://github.com/cerberustesting/cerberus-source

Linkedin https://www.linkedin.com/company/cerberus-testing/

Twitter @CerberusTesting https://twitter.com/cerberustesting

Youtube https://www.youtube.com/channel/UCkG4csTjR0V5gl77BHhldBQ

About the Author

Antoine Craske is a software development professional who is Engineering Center Director for La Redoute. He is passionate about technology, strategy, system design, organizational leading and development. Convinced about the fast innovation of open source and communities, he is active within tech communities open source projects.