On Building a Unified Test Automation Framework


Test automation is hard.

Historically, at the end of the software value chain, we have to implement automated tests when automation requirements were missed upstream.

And usually, there is no test automation framework available, resulting in a project within the project.

We then start to build a framework to at least configure and execute the minimal automated tests needed.

But then we realize we need even more, eventually reaching the conclusion that a unified test framework was probably a better choice.

Let’s see what happens during that journey to better anticipate it.

Follow Cerberus Testing for more open-source test automation.

Why we need a test automation framework

Companies require to accelerate their rate of software delivery to increase their value proposition faster than competitors.

The software delivery lifecycle must be streamlined for fast iterations.

But speed alone is not enough; stability is a must-have for the user experience.

Test automation comes to give more confidence to the team to deliver software changes at an accelerated rate, automating a set of verifications.

The need for fast implementation also cascades to test automation, where a framework brings speed avoiding reinventing the wheel each time.

We then need more than one framework

From a first experience, we build one typology of framework, for example for web testing in keyword-driven testing.

But with a few more tests and applications to test, we realize requiring:

  • Parallelization of tests to keep execution time short;
  • Execute different types of tests, for example on mobile and APIs;
  • Add the capability to define test in Behavior-Driven-Development (BDD);
  • Use variable data sets for a particular test for more qualitative tests;
  • Add the support to multiple application and environments;
  • Build a library of reusable actions and controls for modular testing.

This list starts to be quite extensive. With a few hours available, the best option is to select the most important items and implement them fast in a local framework.

There is no time to reflect on the entire platform, bringing too much complexity and implementation overhead in this first step.

This approach works for some time, until the developer coding the framework leaves or that we just have no time to update libraries or implement new features.

We realize the need for a hybrid framework

The big learning from the previous step became: “If we had planned and designed better, we would have built a hybrid framework”.

It’s true that this approach enables us to reuse part of the functionalities of one framework for another one.

But one assumption was to have sufficient time to implement such reuse.

Teams are usually under pressure to deliver on a daily basis, maximum at the sprint level improvements for the final product; not for the test framework.

After all that time passed, we realize building a test automation framework is a long journey, much like a marathon than a sprint.

We start to consider ready-to-use solutions

After all the investment made, someone will ask “there was no ready-to-use solution on the market fulfilling similar needs?”

Either someone has a good answer, or there will be silence.

A lot of teams do not consider available solutions for the following reasons:

  • We just need a few features, there’s no need for such complete product;
  • We have special processes and needs, building our own is the only way;
  • We don’t have a budget approved, so we can only build internally;
  • etc.

The thing is that only a few companies have really specific needs or need minimal features.

The vast majority will require the same type of features over time, hence making sense for actors to emerge with reusable products for common problems.

We start using a unified test automation framework

We pass through this journey building Cerberus Testing. At that time, there was no real offer on the market, wherever paid or open-source.

It started for web testing, then mobile, then APIs testing, being the reason for naming it “Cerberus”, the 3-headed dog guard of hell in Greek mythology.

We started with keyword-driven testing, and rapidly added support for BDD, modular, data-driven testing part of the framework.

In the end we built more than a hybrid test automation framework: we made a unified test automation framework available on a single interface.

Stop coding, start testing today.

Leave a comment

Your email address will not be published. Required fields are marked *

Cerberus-Testing Terms Of Service

Website Terms and Conditions of Use

1. Terms

By accessing this Website, accessible from http://vgeouyk.cluster030.hosting.ovh.net, you are agreeing to be bound by these Website Terms and Conditions of Use and agree that you are responsible for the agreement with any applicable local laws. If you disagree with any of these terms, you are prohibited from accessing this site. The materials contained in this Website are protected by copyright and trade mark law. These Terms of Service has been created with the help of the Terms of Service Generator and the Privacy Policy Template.

2. Use License

Permission is granted to temporarily download one copy of the materials on Cerberus Testing's Website for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not:

  • modify or copy the materials;
  • use the materials for any commercial purpose or for any public display;
  • attempt to reverse engineer any software contained on Cerberus Testing's Website;
  • remove any copyright or other proprietary notations from the materials; or
  • transferring the materials to another person or "mirror" the materials on any other server.

This will let Cerberus Testing to terminate upon violations of any of these restrictions. Upon termination, your viewing right will also be terminated and you should destroy any downloaded materials in your possession whether it is printed or electronic format.

3. Disclaimer

All the materials on Cerberus Testing’s Website are provided "as is". Cerberus Testing makes no warranties, may it be expressed or implied, therefore negates all other warranties. Furthermore, Cerberus Testing does not make any representations concerning the accuracy or reliability of the use of the materials on its Website or otherwise relating to such materials or any sites linked to this Website.

4. Limitations

Cerberus Testing or its suppliers will not be hold accountable for any damages that will arise with the use or inability to use the materials on Cerberus Testing’s Website, even if Cerberus Testing or an authorize representative of this Website has been notified, orally or written, of the possibility of such damage. Some jurisdiction does not allow limitations on implied warranties or limitations of liability for incidental damages, these limitations may not apply to you.

5. Revisions and Errata

The materials appearing on Cerberus Testing’s Website may include technical, typographical, or photographic errors. Cerberus Testing will not promise that any of the materials in this Website are accurate, complete, or current. Cerberus Testing may change the materials contained on its Website at any time without notice. Cerberus Testing does not make any commitment to update the materials.

6. Links

Cerberus Testing has not reviewed all of the sites linked to its Website and is not responsible for the contents of any such linked site. The presence of any link does not imply endorsement by Cerberus Testing of the site. The use of any linked website is at the user’s own risk.

7. Site Terms of Use Modifications

Cerberus Testing may revise these Terms of Use for its Website at any time without prior notice. By using this Website, you are agreeing to be bound by the current version of these Terms and Conditions of Use.

8. Your Privacy

Please read our Privacy Policy.

9. Governing Law

Any claim related to Cerberus Testing's Website shall be governed by the laws of fr without regards to its conflict of law provisions.

Thank you for your interest in cerberus,

In order to proceed with your SaaS we need some in order to confirm your instances accesses.

Please provide accurate contacts to secure the process.

You can cancel any time the subscription, please read Terms of Use.