Localization Testing Lessons Learned – Tips From The Field
Localization testing checks the quality of software that is translated into a specified language. This software quality tip covers some basics of what localization testing is, and some localization testing best practices based on experience we have collected over the years.
What is localization testing?
For the software used in different countries or regions of the world, it must be adapted to the specific language of the country or region, regional customs and cultural sensitivities. This type of testing, localization testing, ensures that the software can be used properly in different regions. This includes 3 main aspects.
- Functionality: Issues that primarily affect functionality or localizability.
- Linguistics: Issues relating directly to the translation of the product’s resource strings or text.
- User Interface: Issues that primarily affect feature usability or UI aesthetic quality.
Localization Testing Best Practices
In executing many localization testing projects over the years, we’ve developed a checklist of best practices that we use for every localization testing project and continue to update as we gain more experience.
- Translation: This is the most basic check point. The text and help documents should be checked first to make sure they are translated into the local language, and can be understood properly. This does not require all team members to learn the local target language. One person is enough with other test team members checking other aspects of the localized software.
- Text Expansion: When English is translated into other languages, the length of translated content may be increased. This is called the text expansion. Text expansion can lead to some problems, such as truncation, no line breaks, or buttons automatically extended which may lead to a window layout change; sometimes resulting in system crashes too. Additionally, text allocation of memory accommodating English text may be adequate, but not enough for other language text.
- Character Encoding Problem:Some software uses code page and DBCS (double-byte character set) to support translation into different languages. In some situations, this may lead to some issues. For example, if there is no conversion or missing elements between the code pages, garbage characters will occur.
- Hotkeys and Shortcuts: Hotkeys and shortcuts should work as expected in accordance with the local habits. For example, the English word “Search” is equal to “Rechercher” when it is translated into French. Therefore, the hotkey in English is “Alt + S”, but it should be converted into “Alt + R” for French software versions.
- Extended Characters:The extended characters should be included for all characters that are not included in the ordinary English characters A-Z and a-z. For example, some pictographic characters are not visible on the keyboard. For these test cases, use the extended characters at the all input and output interfaces to see if they can be handled correctly as ordinary characters. Examples include checking whether these characters can be displayed correctly, print, copy and paste.
- Sorting, Case-Capitalization:Sorting for different languages is different. For instance, some Asian regions use character stroke order for sorting, but Europe and US generally sort alphabetically. For capitalization issues, case conversion in ASCII characters is by + / -32, but if you use the same method with other languages, it might be wrong.
- Reading Direction (from Left to Right or Right to Left): Most of languages read from left to right. But for Arabic, it is read from right to left.
- Text as Graphics: Characters are used in some menus as icons. For example, there is no problem using B, which is the initial for BOLD in English, as the icon indicating bold font. But in other languages, it might cause some trouble for people who do not understand English and don’t know that B stands for BOLD. The icon needs to be changed in this case.
There are many other areas that need consideration such as:
- String Concatenation
- Content cultural mismatch
- Data Format
- Configuration and Compatibility Issues