How to Perform Internationalization And Localization Testing: A Complete Guide
Himanshu Sheth
Posted On: September 16, 2021
192498 Views
13 Min Read
Nowadays, many organizations have software products (websites or apps) that are built for a global audience. One of the trickiest parts is delivering an experience that appeals to the local audience of the target market. Catering to the needs of the local users would require localization. You would have come across internationalization and localization testing when designing for the ‘global and local’ market. There is a difference between internationalization and localization testing since the tests are developed from a different market point of view.
The goal of internationalization and localization is the same (i.e., delivering an exceptional customer experience to the customers of the said market). These practices sound similar, but under the hood, there is a lot of difference between them. Test automation should be effectively used to ensure that top-notch product development is backed by fool-proof testing.
The activities performed as a part of Selenium automation testing for internationalization testing and localization testing also differ significantly! So, how do they differ? In this blog, we also look at internationalization and localization, the learnings of which will further help in planning and strategizing the automated browser testing activity aligned to the target audience (or market).
TABLE OF CONTENT
What is Localization Testing?
Before we get into internationalization and localization testing, let’s deep dive into Localization. As the name indicates, localization makes the content and UI adaptable to meet the specific locale or specific region’s cultural and linguistic needs.
Localization testing is the activity of verifying the content and interface from a localization point of view. It is also called l10n testing, where 10 is the number of letters between ‘l’ and ‘n’ in localization.
Some of the integral parts that are included under localization testing are:
- Translated text
- Keyboard usage
- Format and sequence of address
- Graphics and other visual elements aligned to the culture (or locale)
- Addressing the time and currency formats of the region
- Alignment of data
Localization activity can be expedited by using Selenium test automation in a scalable manner, and the same implementation (barring aside the localization features) can be used for Selenium automation testing.
Hence, localization essentially focuses on the content consumed by the target market’s consumers (or customers), and testing takes care of verifying the localized content & interface. Selenium localization testing, when performed on virtual browsers, Selenium localization testing helps attain maximum test coverage at an expedited pace.
What is Internationalization Testing?
Unlike localization that focuses on a subset of a particular region (or locale) users, internationalization focuses on the product features and capabilities that appeal to the global audience. Therefore, internationalization testing is also termed Globalization Testing.
Internationalization is an activity that is usually pursued from the conceptual stage so that the product has a global appeal. The features, content, and interface are developed to enable localization for a given culture, locale, or region. The aspects of localization should be taken into account from the initial stages of product design and development. Hence, it ensures that the product is ready for usage by the global audience.
Internationalization is called i18n, where 18 is the number of letters between ‘i’ and ‘n’ in internationalization.
Here are some of the best practices for Internationalization:
- Support for multiple languages
- Support for different regions, locale, and more
- Separation of resources (strings, UI elements, etc.) from the implementation
- Support for different number formats
- Text in different formats (i.e., Left → Right, Right → Left)
Hence, internationalization essentially focuses on the design and development process of building a product that is built for a global audience. Therefore, Selenium internationalization testing can be extensively used for testing a global product at a large scale.
So while they sound similar, internationalization and localization testing are different processes.
Localization vs Internationalization Testing
With more clarity of internationalization and localization, we look at how the testing activities stack up against each other.
Here is how localization vs internationalization testing difference looks like:
- Internationalization (or globalization) testing is the process of verifying the features and functioning of the web product with as many international inputs as possible. The existing implementation should be able to handle internationalization without any breakage in the functionality. Product design and development are the key focus areas in internationalization so that the features can be adapted to different regions and locales.
Localization testing ensures that the features (particularly UI and content) are aligned to the needs of a particular region and locale. Therefore, the development of globalized features plays a vital role in enabling localization.
- Product features and functionalities are given higher weightage in internationalization as it is done at the design level. The product features are designed so that the software can be easily scaled for usage in different languages.
Internationalization testing encompasses functionality, usability, interoperability, and other testing methodologies to build a product with global appeal. For example, the Internationalization testing of emails is extremely pivotal for a global product. It helps ensure that the emails being delivered to the customers are being rendered properly on different browsers, devices, and operating systems.
The main focus areas for localization are UI and content localized for a particular region or locale. Understandably, localization testing encompasses testing related to UI (i.e., dialog boxes, text boxes, error messages, and more) and content (i.e., online help, product terms & conditions, legal guidelines, release notes, tutorials, and more).
- Internationalization testing focuses on testing the product’s functionalities and capabilities that are built for a global audience (or generic user base).
Localization testing focuses on testing the product so that it is usable by users of a particular region.
- In internationalization testing, linguistic accuracy is given a lower preference, as the focus is on detecting issues in product design that could impact its globalization.
On the other hand, linguistic accuracy is given prime preference in localization testing since it is a given that product features would have been thoroughly tested during the process of globalization (or internationalization) testing.
Read – Detailed Selenium WebDriver Tutorial
The figure below shows the difference between Internationalization and Localization Testing in a pictorial format:
Demonstration – Localization vs Internationalization Testing
Now that you know the difference between Internationalization and Localization Testing – let’s look at an actual scenario that demonstrates it.
Internationalization (I18n)
We all know that the website of e-commerce behemoth Amazon was initially released for the US market and later expanded to different geographies. However, do you know that Amazon has a wide presence in many geographies that predominate non-English speaking audiences?
As people are more comfortable in their native language, Amazon designed and developed the store’s features and functionalities to cater to the target region, culture, and locale. Depending on the target region, Amazon has adapted partial or complete localization to various sections on the website.
Shown below are the designs of Amazon (Spain) and Amazon (South Korea), respectively:
The design, features, and content on the Amazon page change to suit the target region audience (or geography). Google, the popular search engine, also internationalizes the features, design, and content to cater to a particular target market.
Read – Geolocation Testing With Selenium
Localization (I10n)
For a demonstration of localization, we use the same example of Amazon. When you try to open the website, it checks the ‘source region’ from where the request was made, automatically launching the country-specific website.
India is one of the most ethnically diverse nations globally, where each state has its own culture. In addition, there are 22 Indian languages (Kannada, Hindi, Tamil, Telugu, Gujarati, and more).
An Amazon user can choose the preferred language, and the page contents are translated into that language. This is where localization comes into the picture, where the contents are localized to meet the requirements of the specific culture and region; an example of Amazon in Tamil (a popular Indian language in Southern India is shown below):
How To Build A Strategy For Internationalization and Localization Testing
Internationalization testing can be performed at the front-end as well as the back-end of the product. The nuts and bolts of localizing the product features can be planned during the internationalization phase itself.
The internationalization testing activity has to be focused on language, culture, region, important events, and dates for the particular market.
Here are some of the major points that should be considered during internationalization and localization testing:
- The testing should be performed on the front-end. Therefore, the focus should be on the user interface (or front-end elements) such as images, dialog boxes, toolbar, menus, and more.
- Localization and internationalization should be performed on language-specific properties such as number systems, writing directions, address display, spelling variants, etc.
- Locale (or region) awareness testing should be performed on the product by considering factors such as colors, images, government numbers (SSN, Passport, etc.), distance, and weight. Also, factors such as measures, zip code, telephone number, and things that vary from one region to another should be considered.
- Dates and important events like calendar types (e.g., Hindu calendar, lunar calendar, etc.), number formats, and data & time formats should be considered. In case you have a web page with calendar element(s), make sure to check out our detailed blog that demonstrates the Automation of Calendar using Selenium Python.
Best Practices for Internationalization and Localization Testing
Now that we have solved the Localization vs Internationalization puzzle let’s move on to the best practices for Internationalization Testing. Here are some of the best practices to realize internationalization testing at scale:
1. Content Localization
The textual content on the pages, including graphics, should be localized to meet the needs of the region or locale. Dynamic content should also be in the localized form, e.g., pop-up windows that occur when the user has not filled a particular form on the site properly. Handling Dynamic content is one of the biggest challenges in Selenium, which can be fixed by using appropriate wait commands.
Along with developers and testers, language experts should be a part of the entire process to verify whether the ‘localized content’ adheres to the local grammatical guidelines. In addition, language experts and other project stakeholders have to take a call when a mix of English and local language should be used.
2. User Interface
As seen in the earlier section, the interface also needs to change as per the requirements of the target locale. The strings’ size will vary from one language to another; hence, the interface should be adaptable to accommodate larger strings without hampering usability.
The essential elements of the user interface, such as dialog boxes, text boxes, drop-down lists, alerts, toolbars, etc., should be tested to ensure that locale-specific content appears without any issues.
3. Rendering
Internationalization and localization testing have to be done to check whether the supported scripts are displayed correctly. The script should be displayed in accordance with the characters specific to the language associated with the script.
For languages like Hebrew (he-IL), the typing is from R → L. The same principle also applies to ordering the content (and controls) on the site. Selenium automation testing should be used to check whether the controls and content are at the desired location(s).
Visual UI Testing and website responsiveness can be checked across different browsers and viewports using a cloud-based platform like LambdaTest. Developers can also make use of LT Browser – a mobile friendly tester that lets you test the responsiveness across 50+ Android & iOS device viewports.
4. File Transfer
There are many cases where file transfer operation is included. The interface used for file transfer operation also needs to be localized as per the selected language. The user should be kept updated with ‘relevant information’ about the file transfer progress for bigger files.
Encoding issues are common where multiple languages and scripts are involved. The default encoding format is UTF-8. Files with content saved in encoding format other than UTF-8 (e.g., UTF-16, UTF-32, etc.) when read using the UTF-8 format can result in unreadable (or junk) text.
The recommendation from W3C is to serve all the pages in the UTF-8 format, as it will help in dealing with encoding issues that arise with the usage of multiple languages and scripts.
Read – Upload And Download Files Using Selenium Java
5. Automation Testing
Testing an internationalized or localized web application can pose serious challenges, and these challenges multiply with every new language. Selenium automation testing on a cloud-based Selenium Grid like LambdaTest can help expedite the testing activity. In addition, Parallel testing in Selenium should be leveraged to expedite testing and accelerate the product release phase.
Data-driven testing can positively impact both internationalization and localization testing. For example, automation testers can perform tests on online browsers and platforms for exhaustively testing the internationalized (or localized) flavors.
Automated browser testing scripts should be designed in a scalable manner so that the same set of automation scripts can be extended for usage with different languages. When locating WebElements using locators (e.g., XPath, ID, NAME, etc.) for automation testing, selecting the best-suited WebElement that is language agnostic becomes essential. This offers better flexibility in the automation script and helps in the extensibility of the script for usage in internationalization testing. You can check out our detailed Selenium WebLocators tutorial so that you can choose the locator that meets the needs of testing.
When creating localization tests, you should consider using different grammar structures in different locales and appropriately adding switching mechanisms. As and when required, the localization team (or the team composed of language experts) should be involved in the automation testing process.
Conclusion
For companies that roll out global products, internationalization, and localization testing are both important, as they help shape the product for the respective markets (i.e., global and local). However, there is a thin line of difference when it comes to localization vs internationalization testing.
Hence, developers and automation testers must understand the nuances behind the difference between localization and internationalization testing to prioritize the testing strategy that meets the demands of the product.
In this Selenium WebDriver tutorial, we have seen how Selenium automation testing can be leveraged for performing internationalization and localization testing on LambdaTest. Its cloud-based Selenium Grid provides the feature of GeoLocation Testing that lets you automate geolocation browser testing from 53 countries across the globe. As a result, an all-round testing strategy can be used to execute a faster go-to-market strategy.
Got Questions? Drop them on LambdaTest Community. Visit now