Beruflich Dokumente
Kultur Dokumente
Overall Agenda
Part #1: Globalization Testing Introduction and Basics Part #2: Understanding different components of Globalization Testing Part #3: Globalization Test Planning- The finer points
Click to edit Master subtitle style Part #4: Uncovering some myths about Globalization testing
Do you want your Software product to Interact Click edit Master subtitle style withtoGlobal customers like any of these Images ?
Globalization eras
3.0
2.0
1.0
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
Citrix Confidential - Do Not Distribute
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
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
Citrix Confidential - Do Not Distribute
Language Matters!
Internationalization (I18N)
Click to edit
style
Localization (L10N)
= Jan S12N
About I18N
Internationalization, or I18N, is the process of generalizing a product so that it can handle multiple languages and cultural conventions without the need for re-design. Internationalization takes place at the level of program design.
Click to edit
About L10N
Localization, L10N, involves taking a product and making it linguistically and culturally appropriate to the target locale (country/region and language) where it will be used and sold.
Click to edit
style
UI Layout
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 (internal representation).
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 handlingOverlapping Characters Text Selection Click to edit Master Text Deletion
subtitle style
Special consideration to double byte languages. Overlapping characters are the values that can be mapped to more than one characters depending upon the context in the which they are used (Single byte or Double byte). - 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 trailing byte 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 with double byte languages.
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 double byte character it is placed in between the lead and trail bytes.
Citrix Confidential 2008
- Now with the delete key at the start of the string. The lead byte has been deleted leaving the trail byte(). Always treat the lead and trailing byte of a double-byte character code as one atomic unit
Citrix Confidential 2008
Searching usually has to be performed manually each time. Filters are predefined searches within a program. Some times programs do not take care of accented characters properly e.g. while search for word- Word the program might return- Wrd, Wrd as well. text/International characters properly.
Click to edit Master subtitle style program must take care of foreign Filtering and Searching of a Localized
-
Which languages does your Application Support ? Is there a requirement to test the localized characters beyond the languages that are already supported ? Is the Application Unicode Clean ? If the Application is not Unicode Clean, then what parts of the Application are non-Unicode ? other representation ?
Clickisto edit Master subtitle style Sequences in the Computer ? Is it UTF-8, UTF-16 or How the Unicode data stored in Byte
Does the product support any pre-Unicode code pages ?
implementation
process
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 in a file. Input Processes
Output Processes
Font Independence
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
What is IME ? An IME is a program that allows computer users to enter complex characters and symbols, 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 on standard keyboard. Which languages need IME CCJK (SC, TC, JA and KO)
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 Click to edit Master subtitle style 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 the rendering of text on all supported components. Ensure that UIs of all the supported languages are tested independently in all supported OS/Browser combinations. If the Application has places where the UI dynamically shows data , such areas should be tested.
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 ? Click to edit Master subtitle style Are there any places in the Application where the dynamic text shows up ?
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
Consistent Locale Model Locale based Calendar Locale based Formatting Locale based Sorting
Ensuring different components of the Application follows consistent Locale. Do regional settings, such as paper size, date/time, number and currency formats, reflect the language of localized product by default ? Does the Localized application automatically default to regional settings specified in the Operating System ?
Short Date
Month/Day/Year Day/Month/Year Day.Month.Year
Before Noon
After Noon
1:30 PM 13:30
13:30 13.30
Year/Month/Day
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, Monday should appear in Left most column in the Calendar.
Citrix Confidential 2008
Different Countries have different currencies and Monetary Symbols. Test your program to ensure that all the currencies and their symbols are accepted by Input fields and are displayed properly. Euro Symbol is a Special case. (Rupee Symbol as well)
Testing should ensure that any numerical or Currency value is written correctly as per standards followed in locale under test. Examples 1. In United States, a period is used to represent decimal and a comma is used as thousands separator. E.g. 1,000,000.00 2. In Germany, it is other way around i.e. a comma is used to represent decimal and a period is used as thousands separator. E.g. 1.000.000,00
Examples: Address format for United StatesName Street Number Extra Lines for apartment numbers, Click to edit Master subtitle style Suites, Buildings etc. City, State, Zip code
Address format for JapanPostal Code Prefecture Town Street Number Name
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 Master are up style Click to edit zip codessubtitleto 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 displayed properly.
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 themDIN1, 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.
Date-Time formats
Regional issues
Questions to clarify before testing Does the product supportLocale Awareness different regional settings, such as date/time and currency
formats, calendar standards, decimal separators, paper size standards, measurement, and address 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 format externalized ? If there is a place in Application where one can define App specific Regional settings, does it take precedent over OS specific Regional settings ?
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 language versions, there are no need to maintain separate source codes for development teams and life cycle maintenance. Single Base Binary- Key Aspects
Single edit Master Binary Click to Language Neutralsubtitle style
Application should functionally behave the same across all the supported languages.
Test for Application having only Localized text in the UI- No hard coding. Test for Functionality in the different supported languages. Application functions should behave the same way across the various supported languages.
Questions to clarify before testing Single base exist within the Do the separate code paths specific to languages binary 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 ?
Localizability:
In the application development phase, it is important to identify what needs to be localized and what does not, and then put everything that needs to be localized into separate files, in this way the product is localizable. Localizability testing verifies that you can easily translate the user interface of the program to any target language without re-engineering or modifying code. Localizability testing catches bugs normally found during product localization, so localization of the program is required to complete this test.
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 nontranslatable items ? 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 be adjusted for certain target locales ? Can these components be easily adapted to be more generic ?
Click to edit Master boxes and forms allow for text expansion ? Expansions- Do dialog subtitle style
Multilingual Application =
Language neutral core binary (also SBB) + Set of language specific localized resource files + Logic to dynamically load language specific resources + Language Fallback Logic
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
Citrix Confidential - Do Not Distribute
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
Citrix Confidential - Do Not Distribute
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
Citrix Confidential - Do Not Distribute
An Example
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
Citrix Confidential - Do Not Distribute
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
Citrix Confidential - Do Not Distribute
Source: http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI
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
Text in Graphics
The Code: strHello = ReadString("Welcome"); strMsg = strHello + ", " + UserName; English: Welcome, Anuj Suitable for Japanese ? Other languages have:
Indicating Plurals: Similarly adding "st", "nd" and "th" to numbers will cause the same sort of problems.
Legal Aspects
Different Countries Different Laws German unfair competition Law Claim of superior position My product is the fastest, best, first, #1, ... My company is the world leader in . Claims about Master subtitle Click to edit product quality style 100% bug free Totally Secure Should Copyright Symbol be Localized ?
Showing your entire hand with the palm facing out serious insultedit Master subtitle style Click to in Greece. Putting your fingers in a circle
Which feature of Internationalization deals with Supporting characters from different languages ? Click to edit Master subtitle style
B. C. D.
Pseudo-Translation Technique can be used to test which I18N feature? Click to edit Master subtitle style
Good Practice B. B. Not a Good Practice C. Does not matter D. Should not matter
A.
Click to edit Master subtitle style Part-3: Globalization Test Planning- Finer points
#2. Click to edit Master subtitle style Globalization Process look like ? What does a typical
#3.to edit Master subtitle style Globalization Assessment- The Why and How ? Click
#4. to edit Master subtitle style Globalization Testing- How much is too much ? Click
25%
60%
15%
Double byte language group JA Test Case A Test Case B Test Case C Test Case D Test Case E SC TC KO DE
FR
ES
RU
Citrix Confidential - Do Not Distribute
Re-use and customize product teams test cases Use matrices based on language and code page
CitrixConfidential - Do Not
#5. Localized Test data planning- Finer points Click to edit Master subtitle style
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 of choice. Unicode can store data differently (UTF-8, UTF-16 etc.) which can add another layer of complexity. Localized test data depending upon the encoding being used may end up in varying sizes. The Localized data can be inputted using different means.
# of Characters: Asian Languages like Japanese, Chinese and Korean literally have thousands of characters than their more English-like European languages. # of different Writing Systems: Asian Languages usually constitute of many Writing Systems as against less complex European languages. Presence of Symbols: Asian Languages has the presence of more Symbols and they gets used along with other characters. Variety of Input modes: Asian languages makes use of Input method editors among other commonly used methods.
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 appropriate language) 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): ~`!@#$%^&*()_+-={}[]|\:;"'<,>.?/
Citrix Confidential - Do Not Distribute
Learnings: Take into Account # of bytes your test data is using based on Encoding used. Very useful consideration 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.
An Example
An Example
The Japanese writing system is totally different from English, because it does not use alphabets. The modernJapanese writing systemuses three main scripts: Kanji, Hiragana and Katakana
Kanji is nothing but the Ideographs from Chinese characters. Roughly speaking, Kanji represents blocks of meaning (nouns, stems of adjectives and verbs) and hiragana expresses the grammatical relationship between them (endings of adjectives and verbs,particles). Katakana is used for foreign names, the names of foreign places and words of foreign origin.
Here is an example of a newspaper headline (from theAsahi Shimbunon 19 April 2004) that uses all the scripts: (kanji (red),hiragana (blue),katakana (green)
1 m
The same headline, transliterated to the Latin alphabet: Radokurifu,Marasongorin daihyniichi-manmtorushutsujni mofukumi Click to edit Master subtitle style
The same headline, translated to English: "Radcliffe to compete in Olympic marathon, also implied to appear in the 10,000 m"
IME- Input Method Editors When an operating system is prepared for use in East Asia, it always has one or more IME's built in, to make it practical for users to input their characters. However, applications sometimes provide their own input methods as well, which may provide alternative input strategies or which may be better suited to that particular application.
More exercises at
http://www.coscom.co.jp/learnjapanese801/howtotypejapanese.html
Character set Characters S-JIS S-JIS S-JIS S-JIS S-JIS S-JIS S-JIS S-JIS S-JIS
Citrix Confidential - Do Not Distribute
Alt/IME type input hyou, nou, juu, baku, chou, shin, so en, kashi, kyuu, kujira, kou, yoku, mi un, kaeru, gi,seki hana hyou hyou fu fu fu wan, to, to
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. But Problematic test data should be used keeping proper context in mind. Encorporate Test data Randomization to ensure that adequate mix of test data gets Click to edit Master subtitle style tested. Imbibing variability in Localized test data is key to success in Globalization testing.
A. A. Input test data B. Used only for Euro languages C. All of the above D. None of the above
Click edit Master subtitle style Part-3:toUncovering myths about Globalization Testing
Myth# edit Master not possible to find the Localization Click to 1- It is subtitle style bugs before actual translation takes place.
80%
Text Truncation
Control Overlapping
Hardcoding: Enable
Probable Truncation : [
Quick demo
Myth# 2 -Security Testing is from Mars and Click to edit Master subtitle style Globalization testing is from Venus
Security considerations based on Functional requirements Security considerations based on Non-Functional requirements
Click edit Master subtitle style Myth#to3- Globalization testing is only about testing the UI
Unicode Clean
Hard coding
works fine in French language, it will work fine in German language as well
doesn't know French cannot test the French version of the Software
Myth# 6- If i subtitle style dont know French at all, i can still Click to edit Master effectively test a French application
Myth# edit - Testing International applications using 7 Master subtitle style Click to "Microsoft's MUI (Multilingual User Interface) Pack" or "Localized OS installation" means one and the same thing
Myth# 8 -The language verification of User Click to edit Master subtitle style Interface can be done by comparing the text on screen with translation outputs of any freely available Online translator.
Myth# 9 -The test scripts meant for English Click to edit Master subtitle style language automated tests cannot be reused for Internationalization testing
Myth 10: If the Foreign text input in application text fieldsMaster subtitle style using the Soft keys, then it Click to edit work fine by means the data input through respective Foreign language key board would also work fine.
Myth 11: Globalization testing doesn't require the same test setup as Click to edit Master subtitle styleis required to do the Base language testing. Globalization testing can be done with a minimum test setup.
Myth 12: There is no use testing the English Click to edit Mastera product on Localized Operating version of subtitle style systems
Yes B. B. This statement is not true C. All of the above D. None of the above
A.
References
http://msdn.microsoft.com/hi-in/goglobal/dd218459(en-us).aspx?ppud=4#FundamentalconceptsofMUI http://www.unicode.org http://www.testingmentor.com/imtesty/ http://www.4freeessays.com/essays/1848.shtml http://anujmagazine.blogspot.com http://japanese.about.com/od/introductoryjapaneselesso/a/blank3.htm http://en.wikipedia.org/wiki/Japanese_writing_system http://msdn.microsoft.com/en-us/goglobal/bb688135 Click to edit Master subtitle style http://www.coscom.co.jp/learnjapanese801/howtotypejapanese.htm http://www.coscom.co.jp/learnjapanese801/howtotypejapanese.html http://blog2best.blogspot.com Microsoft PPT- Windows 7 PC52 PPT http://channel9.msdn.com/blogs/pdc2008/pc52 Experience and Anecdotes from real-life experience in my current (Citrix) and past Organizations (McAfee). Books: The World is Flat by Thomas Friedman
Back-up Slides
Vista
MUI technology introduced with Win 2K Win 2K MUI Pack Localization coverage ~ 90% Many visible UI strings in English e.g. Start Menu Files and folder created during setup in English
Win XP MUI Pack Available for both Win 32 and Win 64 Contains 6 CDs (Win XP EN + 5 MUI Pack localized resources and muisetup program) Install English version first and then the MUI pack Win 9X, Win ME, Win XP Home Windows Platforms do not support MUI