Advice on test automation approach

Hey all,
I needed some advice on my teams test automated approach.

Some context, our UK based web application is going to be pushed out to Italy and Portugal over the next 6-8 months.

It will be the same code base across multiple regions with translations configured via locale and feature toggles.

Our test automation effort is in it’s early days with 5 core flows in our uk app, what would you advise on as to best approaches structuring the framework to run across different regions, with different features enabled/disabled via feature toggles.

2 Likes

Hello,

The question is very Wider and deeper to explain but I would like to explain you in short term. The main purpose of test automation is improve test coverage and the value of test process which automatically improve the software quality.

So Before start with automation testing, You can consider below points to improve your result.

1- Identify the test cases which are helpful for automation testing
2- Consider test automation for better quality not for better or faster product delivery.
3- Don’t Mix up Automation and Manual testing teams
4-Ensure your User Interface is Fixed
5-Simulating a Large Number of Users
6- and the most important focus on Test Requirement

Wait, For further details You can also refer this article: Things to Know Before Performing Automation Testing

1 Like

Localization is usually determined by flags in the back calls:

That being said, you can:

  • On the frontend automated checks:

    • Verify that the frontend app calls the endpoints with the correct localization parameters;
    • Verify that the frontend displays whatever text is returned by the services you mocked.
  • On the backend automated checks:

    • Verify that the controllers and interactors deal correctly with the localization parameters.

On both sides, simple unit tests (and contract tests for integration) should do the job; you probably won’t need a complete system for these checks.

Note: If your frontend is making decisions regarding localization, I would suggest reconsidering your architecture, because the web is a detail.

3 Likes

As you are clear about the target segment for your product and where all your end users are located. Then the very first step should be to prioritize testing your product on devices and OS used in those places. For instance, if a product is launched in US, then I will check my device’s compatibility on iPhones and then on a handful of Androids. Then for browsers, I will test my product on which versions are supported by the devices I prioritized before.

In this way, you can ensure that you are testing on right devices.

1 Like

Hi @jay_p1

What does this mean? Do you mean that Automated Tests need to be run locally in the countries like Italy and Portugal? As @joaofarias mentions “If your frontend is making decisions regarding localization, I would suggest reconsidering your architecture”. This will make it difficult to test and could end up making your tests brittle and flaky (eg if you used a VPN or cloud infrastructure for run tests)

You could just test by changing your IP to a different country everytime the Automated Tests are run. You can put this in setup scripts that run with your tests. I’m guessing that if it is your front-end making decisions about the location then you can probably just spoof it, by injecting headers to trigger that specific language too, using something like Cypress or Playwright. They have some great stubbing/mocking of network requests.