March 7, 2017

An Introduction to Localized Testing

The world we live in has hundreds of languages written and spoken. For many languages, there are multiple locale variants that are popular around the globe. The same is true within the world of internet and software; people are interacting with each other in more languages than we can imagine.

Here is a list of the major internet languages:

localization_1

Most countries carry out the main chunk of their trade practices in their native language. People are not readily willing to change from their local language to an internationally accepted language like English. So if we launch our recently developed software product, which is in English, into other locales, the customers there might not prefer it because of the language difference. To combat this, we should localize our products to increase both engagement and revenue from international markets.

Definition of Localization (L10N)

Localization is the process of adapting a product or service to a particular language, culture, and desired local “look-and-feel.” Translating the product’s user interface is just one step of the localization process. Resizing dialogs and adding buttons to accommodate longer translated strings is also part of localization.

Take, for example, the number format 1.234. In the US, this number would read as “one – point – two – three -four,” whereas in the Czech Republic, the number would read as “one thousand, two hundred and thirty four.”

localization_2

localization_3

Basic Terms in Localization Testing

Locale

A locale defines specific linguistic information and cultural conventions such as character type, collation, format of date and time, currency unit, and messages. There is a locale database for each locale.

Globalization (G11N)

This refers to a broad range of engineering and business development processes that are necessary to prepare and launch products and company activities globally. The global engineering activities are composed of internationalization and localization, while the business development activities focus on product management, financial, marketing, and legal aspects.

Internationalization (I18N)

Internationalization is the process of designing an application so that it can be adapted to various languages and regions without engineering changes. Sometimes the term internationalization is abbreviated as i18n, because there are 18 letters between the first “i” and the last “n.”

localization_4

Need for Localization Testing

Products that are localized to international markets often face domestic competition, which makes it critical for the localized product to blend seamlessly into the native language and cultural landscape. The cost of a localization effort can be significant. Once you have the strings translated and the GUI updated, localization testing should be used to help ensure that the product is successfully migrated to the target market.

Localization Test Plan

A separate test plan is written for localization. It is similar to test plans for English products where localization specific data is added, such as:

  • Milestone dates for localized languages
  • All languages to be covered, mentioned in scope
  • Testing responsibilities, in case the language testing vendors are different
  • Internationalization testing methodologies
  • Localization testing methodologies
  • Resource management
  • Localization testing best practices

Loc-Functional Testing

Localization testing begins as soon as translated strings appear in the software.

Checklist for L10n testing:

  • Make sure there are no truncations and garbage characters anywhere in the application
  • Verify there are no missing menus, strings, or stretched dialogs
  • Ensure terminology used is consistent across platforms
  • Check for grammar and linguistic issues
  • Verify the entire default settings match the relevant language requirement
  • Ensure all characters, including extended characters and symbols, show up correctly

Optimization Plan

While doing localization testing, we get to test m languages on n number of platforms. Therefore, the total testing efforts would be to test all the English test cases on m*n combinations, which would be too much effort for a localization team.

To solve this problem, the localization team created an optimization plan to find out where to not test. In the optimization plan, we try to leverage testing done on one locale of a similar code page.

Below is an example of an optimization plan where we are not testing on German Windows 8.

Win8.1 (32/64) Win7 (32/64)
German Set 1
French Set 2
Japanese Set 1 Set 2

Defects Found in Localization Testing

One example is the garbage characters that show up in the French build of a website:

localization_5

Another example is the appearance of English data on a French build:

localization_6

Another example is the currency sign mix-up – this currency should be shown in Euros, not US Dollars.

localization_7

Another common issue that crops up is hot keys not working on localized builds. We have also found some bugs that caused the UI to not display properly at certain resolutions.

Automation in Localization Testing

In localization testing, most of the tasks are performed manually as we need to read the text, we need to check the layouts, etc. All of these things require manual intervention because only humans can recognize these things. However, there are still some scenarios where we can use automation, such as:

  • In web localization testing, we can submit the forms by using automation techniques
  • We can also use automation to verify links in web localization testing
  • In software localization, testing functional things can be done by automation

If the application is built with the practices of internationalization and localization, then there are some property files that are used to address language requirements. The application reads from the respective properties file at run-time to render it in the selected language. In this way, the basic version of an application is only one, which has the ability to change the language of the user interface when required.

This has made it possible to automate internationalized applications, because test scripts are written only for the base version and easily executed for all languages.

The Selenium and Imacro tools can be used for the automation of localization testing.

Sample Test Cases

  • To verify that currency is displaying correctly for the particular region
  • To verify that no garbage values are displayed
  • To verify that time and date format is correct as per the region selected

Explore here for more sample test cases.

Conclusion

This is all about the basics of localization testing. We have tried to capture our experience, best practices, and tips that can help even a beginner to start with localization testing.