Cerberus Testing with Selenium: Best of Two Open Worlds?
Software quality is of growing importance for companies searching to accelerate their digital journey. It is even becoming a critical success factor for businesses as ranked in the World Quality Report.
But manual testing alone is not enough, especially to ensure that core functions are working as expected over iterations. Consequently, test automation has become a performance lever to be able to accelerate.
Moreover, the diversity of devices to be tested has only increased, creating the need for powerful abstraction layers – such as Selenium WebDriver or Appium – that however, tends to be limited for automation capabilities.
This created the need for test automation frameworks. But for which features do we need them? How do they interact together? What can they enable? In this article, we will focus on web testing automation by comparing Cerberus Testing framework with Selenium.
Why was Selenium created in the first place?
Selenium emerges with the Web era and its need for web test automation across different browsers. No open solution existed and so Selenium was born in 2004 led by Jason Huggins. You can find the full story here.
Selenium is composed of four main elements:
- Selenium IDE: a development environment to create the test suites.
- Selenium WebDriver: the abstraction layer with the different browsers.
- Selenium Remote Control (RC): the component enabling interaction with the OS and browsers.
- Selenium Grid: a point of entry to spread the execution of various web tests.
At that point, we could question what we would need more. One way to answer is to identify what you cannot do with Selenium only.
Where does Selenium fall short for Test Automation?
While growing a test automation suite, a series of needs emerge as must-have requirements, whereas they were inexistent or nice-to-have before.
A first driver is the growing number of tests and people collaborating on your scenarios. A shared repository becomes a necessity to keep the work organized and saved. This can be a version control system or a database.
At that point, more tests also mean that you will start to have duplicated elements creating a maintainability problem over-time. Various elements are concerned: application definition, parameters, objects, actions and controls. This is where a test library with reusable modules would make a difference.
In parallel, growing your test automation maturity evolves the test techniques you want to use. A concrete example would be to verify back-end components during your web testing, or start to perform mobile application testing. You will need another solution besides Selenium for that.
In regards to test execution, you will also want to scale your approach to execute test campaigns in the various application contexts. Also, you would probably want to integrate your test automation with CI/CD or schedule them.
Closing the cycle, managing your tests is a real requirement for performance and continuous improvement. This is where test reporting and analytics will make all the difference for the visibility and insights you will be able to access.
How Cerberus Testing and Selenium work together?
Let’s start by clarifying why Cerberus Testing was created before clarifying its interaction with Selenium.
Cerberus Testing was created to enable fast testing automation loops with transversal collaboration in mind. It means that it should provide the various requirements on the test repository, execution and reporting areas.
Initially, Cerberus Testing started as a web interface with a central test repository. At that time, we had to decide how to provide the test automation capabilities. For web testing, we were searching for an abstraction layer. This is where we found a great fit with Selenium.
We took the following design considerations :
- Selenium WebDriver would provide a single abstraction layer for actions and controls over different web browsers.
- Selenium Grid would provide a single interface for executing the web tests in parallel on the various OS and browsers running the Selenium RC.
- Cerberus Testing would provide the collaboration, test repository, library, execution and reporting capabilities missing within Selenium, in particular in Selenium IDE.
What do Cerberus Testing and Selenium enable?
In fact, we are aiming to provide the best test automation experience to simplify your adoption journey.
“Stop coding. Start testing.” is for us a key mantra we are focusing on, enabling you to succeed in your testing automation while freeing you from implementing your own test framework.
Cerberus Testing lets you benefit from the power of Selenium while accessing the remaining features to scale your test automation. Naming the main ones: a collaborative interface, a reusable test library, a campaign execution management, all manageable with test reporting and analytics.
Leveraging the capabilities of Cerberus Testing, you can level your web testing to a higher level, while enriching your test techniques with end-to-end, API or back-end testing. In addition, you can leverage the existing integrations to accelerate your automation journey with CI/CD, Ticketing or requirements tools such as JIRA.
Accelerate your Test Automation with Cerberus Testing and Selenium
Concluding on this analysis, there is in fact no competition between Cerberus Testing and Selenium: they are complementary.
Each solution provides its set of testing automation features where it is best at, while the overall packaging enables you to scale your test automation.
We applied similar integration logic for mobile testing and Appium for instance, hope this article brings you light on the question, stay tuned!