Imagine that you’re a diehard Boston Red Sox fan looking to buy a new T-shirt online. You visit a sports memorabilia website to see what’s available, but you’re instantly blasted with a full-page New York Yankees promotion. You may not leave the site entirely, but there’s no question that you would have had a better user experience if Red Sox gear were featured instead.
Localization is the process of solving these kinds of problems by ensuring that the right content and functionality reaches the right audience based on their location.
Let’s take a look at what localization testing involves and how to implement a test plan for your website or application.
What is Localization Testing?
Localization, or l10n for short, is the process of customizing a website to meet the cultural, lingual and other requirements specific to a visitor’s location. For example, an ecommerce shop selling products across multiple countries may want to show product prices in a certain currency and display product descriptions in a certain language depending on the country.
There are many different elements that may be affected by the location of a visitor:
- Dates and time
- Keyboard shortcuts
- Images and videos
- Symbols and icons
The term localization is often used alongside the terms internationalization and globalization. Internationalization, or i18n for short, is the process of designing a website to support localization, while globalization is a broader term that refers to both localization and internationalization processes.
While localization is often used for international content, it doesn’t necessarily involve cross border language or currency changes. For example, the aforementioned sports memorabilia company may want to display a certain sports team memorabilia based on a visitor’s location. They shouldn’t ever show Boston Red Sox memorabilia to visitors in New York!
Localization testing refers to quality assurance and automated tests that ensure localization is actually working in production. There are many different ways to conduct these kinds of tests, but some strategies are much better than others to ensure the right localization is in place.
How to Do Localization Testing
There are many different ways to conduct localization testing and the actual process differs based on your website or application and target audience. A global ecommerce website will test their website very differently than a software-as-a-service (SaaS) application with users around the world.
The first step is developing a test plan to ensure complete test coverage. Start with an audit of your website or application to see what parts must be internationalized. These areas might include content, images, promotions, shortcuts, payment processors or other elements. Again, the specifics depend on your specific system and target audience.
The second step is developing and implementing a testing strategy. Manual quality assurance is the most straightforward strategy: Testers can connect to a proxy server and see how a website looks from a given location to verify its functionality. Automated tests are much less tedious to run, but the implementation can be a little more difficult.
Many developers start by test localization manually using a web proxy or virtual private network (VPN). After all, it's easy to get started with localization testing using free web proxies or VPNs designed for personal use. Of course, these networks aren’t typically designed for software development, so they can be extremely unreliable. This leads many developers to eventually move towards dedicated proxies designed for automated tests, such as WonderProxy.
The final step is incorporating the test plan into your development process. If you’re using automated tests, this might mean writing tests and incorporating them into continuous integration (CI). You may also add localization and internationalization elements to your user stories, behavior-driven development (BDD) scenarios and/or test-driven development (TDD) suites.
Examples of Localization Testing
Let’s take a look at localization testing using an automated test suite and WonderProxy’s service. Unlike free proxy servers, WonderProxy makes it easy to test in over 250 locations and over 80 countries with built-in integration with popular testing frameworks to make testing automation a lot easier and more robust.
Let’s take a look at how to run a test in Selenium.
Before running any of these examples, you must install and setup Selenium 3.7.1 and PhantomJS. For a complete walkthrough on this process, see our Testing with Selenium post.
Suppose that we want to make sure that the phrase “free shipping” doesn’t appear on a product page in Canada. After all, shipping in the United States may be cheap enough for us to foot the bill, but if we’re selling in Canada, we want to be sure that we collect shipping costs!
We might write a user story like this:
As a non-U.S. user, I should not see free shipping on the product page.
That could become a BDD scenario like this:
Given a Canadian user is on a product page When they navigate to the shipping information tab Then they should not see a free shipping offer
In order to test this user story and scenario, you might write a Selenium test like this in Python:
def testFreeShippingInCanada(self): self.driver = self.proxied(‘toronto.wonderproxy.com:11000’) self.driver.get(self.url) product = self.driver.find_element_by_id(‘shipping-details’) assertNotIn(‘Free Shipping’, product.text)
The test ensures that a visitor from Toronto, Canada doesn’t see the text “Free Shipping” in the shipping details area of the website. Note that the proxied method is explained in the Testing With Selenium post and simply sets up Selenium to run tests through WonderProxy servers.
By automating this test, you don’t have to worry about any future changes accidentally showing this offer — the test will automatically before each deployment if it’s included in a continuous integration server. This results in more predictable and less frustrating user experience.
The Bottom Line
Localization testing is critical to the success of any website or application using geolocation to change content or functionality. While it may seem intimidating at the onset, it helps to have a well-defined test plan and the right tools in place to ensure that everything runs smoothly.
If you’re interested in localization testing, sign up for WonderProxy to see how easy it is to get started!