lessons learned on localization testing
TRANSCRIPT
Lessons Learned on Localization Testing
Liang Gao
Agenda
A brief history 3 Categories of localization defects Lessons Learned
Agenda Started around 25 years ago with
Windows Localization initially developed in a
forked code base #Ifdef Nightmare on testing because change of
the code require regression effort not related to localization
Then a single world wide binary model around 1991 Different keyboard driver and font files
A Brief History Started around 25 years ago with
Windows Localization initially developed in a
forked code base #Ifdef Nightmare on testing because change of
the code require regression effort not related to localization
Then a single world wide binary model around 1991 Different keyboard driver and font files
3 Categories of Localization defects
Functionality Reduced a lot with single world wide binary Checking the appropriate registry keys application and hardware compatibility Can be automated in the daily build smoke test
Behavioral/usability – where most defects are (90%+) Usefulness of UI Aesthetic of UI not require any special linguistic skills
Linguistic quality Mis-translations Tester often spend most time on this, but may result in
“no fix”
Typical Defects
Un-localized or un-translated text Key mnemonics Clipped or truncated text labels Other user interface controls Incorrect tab order Layout issues
Typical Defects
Un-localized or un-translated text Key mnemonics Clipped or truncated text labels Other user interface controls Incorrect tab order Layout issues
Un-localized or un-translated text
Mostly report May have more if there are
constantly UI changes No need to over-report them in the
early stage If anything English, then probably it
is not translated.
Un-localized or un-translated text - Cause
Worse case scenario is that the string is hard-coded into the source files
Perhaps localizers did not have enough time to completely process all strings in a particular file
Perhaps this is a new string in a file localizers thought was 100% localized
Strings displayed in some dialogs come from files other than the file that generates the dialog, and the localization team has not process that file
And, sometimes (usually not often), a string may simply be overlooked during the localization process
Un-localized or un-translated text - Lessons
Ask the localization team to report the percentage of translation completion by file or module for each test build. Early in the development lifecycle only modules that are reported to be 100% complete which appear to have un-translated text should be reported as valid bugs.
Testers should use tools such a Spy++ or Reflector to help identify the module or other resources, and the unique resource ID for the problematic string or resource. Perhaps this is a new string in a file localizers thought was 100% localized
Also remember that not all textual strings are translated into a specific target language. Registered or trademarked product names are often not translated into different languages.
Un-localized or un-translated text - Sample
Key Mnemonics(快捷键,记忆键)
Missing & duplicate access key mnemonics
Access key mnemonic assignments Accelerator Keys
Missing & duplicate access key mnemonics
Static and dynamic access key mnemonics are different
Labor intensive Automation is better
Access key mnemonic assignments
Should use keys on an English keyboard.
Access key mnemonic assignments
Should not be lower case of g, y, p,q, j,i
Access key mnemonic assignments
中文的快捷键应该显示在最后
Access key mnemonic assignments
加速键,德文,西班牙文,中文的 ctrl+c, ctrl+b… 不同
Clipping
窗口上下因为本地化而变没
Truncation
右边被砍掉
Clipping and Truncation
Need to compare with English versions with font installed
Need to test under different screen resolutions.