Saturday, June 11, 2016

Everything you need to know about Localization Testing

Localization Testing is the process of checking a software for a particular geographic culture or locale so as to ensure that the software works correctly for that region as it works in the origin region. The target region contains the same software as that of the origin region but the only difference is that the languages would be different and functionality wise everything would behave similarly. Generally, the User Interfaces namely buttons, labels, texts, titles etc and Contents are the elements for which high importance is given. These are main impact areas for Localization. It is mostly commonly applicable for website testing.

Why ? 

First of all, we should understand why localization of a software product is required.  Suppose you are the owner of a famous social networking site whose fanbase is mainly scattered across the United States and some parts of Asia. After considering its initial response from the fans, you have given a thought of expanding the app to other regions across the globe. So , it would be gibberish to say that a Russian, French or for a matter of fact a Japanese person may know to use your app which is in English. French, Russian, Spanish, German, Japanese, Mandarin, Hindi etc are native languages that are limited only across particular locales. You can't expect to launch your product in these regions where people barely understand English.  The software will be less usable in areas where the language is not understood by the locals. In order to make your software World-ready, you should ensure that it is readily available to the users from those particular locales in the language that they are comfortable with. I am an Indian with good knowledge of English and I might not find any difficulty in operating an app that is in English. But not all Indians understand English. So an app with Hindi or any regional language understood by the user might do wonders. That is why we need Localization.

Localization Testing
Image source 
Like mentioned above, Localization Testing mainly deals with the correct translations of the application texts to suit the target audience. You may say that a particular functionality may not be hampered while performing Localization Testing. We should never compromise with Quality while working  on a product. That's the job of a Software Tester. Never Ever Compromise with the Software Quality. Yes, there is high possibility that a particular feature would be impacted  because of the translation. What if a translated hyperlink failed to launch a new window when clicked on it?  What if a calculation formula provided a different result on accepting values from the user. Functionality issues arise as a result of localizing a software and we can't risk to ignore it. So a basic functional testing should be carried on the Localized  software. Well, such kinds of threats should be always taken into consideration.  Our main purpose as a tester is to find as many numbers of bugs as possible thereby delivering the finest quality of software.

The ultimate purpose of  doing Localization testing is to ensure that the product is successfully migrated  to the target market with the proper translation.

Strategy

There are many ways to perform localization testing. Sometimes the vendors provide the excel sheet with the key value pair where a particular developer key is associated with a value. The value could be a localized content. Consider something like below,

< str-header-label>    List Management

The above example is a part of the original English file. Similarly, the same developer key will be associated with different language files.

< str-header-label>    Gestion des listes for French 
< str-header-label>    Gestione lista for Italian
< str-header-label>    सूची प्रबंधन for Hindi
< str-header-label>    リストの管理 for Japanese and so on.

The application package will contain the Language files for the particular regions and these language files contain important information because it's these files that would be used for performing localization testing for  the application. The key value pair is one method that is widely practised in several organisations.  At our organisation , we perform this method for localization testing. 
If suppose you don't have a language file provided by the vendor, then you could verify the original text  by appending random strings to it so that it would serve as a translated text. 
That is supposed to be done using a random character generator.  The translated text would  end with the end of character denoter. For example,
Welcome will be displayed as Welcome$%24%1E
The E here is the end of the character. E here indicates that the text is completely translated. If  it was any random values not followed by E , then it clearly implies that there was something wrong and it was not translated properly. 

The drawbacks of these methods is that it is tedious. Generally Localization testing itself is a tedious activity. You got to compare excel sheets along with the texts on the UI. So you got to have lots of patience while performing Localization Testing. 

Commonly discovered issues during Localization Testing

Below are the types of issues that are generally found while performing Localization Testing.

1. Corrupted Characters 
 -  Wrong display of unique characters. For example, the translated text in Japanese is リストの管理 and the localized text is displayed it as リスâトのë管理 then this would be incorrect. Characters should be translated correctly.  I logged a bug the other day that displayed random characters on the  warning dialog box that was supposedly a Japanese build. 

2. Missing Translation 
 - Finding untranslated text is one of the important activity in Localization testing. There might be cases where you could find several untranslated texts. Such issues should be reported and fixed.

3. Bad Translation
 - Mistranslated or inconsistent text including typos and punctuation issues. These kinds of issues are a major headache to the testers. The translation should be clear, correct and concise.

4. Truncation ,Overlap and misalignment
 - Text truncation, overlapping and  misalignment are common side effects after localizing a software. So to ensure that these kinds of issues are averted, proper testing needs to be performed. 

5. Currency and Number Format 
- Incorrect currency, wrong date/time format, invalid  telephone numbers, postal codes, weights and measures are good bugs. Note that the mentioned parameters should be related to the locale where the product is shipped. France and Japan may have different date/ time formats. So it should be ensured that actual culture study is taken into consideration while localizing

6. Other/General Issues
 - Wrong alphabetical order/sorting, font issues, untranslated image text constitute the other issues. 

7. Usability of the UI
  -  Localization should not impact the Usability of the UI. 

Localization Testing  Lifecycle
Image Source

Always ensure that you write the test case that covers the points mentioned above. Also, geographical aspects and defaults should be considered. 

That's all I have to offer. I thought of writing this  as I am currently involved in a Localization testing activity and I thought of sharing what I learned from that with everyone in my circle. Let me know what you think about it?  Is it useful ?
Did you like this post? Get The Solitary Writers updates via Facebook or Twitter, better yet, subscribe to it via RSS Feed. It’s easy, and free! Comments are just another way to let me know how you feel.Don't forget to comment.

0 Ink drops: