The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training...

27
The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Transcript of The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training...

Page 1: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

The Evolution of Localizability Testing & Pseudo Localization Models

Bj Rollison, Test Training ManagerMicrosoft, Inc.

Page 2: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

The importance of localization

Higher growth in international marketsGovernmental requirements“Localization is a right, not a privilege.”

Success in software industry today depends on international scope

Page 3: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

In the beginning…

Hard coded strings in source codeSource code recompiled per language

main (void){ printf (“Hello World!”); return 0;}

Page 4: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Recompile localization

ENU.rc

src

DEU.rc

JPN.rc

Others.rc

Ifdefsrc

Ifdefsrc

Time & Cost

Ifdefsrc

Page 5: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.
Page 6: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Present day…

Single worldwide binaryResources isolated No compile localization

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

Hello

Bonjour

こんにちわ

Page 7: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

No compile localization

“GLOBAL”src

ENU.rc

DEU.rc

JPN.rc

Other.rc

Reduced Time & Cost

Page 8: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Globalization LocalizationL10N

InternationalizationModelI18N

Page 9: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.
Page 10: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Typical localization process

“GLOBAL”src

ENU.rc

Pilot Langs..rc

Tier 1.rc

Tier 2.rc

TIME + COST

Tier 3.rc

Ifdefsrc

Page 11: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Localization lunacy

Oh yeah…now localize it!Engineering costs > 40% of software localization

Too many code defects found during localization processesOften no way of knowing where defects exist until localization beginsNo standardized development or localization processes

Page 12: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.
Page 13: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

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

Page 14: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Inventing the wheel

Identify common defects

Isolate causes

Craft model

Define new heuristics

Page 15: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Localizability EntomologyMissing files, setup failures

Build scripts

Untranslated textHard-coded stringsStrings from external sources

Functionality problemsString dependenciesOver translation

Page 16: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Localizability EntomologyAccessibility key issues

Non-ASCII key mnemonics

Sentence compositionConcatenated/dynamic strings

Truncated text/buffer overflow

Hard-coded string buffer sizeButton text in string tableUser drawn menus/controlsHard-coded style layout in CSS

Page 17: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Localizability Entomology

Character corruptionHard-coded font Not Unicode enabledIncorrect meta charset tag

User interface issueDynamic controlsAbsolute coordinatesOverlapping controls (string truncation)Registry keys used to display text

Page 18: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Taming the beast

Set localization rulesAppend characters to all localizable stringsGrow all string lengthsBracket all stringsReplace accessibility key mnemonics

Page 19: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Pseudo localization models

Page 20: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Pseudo localization models

Page 21: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Hammer out the processUpdate BASE resourcesGenerate pseudo loc dBVerify heuristicsGenerate pseudo build

ALL ANSI charsetsUnicode ONLY language

Test!

Page 22: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

InternationalSufficiency

Testing

GlobalFunctionality

Testing

LocalizedFunctionality

Testing

User InterfaceTesting

Globalization Localization

L10N

InternationalizationModelI18N

LocalizabilityTesting

Page 23: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Attacking localizability

Pseudo localization model is not panacea for globalization testing

Don’t retest everythingDon’t use pseudo localized build to test general functionality Reuse automated tests

Focus on localizability class bugs

Page 24: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Pseudo localization as THE pilot

Pseudo Localized Pilot

Loc.Vers.

M1 Eng Lang Project MxM0 RC

Spec. Loc.Vers.

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

Page 25: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Rebuilding the Tower of Babel

Common linguistic databasesDevelopment toolsStandardized processesAuto-resizing dialogsWYSIWYG localization toolsNatural language processing

Page 26: The Evolution of Localizability Testing & Pseudo Localization Models Bj Rollison, Test Training Manager Microsoft, Inc.

Summary

English is Just Another Language (EJAL)Reengineering still drives localizationSingle worldwide binary & no-compile localization development strategyPseudo localizability models qualify localizability & improve qualityLocalization = translation/simple modification

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

Questions