Internationalization (I18N)
Sufficiency Testing
Presented to Seattle Area Software
Quality Assurance Group
June 19 , 2003
SASQAG: Internationalization Testing
What We Will Cover
 Globalization and Its Components
 Pre-Testing Checks
 Test Environments
 Test Checklists
 Test Execution
 Pseudo Localization Testing
SASQAG: Internationalization Testing
 Globalization
• The process of designing, developing, and engineering products that can be
launched worldwide
• Two major Components – Internationalization & Localization
• Internationalization (I18N)
– Designing/developing software so it can be adapted to
various locales and regions
• Localization (L10N)
– Process of adapting software by translating text and
adding locale –specific components
 I18N Sufficiency Testing
• Ensures software has been properly internationalized according to design rules
and is READY to be localized.
SASQAG: Internationalization Testing
Benefits of I18N Testing
 The main goal of I18N testing is to find potentially show stopping software
problems before the application is translated and localized into various
 I18N sufficiency testing must begin as early in the testing cycle as possible
 I18N sufficiency testing does not require an in-depth knowledge of many
locale specific issues, a fully localized environment, or native linguistic
SASQAG: Internationalization Testing
Pre-Testing Checklist
 Step 1: Review developmental specs to determine whether they accounted
for international considerations
• Code review
• English language compatibility?
• DB or Unicode enabled from the ground up?
 Product Rules
• Menu and dialogue box designs; Did they leave room for text expansion?
 Source Code Control Rules
• All editions are using Unicode and/or DBCS based on a single executable
 Coding Conventions
• Code should NOT assume that characters are 8 or 16 bit
SASQAG: Internationalization Testing
Setting Up Your Test Environment
 Step 1: Prepare the required SW and HW
• Localized Operating Systems
• Localized HW
• Localized third party SW utilized by the product you are testing
• Verify that the network/HW peripherals that are needed to run the product are
capable of running in a multi-locale environment
 Step 2: Install the Environment
 Step 3: Configure the Environment
• Setting up machines for multi-boot
• Using test bed images
• Managing the test bed matrix
• Maintain an English Reference Environment (Whenever Possible)
SASQAG: Internationalization Testing
Setting up Your Test Environment Continued
 Step 4: Define the Configuration Management Process
• Document the configuration of each machine in the environment to ensure that
you are using the right products to test your application
• Detail the process for saving and restoring the multi-boot and test bed
SASQAG: Internationalization Testing
Test Checklist
 Items needed to Create the I18N Test Plan
• Installation/Configuration Guides
• English test plan and test cases
• Online Help/User Guides
 During Test Plan Creation ensure that you:
• Check all areas in which a user can enter, modify, print, edit, or copy data
• Create test cases to verify that target language characters can be correctly
entered and displayed
• Build in non English data and environment testing
• Verify that a user can read/write to the target platform file system
 Set Up a Testing Priority Level
• Types of testing (I18N, LVT, etc.)
• Categories (documentation, help files, screen shots, etc.)
• Locale Priority ( i.e Chinese then French)
SASQAG: Internationalization Testing
Test Checklist Part 2
 Testing Team and Development Team Interaction
• It is important for Test Engineers to understand the scope of any code changes
made by the development team
• For example, areas of the code that are unchanged during I18N should have
less emphasis during the test phase
SASQAG: Internationalization Testing
Test Execution
 1. International Setup Testing
• Installer Issues
 2. Testing International Character/Text Support
• Edit fields can display extended/multi-byte characters
• Cut/Copy/Paste/Drag extended character testing
• Euro Symbol Testing
• Unicode Character testing
• IME Testing
 3. Files can be saved with extended ASCII and multi-byte character names
 4. Files named with extended ASCII and multi-byte characters can be
opened or deleted
SASQAG: Internationalization Testing
Test Execution Part 2
 5. Files or OLE objects named with extended and multi-byte characters
can be cut, copied, pasted, and embedded in documents or other
 6. Files named with and containing extended ASCII and multi-byte
characters can be printed
 7. Testing Internationally Local Conventions
• Time/date settings
• Currency testing
• Sort order/Collation
• Address/name fields
 8. Other considerations
• Geopolitical issues/locale-sensitive issues
SASQAG: Internationalization Testing
Pseudo Localization Testing
 Pseudo Localization is a process to ensure that three main issues are
covered within a software product UI.
Non Extracted Strings (hard coded strings)
Concatenated Strings
 Pseudo-localization simulates the process of localizing products, by
completing many of the localization tasks without actually using
 Also called Localizability Process
SASQAG: Internationalization Testing
Pseudo Loc FAQs
 When do you perform Pseudo Loc?
• During core code development prior to localization
• Typically multiple cycles
 How do you perform Pseudo Loc?
• Extract the strings into a resource file
• Add extended characters to simulate European and Asian languages
SASQAG: Internationalization Testing
An Example of Pseudo Localization
SASQAG: Internationalization Testing
Questions and Answers
 Conclusions
 Questions Anyone?
• I may have an answer
• I may also have a heart attack
SASQAG: Internationalization Testing
Thank You and Resources
 Thanks SASQAG for asking me to come here tonight
 White Papers available on our website,
 If you have additional questions, I can be reached at [email protected]