What is localization testing?
Localization testing is an essential part of the software testing process for websites & applications that require a custom experience based on location. Learn about how localization testing can help you ensure your users are seeing the right stuff.
Localization testing: more than just language
Localization is the process of adapting an existing website to the local language and culture of a target market. While translating text and using the right locales and currencies is part of the equation, localization is a much broader topic that encompasses things like design requirements, marketing campaigns, products or services, and external advertising campaigns.
Localization testing is the quality assurance process that ensures a website, application, or other software is correctly localized.
The term localization is often used alongside the term internationalization (also known as globalization). Internationalization, or i18n for short, is the process of designing a website that can support localization. It may involve incorporating international locale standards, or enabling a flexible framework for language translation. While localization makes a website or application more relevant to local markets, internationalization makes the localization process easier.
Since internationalization may be the first step on your localization journey, you can set it up behind the scenes, before any you deliver any localized content. Internationalization testing is covered when you test your application’s functionality.
Traditional approaches to testing localized content
When you need to test your shopping cart experience in Paris or verify your promotions are showing up in New York, what are your options? Maybe you have friends or coworkers in these locations who can manually test your software application’s user interface and functionality, but that doesn’t scale. If you don't have a reliable in-house solution, you may need to outsource this work to expensive global testing services.
Alternatively, you could add special switches or flags to your application itself, to make it show you localized versions for different target markets. For example, if you wanted to view the Chinese version of your website, you could set up a
?fake-location=china flag in your application code. When you access your website and include that flag, the software could send you the Chinese version, even if you're sitting in a London office.
Setting up forced locations is fast and relatively easy, but it's not reliable or accurate. If you want to experience your application the way your customers do, you need to access it the way they do.
Google in Saudi Arabia
Testing from different countries
When your website needs to be available from Riyadh to Moscow and Shenzhen to San Juan, it's not enough to fake your localization with special flags or switches. State-mandated firewalls and poor connectivity are only visible when you access your website from within those locations. You could relocate or hire testers in each of your target markets, but proxy servers are easier to scale.
Proxy servers are computers that redirect your internet traffic to make it look like you're coming from somewhere else. If you have a proxy server in one of your target markets, you can use it to see what your website looks like for customers in that market.
For example, if you wanted to make sure that CNN displays the international version of its website to viewers in Europe, you could configure your web browser with a proxy server located in Paris, and then visit cnn.com. CNN's website would see the proxy server's IP address, think you were in Paris, and show you its international website.
Localization testing automation
Test automation is the cornerstone of modern software development, but how can you test localization functionality without spending hours in front of a computer manually accessing your website from dozens or hundreds of proxy servers?
Selenium is a browser automation framework that can be configured with proxy servers to support your testing requirements. You can incorporate Selenium in your tests in almost any language or test framework, like RSpec for Ruby or PHPUnit for PHP. In a Selenium-powered localization test suite, each test generates an HTTP request for a browser "driver" (a program that simulates a normal web browser). The driver runs the request through one or more proxy servers and sends its localized results back to the test. The localized test code decides whether the response passes or fails.
Browser automation frameworks like Selenium, coupled with your favorite test framework, can save you hours of manual testing time.
Best practices for localization testing
Rather than treating localization as an afterthought, development teams should consider incorporating localization testing into their traditional test-driven development workflows. Requirements, user stories, testing checklists, and other acceptance criteria should include localization concerns. Creating the right localization test plan is the best place to start.Browse our free guide
Localization testing tools
WonderProxy solves many of the hurdles associated with testing localized websites, with 248 servers in 89 countries and integration with common testing tools. You shouldn’t have to worry about randomly failing tests or dealing with complex integrations—WonderProxy makes it easy to get testing immediately.
Worldwide network of proxy servers
We have 248 servers in 89 countries to support testing your localized software worldwide. Test locally so you can launch globally.
Interactive localization testing from your browser
With the WonderSwitcher browser extension, start testing in minutes. Easy peasy.