The Evolution Of Localizabilitytesting And Pseudo Localization Models

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View The Evolution Of Localizabilitytesting And Pseudo Localization Models as PDF for free.

More details

  • Words: 528
  • Pages: 27
The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

The importance of localization Higher growth in international markets Governmental requirements “Localization is a right, not a privilege.” Success in software industry today depends on international scope

In the beginning… Hard coded strings in source code Source code recompiled per language main (void) { printf (“Hello World!”); return 0; }

Recompile localization ENU .rc

DEU .rc

JPN .rc

Others .rc

src

Ifdef src

Ifdef src

Ifdef src

Time & Cost

Present day… Single worldwide binary Resources isolated No compile localization Hello Bonjour こんにち

LoadString (hinst, IDS_HELLO, szFormat, cchMaxSz); while { char szString[cbMaxSz]; int nPercent = PercentComplete(); _tnsprintf(szString, szFormat, nPercent); DrawString (szString); //more code stuff here }

No compile localization ENU .rc

DEU .rc

JPN .rc

Other .rc

“GLOBAL” src

Reduced Time & Cost

Internationalization Model I18N Globalization

Localization L10N

Typical localization process ENU .rc

Pilot Langs. .rc

Tier 1 .rc

“GLOBAL” src

TIME + COST

Tier 2 .rc

Tier 3 .rc

Ifdef src

Localization lunacy Oh yeah…now localize it! Engineering costs > 40% of software localization Too many code defects found during localization processes Often no way of knowing where defects exist until localization begins No standardized development or localization processes

So what is localizability anyway? An engineering paradigm that allows modifications to the resources used by a software program Without introducing functional defects requiring modification of the source code Without requiring retesting of common functional areas

Inventing the wheel Identify common defects Isolate causes Craft model Define new heuristics

Localizability Entomology Missing files, setup failures Build scripts

Untranslated text Hard-coded strings Strings from external sources

Functionality problems String dependencies Over translation

Localizability Entomology Accessibility key issues Non-ASCII key mnemonics

Sentence composition Concatenated/dynamic strings

Truncated text/buffer overflow Hard-coded string buffer size Button text in string table User drawn menus/controls Hard-coded style layout in CSS

Localizability Entomology Character corruption Hard-coded font Not Unicode enabled Incorrect meta charset tag

User interface issue Dynamic controls Absolute coordinates Overlapping controls (string truncation) Registry keys used to display text

Taming the beast Set localization rules Append characters to all localizable strings Grow all string lengths Bracket all strings Replace accessibility key mnemonics

Pseudo localization models

Pseudo localization models

Hammer out the process Update BASE resources Generate pseudo loc dB Verify heuristics Generate pseudo build ALL ANSI charsets Unicode ONLY language

Test!

Internationalization Model Globalization I18N Localization International Sufficiency Testing

Global Functionality Testing

Localized Functionality Testing

Localizability Testing

User Interface Testing

L10N

Attacking localizability Pseudo localization model is not panacea for globalization testing Don’t retest everything Don’t use pseudo localized build to test general functionality Reuse automated tests

Focus on localizability class bugs

Pseudo localization as THE pilot M0 M1 Eng Lang Project

Mx

RC

Pseudo Localized Pilot

Pseudo localized build is the pilot language! Localization is not a release bottleneck!

Loc. Vers.

Spec. Loc. Vers.

Rebuilding the Tower of Babel Common linguistic databases Development tools Standardized processes Auto-resizing dialogs WYSIWYG localization tools Natural language processing

Summary English is Just Another Language (EJAL) Reengineering still drives localization Single worldwide binary & no-compile localization development strategy Pseudo localizability models qualify localizability & improve quality Localization = translation/simple modification

Questions

Related Documents