STEPin- Chennai- Globalization Testing Demystified - V2
Transcript of STEPin- Chennai- Globalization Testing Demystified - V2
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
1/160
Demystifying Globalization Testing
Anuj MagazineCitrix R&D India Pvt. Ltd.http://anujmagazine.blogspot.com
http://handwritinganalyst.blogspot.com
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
2/160
Overall AgendaPart #1: Globalization Testing Introduction and Basics
Part #2: Understanding different components of Globalization Testing
Part #3: Globalization Test Planning- The finer points
Part #4: Uncovering some myths about Globalization testing
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
3/160
Part-1: Globalization Testing Introduction andBasics
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
4/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
5/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
6/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
7/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
8/160
Do you want your Software product to Interact
with Global customers like any of these Images ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
9/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
10/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
11/160
1.0
2.0
3.0
Globalization eras
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
12/160
Growing Language support for Windows OS
Citrix Confidential - Do Not Distribute
Windows 98: 30 languages
Windows XP: 42 languages
Windows Vista: 97 languages
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
13/160
No. of Countries in the world= 193
Known living Languages= 6900
English speaking = 8.5% of world population (1st or 2nd language)
Languages with atleast 1 million speakers= 347
Citrix Confidential - Do Not Distribute
Some Interesting Statistics
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
14/160
Language Matters!
Non-English
Speakers91.5%Native English
Speakers5.1%
Other EnglishSpeakers
3.4%
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
15/160
Overview of Software Globalization
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
16/160
Globalization(G11N)
Parts of Globalization testing
Internationalization(I18N)
Localization (L10N)
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
17/160
Jan Scherpenhuizen = Jan S12N
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
18/160
About I18N
Internationalization, or I18N, is the process of generalizing a product so that it can handlemultiple languages and cultural conventions without the need for re-design.
Internationalization takes place at the level of program design.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
19/160
Internationalization(I18N)
Locale Awareness
Localizability
Multilingual UserInterface (MUI)
Parts of I18N testing
Unicode Clean
Input / Output Process
Single Base Binary (SBB)
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
20/160
About L10N
Localization, L10N, involves taking a product and making it linguistically and culturallyappropriate to the target locale (country/region and language) where it will be used andsold.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
21/160
Localization(L10N)
Parts of L10N testing
Translation
UI Layout
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
22/160
ABC.....no KBC of Globalization Testing
Can Localization exist successfully in a Softwareproduct without Internationalization in place ?
A. YesB. NoC. May beD. None of the above
B. No
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
23/160
Can Internationalization exist successfully in aSoftware product without Localization in place ?
A. YesB. NoC. May beD. None of the above
A. Yes
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
24/160
The activity of translation of Documentationgets broadly categorized under-
A. I18NB. L10NC. L20ND. None of the above
B. L10N
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
25/160
The activity of Unicode implementation getsclassified under-
A. I18NB. L10NC. I19ND. None of the above
A. I18N
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
26/160
Part-2: Understanding different components ofGlobalization Testing
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
27/160
#1. Testing Unicode implementation
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
28/160
Unicode Clean- The Basics Unicode provides a unique number for every character,
no matter what the platform,no matter what the program,no matter what the language.
Journey from Code Pages to Unicode.
Unicode numbers are given in four hex digits preceded by U+, so A; is U+0041 (internalrepresentation).
Tibetan Om
U+0F00
DEVANAGARILETTER JHA
U+091D
HIRAGANA LETTERNU
U+306C
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
29/160
Questions to clarify before testing Unicode Which languages does your Application Support ?
Is there a requirement to test the localized characters beyond the languages that arealready supported ?
Is the Application Unicode Clean ?
If the Application is not Unicode Clean, then what parts of the Application are non-Unicode
? How is the Unicode data stored in Byte Sequences in the Computer ? Is it UTF-8, UTF-16 or
other representation ?
Does the product support any pre-Unicode code pages ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
30/160
Test Ideas specific to Unicode Does the Application support all possible extended characters and text scripts. Specifically
in multi-byte languages like Korean, Japanese and Chinese ?
Are multi-byte file and fonder names. File contents and other such data parsed, processed,viewed and Saved correctly ?
Multi Byte Characters handling- Overlapping Characters Text Selection Text Deletion
Filtering and Searching
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
31/160
Double Byte characters handling-O
verlappingcharacters (legacy Applications)- Special consideration to double byte languages.
- Overlapping characters are the values that can be mapped to more than onecharacters depending upon the context in the which they are used (Single byte or
Double byte).
- Example:- ASCII value 0x5C- The value 0x5C is mapped to backslash character in single byte context.- The value 0x5C is used in several Japanese characters (double byte) as a trailingbyte of a two-byte character.- Japanese representation of double byte text is Yen symbol.
- If a program recognizes the 0x5C value as a backslash, it may cause issues withdouble byte languages.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
32/160
Double Byte characters handling - Text selection(legacy Applications)
-Proper handling of double byte characters during the character selection operation. (see below)
-Improper handling of double byte characters during the character selection operation. (see below)
- When the cursor is moved to the left instead of moving to the beginning of the previous doublebyte character it is placed in between the lead and trail bytes.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
33/160
Double Byte characters handling - Text deletion
(legacy Applications)
- This is an example of incorrect handling of double byte characters during the process ofdeletion. Note that after deletion only trial byte is deleted and not the lead byte.
- Now with the delete key at the start of the string. The lead byte has beendeleted leaving the trail byte().
- Always treat the lead and trailing byte of a double-byte character code as one atomicunit
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
34/160
Filtering and Searching
- Searching usually has to be performed manually each time. Filters are predefinedsearches within a program.
- Some times programs do not take care of accented characters properly e.g. whilesearch for word- Word the program might return- Wrd, Wrd as well.
- Filtering and Searching of a Localized program must take care of foreigntext/International characters properly.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
35/160
Unicode specific bugs
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
36/160
#2. Testing the Input/Output processimplementation
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
37/160
Input/Output process- The Basics Put simply, the users interact with an application using keyboard to enter data.
The application processes the data and displays them in a selected font, or outputs them ina file.
Input Processes- Support for Keyboards Support for IME
Output Processes- Font Independence
As a general rule for fonts, the application should not hard-code font names should not assume a given font is always installed on the system should not assume a selected font supports the desired language script
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
38/160
Input/Output process- Enabling Keyboard- Windows 7
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
39/160
What is IME (Input Method Editor) What is IME ?
An IME is a program that allows computer users to enter complex characters andsymbols, such as Japanese characters, using a standard keyboard.
Why we need IME ?
Each language of CCJK has lots of characters, we cannot mapping all of them onstandard keyboard.
Which languages need IME
CCJK (SC, TC, JA and KO)
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
40/160
Questions to clarify before testing
Input/Output Process Input Process:
What are the input modes that an application supports ? Does application supports IME, Keyboard, Copy-Paste, Inputting text through Character maps etc. ?
Output Process: Is the font hard-coded or is externalized ? Are there any places in the Application where the dynamic text shows up ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
41/160
Test Ideas specific to Input/Output process Input Process:
Can users Copy/Paste with Accented Characters ? For, Asian Languages, are all major Input Method Editors (IME) supported ?
Check all the text fields with Localized Keyboard ?
Output Process:
Test the entire Application User Interface for the consistency of UI look and feel/Font display. Get the error messages List and simulate the messages in the Application.
If there are some Locales in which product is not translated but important from business perspective,work to test the English version of the product on the Localized OS.
If the Application has different UI components may be Web based and Windows based, ensure to test therendering of text on all supported components.
Ensure that UIs of all the supported languages are tested independently in all supported OS/Browsercombinations.
If the Application has places where the UI dynamically shows data , such areas should be tested.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
42/160
Examples of Input/Output Process specific bugsCharacter corruption - Question marks- Sometimes Questions marks appear (?????) in the UI instead of displaying thecorrect text This generally indicates a problem in the Unicode to ANSI conversion.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
43/160
Character corruption- Random characters- Random High ANSI characters (, , , ) appear instead of readable text.- This generally indicates a problem with the use of the wrong code page.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
44/160
Character corruption- Font display- Vertical bars, boxes and tildes (, , ~) indicates that the selected font cannotdisplay some of the characters.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
45/160
#3. Testing the Locale Awarenessimplementation
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
46/160
Locale Awareness-The Basics The application has to be aware of the locale of the underlying operation system to correct
format the locale sensitive data.
Different countries use different formatting for their calendar, date, time, currency,numbers and so on
Locale Awareness- Key Aspects Consistent Locale Model Locale based Calendar
Locale based Formatting Locale based Sorting
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
47/160
Questions to clarify before testing
Locale Awareness Does the product support different regional settings, such as date/time and currency
formats, calendar standards, decimal separators, paper size standards, measurement, andaddress and telephone number format ?
Which areas of the Application displays Locale specific information such as Date/Time,Numbers, Currency, Calendar etc. ?
Are there any areas in the Application where the data is sorted ? What are the language specific sorting rules followed in the Application logic ?
Are there any places in the Application where the Address format is used ? Is the formatexternalized ?
If there is a place in Application where one can define App specific Regional settings, doesit take precedent over OS specific Regional settings ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
48/160
Test ideas specific to Locale Awareness Ensuring different components of the Application follows consistent Locale.
Do regional settings, such as paper size, date/time, number and currency formats, reflectthe language of localized product by default ?
Does the Localized application automatically default to regional settings specified in theOperating System ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
49/160
Locale awareness: Date and Time Different Countries use different Date/Time formats.Country Short Date Before Noon After Noon
United States Month/Day/Year 11:45 AM 1:30 PM
France Day/Month/Year 11:45 13:30
Germany Day.Month.Year 11:45 Uhr 13:30 Uhr
Japan Year/Month/Day 11:45 13:30
Sweden Year/Month/Day 11.45 13.30
Testing needs to ensure that appropriate Date/Time formats are followed.
Testing needs to ensure that appropriate format of Calendars are followed.
Examples: In United States, as Sunday is first day of the week- it appears in left most column in
the Calendar. Many other countries consider Monday as first day of the week- So, Mondayshould appear in Left most column in the Calendar.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
50/160
Locale awareness: Date and Time
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
51/160
Locale awareness: Currency Different Countries have different currencies and Monetary Symbols.
Test your program to ensure that all the currencies and their symbols are accepted byInput fields and are displayed properly.
Euro Symbol is a Special case. (Rupee Symbol as well)
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
52/160
Testing should ensure that any numerical or Currency value is written correctly as perstandards followed in locale under test.
Examples1. In United States, a period is used to represent decimal and a comma is used as
thousands separator. E.g. 1,000,000.002. In Germany, it is other way around i.e. a comma is used to represent decimal anda period is used as thousands separator. E.g. 1.000.000,00
Locale awareness:N
umbers
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
53/160
Locale awareness: Addresses, Postal Codes, Phone#
Different Countries have different ways of formatting their Addresses
Examples:Address format for United States-NameStreet NumberExtra Lines for apartment numbers, Suites, Buildings etc.City, State, Zip code
Address format for Japan-Postal CodePrefectureTown
Street NumberName
Address format for Germany-Street AddressPostal code CityCountry/Region
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
54/160
Addresses can be represented in different ways in the UI. Special consideration for Zip codes.
Examples:US zip codes are either 5 to 9 digits long.Japanese postal codes are 7 digits long.China zip codes are 6 digits long.Taiwan zip codes are 3 digits long.
Korea zip codes are up to 6 digits often with a city name included.
Special consideration for Phone Numbers.Examples:
US has a 3 digit area code.India has a 2 digit area code.
In Chinese and Korean, there are no separate fields for First name and Last name.(and there is no space between First name and Last name).
International addresses should be stored in database properly and be displayedproperly.
Locale awareness: Addresses, Postal Codes and Phone No
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
55/160
Locale awareness: Sorting Different Sorting rules exists for different countries
Examples- In German, the letters and o are sorted next to each other.- In Sweden, the letter is sorted at the very end; a couple of letters after z
Sometimes, there are different sort rules for the same language.
Examples Spanish language has 4 additional characters ( as compared to English). During
Sorting, there are separate sort rules (traditional and modern sort) that are used. German language also has multiple collation rules. Infact, there are 3 of them-
DIN1, DIN2 (used in phone books) and Austrian.
Sorting works the same way in French as it does in English. Japanese language sorting is always based on phonetics.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
56/160
Examples of Locale Awareness specific bugs
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
57/160
Date-Time formats
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
58/160
Regional issues
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
59/160
Locale Awareness demo- World Ready Application
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
60/160
#4. Testing the Single Base Binaryimplementation
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
61/160
Single Base Binary-The Basics Single base binary, or SBB, is a single set of functional core binaries for all language
versions of operation systems, there are no conditional compiling for different languageversions, there are no need to maintain separate source codes for development teams andlife cycle maintenance.
Single Base Binary- Key Aspects
Single Language Neutral Binary Application should functionally behave the same across all the supported languages.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
62/160
Questions to clarify before testing
Single base binary Do the separate code paths specific to languages exist within the code ?
Is the code same/consistent for all the languages ?
Has all the UI text been externalized and placed in separate resource files ?
Is there any text which is still (on purpose) hard-code ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
63/160
Test ideas specific to Single Base Binary Test for Application having only Localized text in the UI- No hard coding.
Test for Functionality in the different supported languages. Application functions shouldbehave the same way across the various supported languages.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
64/160
Example of Single base binary specific bugs
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
65/160
Example of Single base binary specific bugs
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
66/160
#5. Testing the Localizability implementation
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
67/160
Localizability- The Basics Localizability:
In the application development phase, it is important to identify what needs to be localized and whatdoes not, and then put everything that needs to be localized into separate files, in this way the product islocalizable.
Localizability testing verifies that you can easily translate the user interface of the program to any targetlanguage without re-engineering or modifying code. Localizability testing catches bugs normally foundduring product localization, so localization of the program is required to complete this test.
Localizability- Key Aspects: GUI 30-percent Rule Localizable Image/Icons Mirroring
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
68/160
What is Globalizationreally ?
Microsoft Word
Document
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
69/160
Questions to clarify before testing
Localizability Translatables- Have all translatable components been externalized from the source code ?
Regional Settings- Have any regional settings been hard-coded, such as time/date formats ?
Concetenations-Are there many concatenations that may cause problems for translators ?
Over- externationalzing- Do the resource files containing translatable text have any non-translatable items ?
Expansions- Do dialog boxes and forms allow for text expansion ?
Bitmap text- Does the application contain many bitmaps or icons with translatable text ?
Does the Application contain any graphics, colors , or other components that need to beadjusted for certain target locales ? Can these components be easily adapted to be moregeneric ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
70/160
Test ideas specific to Localizability Pseudo Translation (will cover later in detail)
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
71/160
Example of Localizability specific bugs
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
72/160
Example of Localizability specific bugs
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
73/160
Mirroring demo- World Ready Application
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
74/160
#6. Testing the Multilingual User Interface
implementation
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
75/160
MUI- The Basics
Citrix Confidential - Do Not Distribute
Separate Localizable resources from Source code
Dynamically load the appropriate language resources
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
76/160
Multilingual Application
=
Citrix Confidential - Do Not Distribute
Language neutral core binary (also SBB)
+
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
Set of language specific localized resource files
+
Logic to dynamically load language specific resources
+Language Fallback Logic
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
77/160
Ancient era: Code and resources live together
Citrix Confidential - Do Not Distribute
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
G11N Process Maturity Indicator
Developing the Application
Servicing the Application
Adding New Languages
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
78/160
Medieval era: Logically separating code and
localizable resources
Citrix Confidential - Do Not Distribute
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
G11N Process Maturity Indicator
Developing the Application
Maintaining the Application
Adding New languages
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
79/160
An Example
Citrix Confidential - Do Not Distribute
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
80/160
Application containing multiple language resources
Citrix Confidential - Do Not Distribute
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
G11N Process Maturity Indicator
Developing the Application
Maintaining the Application
Adding New languages
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
81/160
Modern era: Physically separating code and resources
Citrix Confidential - Do Not Distribute
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
G11N Process Maturity Indicator
Developing the Application
Maintaining the Application
Adding New languages
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
82/160
Test Ideas specific to MUI
Citrix Confidential - Do Not Distribute
Testing for Language neutral core binary
Testing for single MUI Installation
Testing for switching language without Reinstallation
Testing for the logic of dynamically loading resources Testing for language Fallback mechanism
Testing for Single base binary
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
83/160
Example of MUI specific bugs
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
84/160
MUI demo- World Ready Application
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
85/160
#7. Some more considerations
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
86/160
Duplicate, Missing hotkeys
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
87/160
Text in Graphics
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
88/160
Look out for Acronyms- Are they represented properly ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
89/160
Are there any Abbreviations ? Information written as Info Advertisement written as Ad
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
90/160
The Problems with Concatenation The Code:strHello = ReadString("Welcome");strMsg = strHello + ", " + UserName;
English: Welcome, Anuj
Suitable for Japanese ?
Other languages have: different word orders (Japanese) different genders for different nouns (French, German, Spanish)
different punctuation marks (Spanish, German)
different requirements for indicating respect of the user (French and Japanese)
different requirements for plurality (all languages)
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
91/160
The Problems with Concatenationcontd Indicating Plurals:
Similarly adding "st", "nd" and "th" to numbers will cause the same sort of problems.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
92/160
Excessive CapitalizationAs a Developer, you probably Write a Lot of Code, and you write Documentation for it, soyou're well able to write. This may be true, but you may not realise that because of yourJob, you've probably developed a peculiar writing Style that afflicts many Programmers,which while it is merely unsettling for Users, can cause serious Problems when your Softwareis Localised.
Very often translators will make assumptions about words that are capitalised and it canresult in both over translation and under translation depending on the context.
As a Developer, you probably Write a Lot ofCode, and you write Documentation for it, soyou're well able to write. This may be true, but you may not realise that because of yourJob, you've probably developed a peculiar writing Style that afflicts many Programmers,which while it is merely unsettling for Users, can cause serious Problems when your Softwareis Localised.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
93/160
Over-TranslationProduct Names, Registry Keys
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
94/160
Legal Aspects Different Countries Different Laws
German unfair competition LawClaim of superior position My product is the fastest, best, first, #1, ... My company is the world leader in .
Claims about product quality 100% bug free Totally Secure
Should Copyright Symbol be Localized ?
Is = ( c ) ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
95/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
96/160
Some Disputed GesturesThe seemingly innocent thumbs-up gesture C is offensive in Australia.
The thumbs-down gesture D is extremely rude to the locals of the Mexican islands.
Putting your thumb to the side may get you beaten up in Nigeria.
Showing your entire hand with the palm facing out I may mean stop to you but is considered a
serious insult in Greece.Putting your fingers in a circle to indicate O.K. may confuse a variety of people.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
97/160
Which feature of Internationalization deals with
Supporting characters from different languages ?
A. Multilingual userinterface
B. LocalizabilityC. UnicodeD. None of the aboveC. Unicode
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
98/160
Which I18N feature deals with use case ofenabling user to change the Language at a run-time ?
A. Multilingual userinterface
B. LocalizabilityC. UnicodeD. None of the above
A. Multilingual userinterface
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
99/160
Pseudo-Translation Technique can be used to tewhich I18N feature?
A. Multilingual userinterface
B. LocalizabilityC. UnicodeD. None of the above
B. Localizability
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
100/160
Having a consistent Locale model is a key aspectof which I18N feature ?
A. Multilingual userinterface
B. Locale AwarenessC. UnicodeD. None of the above
B. Locale Awareness
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
101/160
Using text in Graphics is
A. Good PracticeB. Not a Good PracticeC. Does not matterD. Should not matter
B. Not a Good Practice
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
102/160
Input Method Editors (IME) are the preferred wayof inputting text in which languages ?
A. Only EuropeanB. Mostly USC. Mostly AsianD. Only MexicoC. Mostly Asian
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
103/160
I18N feature by means of which Applicationfunctionally behave the same across all thesupported languages.
A. Locale awarenessB. LocalizabilityC. UnicodeD. Single base binaryD. Single base binary
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
104/160
GUI 30 percent rule is applicable to which part
of Globalization ?
A. Locale awarenessB. LocalizabilityC. UnicodeD. None of the above
B. Localizability
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
105/160
Part-3: Globalization Test Planning- Finer points
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
106/160
#1. Localized Test data planning- Finer points
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
107/160
Why is Localized Test data planning challenging ? Complexity involving the test data across many languages.
Each language in-turn may consist of literally many writing systems.
Different Languages can literally consist of thousands of characters leading to problem ofchoice.
Unicode can store data differently (UTF-8, UTF-16 etc.) which can add another layer ofcomplexity.
Localized test data depending upon the encoding being used may end up in varying sizes.
The Localized data can be inputted using different means.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
108/160
Why is Euro Language test data different than Asian ?
Citrix Confidential - Do Not Distribute
# of Characters: Asian Languages like Japanese, Chinese and Korean literally havethousands of characters than their more English-like European languages.
# of different Writing Systems: Asian Languages usually constitute of many Writing Systemsas against less complex European languages.
Presence of Symbols: Asian Languages has the presence of more Symbols and they getsused along with other characters.
Variety of Input modes: Asian languages makes use of Input method editors among othercommonly used methods.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
109/160
Language specific Test data- An Approach
Citrix Confidential - Do Not Distribute
Generating the Classes of test data
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
110/160
Example- Spanish Test data- Classes
Citrix Confidential - Do Not Distribute
Capitals:, , , ,,, (commas are only used as separators)
Lower case:,,,,,,
Punctuation:,,,, ,,:
Special Spanish representations:HTML entity codes (HTML entity codes are the codes which allow browsers and screen readers to process data as the appropriatelanguage) e.g. for the character , the HTML entity code is
English Lower case characters:a-z
English Upper case characters:A-Z
Numeric representations:
1,2,3,4....Special characters (EN):~`!@#$%^&*()_+-={}[]|\:;"'.?/
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
111/160
Other Important Considerations
Citrix Confidential - Do Not Distribute
Bytes vs Characters discussion
A Short demo- String Decoder (Available at-http://www.testingmentor.com/tools/generaltools.htm)
Learnings:
Take into Account # of bytes your test data is using based on Encoding used. Very usefulconsideration in deciding Boundary value tests
Also Account for different ways the data can be inputted- Character maps, Copy Paste,Localized Keyboards etc.
Keep varying the Test data in every cycle of testing.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
112/160
Creation of Input field sheet- A good practice
Citrix Confidential - Do Not Distribute
An Example
Microsoft Excel
Worksheet
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
113/160
Accessing and using Character Map
Citrix Confidential - Do Not Distribute
An Example
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
114/160
Japanese Language Fundamentals The Japanese writing system is totally different from English, because it does not use
alphabets.
The modern Japanese writing system uses three main scripts: Kanji, Hiragana andKatakana
Kanji is nothing but the Ideographs from Chinese characters.
Roughly speaking, Kanji represents blocks of meaning (nouns, stems of adjectives andverbs) and hiragana expresses the grammatical relationship between them (endings ofadjectives and verbs, particles). Katakana is used for foreign names, the names offoreign places and words of foreign origin.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
115/160
Japanese Language Fundamentals Here is an example of a newspaper headline (from the Asahi Shimbun on 19 April 2004) that
uses all the scripts: (kanji (red), hiragana (blue), katakana (green)
1m
The same headline, transliterated to the Latin alphabet:
Radokurifu, Marason gorin daihy ni ichi-man mtoru shutsuj ni mo fukumi
The same headline, translated to English:
"Radcliffe to compete in Olympic marathon, also implied to appear in the 10,000 m"
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
116/160
Input Japanese characters using IME IME- Input Method Editors
When an operating system is prepared for use in East Asia, it always has one or more IME'sbuilt in, to make it practical for users to input their characters. However, applicationssometimes provide their own input methods as well, which may provide alternative inputstrategies or which may be better suited to that particular application.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
117/160
Input Japanese characters using IME- Hiragana
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
118/160
Input Japanese characters using IME- Katakana
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
119/160
Input Japanese characters using IME- Kanji
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
120/160
More exercises at- http://www.coscom.co.jp/learnjapanese801/howtotypejapanese.html
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
121/160
Understanding some Problematic characters
Citrix Confidential - Do Not Distribute
ASCII Byte code Character set Characters Alt/IME type input
\ 5C S-JIS hyou, nou, juu, baku, chou,shin, so
~ 7E S-JIS
en, kashi, kyuu, kujira, kou,yoku, mi
^ 5E S-JIS un, kaeru, gi,seki@ 40 S-JIS hana[ 5B S-JIS hyou] 5D S-JIS hyou| 7C S-JIS fu
{ 7B S-JIS fu} 7D S-JIS fuunknown
9870,936B,8367 S-JIS wan, to, to
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
122/160
Some Conclusions around Localized Test data planning Categorize Language specific Test data based on characters as much as possible.
Ensure to pay a special consideration to Byte and Character nuances.
Ensure to utilize all possible ways of Inputting while testing an Application.
Ensure to be aware of historical problematic test data across the languages. ButProblematic test data should be used keeping proper context in mind.
Encorporate Test data Randomization to ensure that adequate mix of test data getstested.
Imbibing variability in Localized test data is key to success in Globalization testing.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
123/160
#2. When is the ideal time to start Globalization ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
124/160
#3. What does a typical Globalization Process look like ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
125/160
Globalization Process- A Birds Eye view
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
126/160
Design
G11n productassessment
G11n rqmtsanalysis
G11n workestimations
Design I18n architecture
Design intl specificfeatures
Consult to product team
Create g11n test plan
Internationalized testautomation
Intl lab procurement / setup
Code i18n arch, intlfeatures
Prepare build system
Prepare localization kit
International feature/functiontesting
Localizability testing
Internationalizationregression testing
Localization testing
IntegrateUI localization
Fix i18n and l10n issues
Create localizationplan
Terminology glossary
T9n automation prep
UI / online help translation
Fix linguistic UI issues
Doc T9n andpublishing
Translation vendor management
Linguistic Q/A
G11n
Dev
Loc
G11nTest
I18n
Complete
Offshore team management
Loc
Complete
Sim-ship
RTMIntl DocRTW
Requirements Design Implementation
FeatureComplete RTM
Integration/ClosedownProductTeam
Globalization Process- with a bit of detail
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
127/160
#4. Globalization Assessment- The Why and How ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
128/160
#4. Globalization Testing- How much is too much ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
129/160
Re-use and customizeproduct teams test cases
Use matrices based onlanguage and code page
Globalization test optimization
Citrix Confidential - Do Not Distribute
Double byte language group Single byte language group
JA SC TC KO DE FR ES RU
Test Case A
Test Case B
Test Case C
Test Case D
Test Case E
25% 60% 15%
~1/3 size of EN
Core (English)
Test Project Size
Globalization
Test Project Size
Relative Test Project Sizes
L10N (UI) Testing
New Feature/Function I18N Testing
I18N Regression Testing
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
130/160
Kanji, Hiragana and Katakana are the writingsystems pertaining to which languages?
A. Traditional ChineseB. KoreanC. Simplified ChineseD. JapaneseD. Japanese
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
131/160
Character Maps and IME and the means to-
A. Input test dataB. Used only for Euro
languagesC. All of the above
D. None of the above
A. Input test data
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
132/160
Part-4: Uncovering myths about Globalization Testing
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
133/160
Myth- It is not possible to find the Localization
bugs before actual translation takes place.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
134/160
80%
T t T ti
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
135/160
Text Truncation
C t l O l i
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
136/160
Control Overlapping
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
137/160
Pseudo translation - Example
Source Text = Enable Session reliability
Issues to look for :
Pseudo translated text = [ nbl Sssn rlblty ]
Hardcoding: Enable Session reliability
Probable Truncation : [ nbl Sssn rlblty
Character Corruption :[|| nbl Sssn rlblty |# ]
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
138/160
Pseudo Translation In Action
Pseudo Translate
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
139/160
Quick demo
World Ready Application Pseudo Translation example
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
140/160
Myth -Security Testing is from Mars andGlobalization testing is from Venus
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
141/160
Threats to International ApplicationsVisual ThreatsNon Visual threats
Visual Threats
Non-Visual ThreatsSecurity considerations based on Functional requirements
Security considerations based on Non-Functional requirements
Is http://www.pypal.com= http://www.paypal.comrn=m in Sanf Serif font
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
142/160
Myth# 3- Globalization testing is only about testing
the UI
Unicode Clean
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
143/160
Unicode Clean
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
144/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
145/160
Myth- If a test case works fine in French language,it will work fine in German language as well
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
146/160
Myth - A person who doesn't know French cannot
test the French version of the Software
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
147/160
Myth- If i don't know French at all, i can stilleffectively test a French application
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
148/160
Myth - Testing International applications using"Microsoft's MUI (Multilingual User Interface) Pack"or "Localized OS installation" means one and the
same thing
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
149/160
Myth -The language verification of User Interfacecan be done by comparing the text on screen withtranslation outputs of any freely available Online
translator.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
150/160
Myth - The test scripts meant for English languageautomated tests cannot be reused for
Internationalization testing
Fi d th i ?
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
151/160
Find the issue?
O t t f A t t d T t
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
152/160
Output from Automated Test
Th hidd t l
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
153/160
The hidden control
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
154/160
Myth: If the Foreign text input in application textfields work fine by using the Soft keys, then it
means the data input through respective Foreign
language key board would also work fine.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
155/160
Myth: Globalization testing doesn't require thesame test setup as is required to do the Base
language testing. Globalization testing can be done
with a minimum test setup.
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
156/160
Myth 12: There is no use testing the Englishversion of a product on Localized Operating
systems
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
157/160
Testing the international applications usingMicrosoft MUI and Localized OS installationmeans one and the same thing ?
A. YesB. NoC. All of the aboveD. None of the above
B. No
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
158/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
159/160
-
8/2/2019 STEPin- Chennai- Globalization Testing Demystified - V2
160/160
http://anujmagazine.blogspot.com
http://handwritinganalyst.blogspot.com