The Easy Way To Internationalize Your Test Automation
A test automation suite can become a nightmare.
Automated tests tend to entropy. They either accumulate too much complexity or duplication making them hardly understandable and maintainable. This situation can become a true bottleneck to the company’s growth.
Digital businesses need the capability to expand rapidly internationally. Their expansion in different countries must be delivered with Quality at Speed to capture markets on time. In that context, test automation cannot be the limiting factor.
Test automation can support business acceleration. In this article, we share an easy way to expand your existing test suite for multiple countries. We will go through structured steps to build scalable foundations with Cerberus Testing.
The first thing is to know the testing scope.
Follow Cerberus Testing for more open source test automation.
Identify the necessary environments
The internationalization of software aims to offer the product in new geographical areas. It means that the product must handle a set of local specificities such as languages, currencies, delivery, or payment methods.
The user experience will therefore evolve to handle these specificities. Usually, the core of the application remains the same while specific behaviours are added for each localization need. Our first step is to define the list of countries in Cerberus Testing.
This configuration will enable our tests to run in a set of specific conditions such as the environment, context and properties. You can customize this list as you want in the “Invariants” administration menu.
We can now have a look at the user experience internationalization.
Identify stable and variable elements
The behaviour of the product will vary depending on the level of specificity of a particular country. Identifying these differences is necessary to define the stable and variable elements of the user experience.
Take the login page for instance. It usually provides a username and password field whatever the context. Then, the language is adapted and social login options can be different per country.
We can align the test design based on that analysis. Tests that have a similar structure can be unique and configured for the required countries. More specific tests are usually isolated to avoid cascading their complexity over the other tests.
We can now move to the implementation.
Ensure the reliability of stable elements
We start by validating the core elements that will be reused in the other tests. This enables us to guarantee our foundations are solid. We can ensure that with a step library and an application object.
The step library enables you to implement modular testing. A step contains a set of actions and controls that you add inside the library. From there, any tests can include your reusable step. This approach improves maintainability for internationalization.
We can then complement our approach with application objects. This library of components enables you to centralize reusable elements in a single place. The objects can then be referenced in your different tests, improving their maintainability.
Our foundations being ready, we can now tackle the specificities.
Add the necessary dynamic properties
The variable elements of the user experience need to be configured somewhere. In Cerberus Testing, you can rely on the notion of “Property” to decline parameters per country.
The first step is to configure your tests on the identified countries. You can do that by opening the Test Case Header to then check the countries in scope. The below list is retrieved from your invariants configuration you can adapt anytime.
We can now configure the different properties for each selected country. Our work of test design enables us to focus on one thing at a time. Your only concern at that stage is to configure the specific values per country.
Our example is about a fixed test structure but you can rely on more complex properties that are dynamically retrieved via a file, an API, or an SQL to a database. The good practice is to systematically use a property to decouple your test structure from its property. It is a key requirement to keep your tests valuable over time.
Your priority is to expand this work to support your business expansion.
Test, repeat and scale internationally
We cover how to decline automated tests in a different set of internationalization requirements. We saw that the initial analysis and design phases are essential to scale the test suite.
The investment in proper test design enables us to truly accelerate our internationalization in the short-term and long-term. We are able to rapidly add new countries to our tests, and at the same time, ensure their maintainability.
This is where proper test automation makes a difference. You are now only focusing on your tests, you are helping the business to succeed.