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.
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
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.
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.