Internationalization is the process where the code of the software is modified so that it is completely independent of any culture specific information. The hard –coded strings of the software will be pulled out and stored in external files that are called as resource bundles and these will load at runtime. I18n process typically involves the following tasks. · Externalizing of strings, graphics, icons, texts etc. · Selecting code page and defining code page conversions · Modifying all the text manipulation functions to be aware of the code page. · Changing the logic of all the formatting functions (Date, Time, Currency, Numeric, etc) · Changing the Collation /sorting functions Note: Code page is nothing but assigning a specific number to each character in a language in order to handle text. It is a mapping table of characters to its numeric value. ASCII is a good example of code page.
Localization It is the process of customizing the software product for each language that is to be supported. It is the aspect of development and testing relating to the translation of the software and its presentation to the end user. It includes translating the program, choosing the appropriate icons and graphics and other cultural considerations. It also may include the translation of help files and documentation. Localization is abbreviated as L10N, which means that ‘L’ and ‘N’ are separated by 10 characters.
Effective Test Strategy and Test Plan for i18n testing: Simultaneous release is important in a world where, instant communication is needed worldwide. In order to maximize the market benefit, and to show of commitment to regional markets, clients would want to release their product to multiple markets, on time, simultaneously. In consideration of this, the test plan and strategy should focus on · Kick start of I18n and L10N testing since day one, the day when the regular testing starts on base product (English) · Defining a suitable strategy for i18n testing to pull out all i18n related critical bugs at the outset. · Planning to fix, regress the bugs and its impact on i18n environment since outset. As a result, a flawless product can be released to multiple markets, simultaneously.
Test Approach would cover the following: · Resource Bundle loading from server pertaining to the locale setting · User Interface display pertaining to the locale setting · Culture specific date, time, monetary formats, collate and sorting order, numeric, · Customized colors and fonts on the web server (web –based application) · Language specific character set render · Technology specific i18n support validation · Product stability by validating functionalities and business rules
Test case and Test data design: Verify the Language specific translated string or resource files are loaded by the application, depending on the current language and locale settings (client O/S) · Verify the Language specific translated strings rendered on user interface and error messages. · Verify the culture specific Date /time, sort order, numeric and monetary formats, collate and sort are displayed according to locale. · Verify the customized colors and fonts on the web server (Globalization) · Verify the product stability by inputting various test data specific to required language · Glossaries are available for reference and check. · Time and date is properly formatted for target region. · Phone number formats are proper to target region. · Currency for the target region. · Is the License and Rules obeying the current website(region). · Text Content Layout in the pages are error-free, font independence and line alignments. · Special characters, hyperlinks and hotkeys functionality. · Validation Message for Input Fields. · The generated build includes all the necessary files. · The localized screen has the same type of elements and numbers as that of the source product. · Ensure the localized user interface of software or web applications compares to the source user interface in the target · operating systems and user environments.
Test Environment: The test bed can be set based on the client’s requirements. A dedicated server, data base and clients versions are used in the specific language for setting up a test environment. OR a common server with data base can be set up with multiple clients. Please refer the following pictures
illustrates a web based i18n test environment
I18N and L10N –Testing I18N –Testing The focus of i18n testing is as follows: · Compatibility testing: Testing the product for language compatibility, this includes testing the product behavior in identifying and initializing from its language environment and its ability to customize to that environment. · Functionality testing: Functionality testing is the core area of i18n testing .It typically includes running the whole functionality regression test on different language environments and exercising the interface with native language strings. It involves verifying the culture specific information such as date/time display. · User interface Validation: To check for visual problems such as text truncation or overlap, graphics issues or other visual problems. · Interoperability testing: It ensures that the software interacts properly with targeted platforms, operating systems, applications (and versions) and so on. · Usability testing: It evaluates the ease of use of the system (optional) · Installation testing: Testing to ensure if the product installation messages are displayed in a corresponding language when installing the application on a dedicated server L10N Testing Localization testing is a language verification testing mainly focusing on the appropriateness of the translation in the following items. · GUI context · Online help files · Error messages, Dialog boxes · Tutorials/Readme files · Documents such as User manual, Installation guide, Release notes etc, Testing also involves in checking the GUI layout, and making sure nothing is truncated in the UI and Correctness and consistency of the Error messages I18N testing - Check List
For the software used in different countries or regions of the world, it must be adapted to the specific language of the country or region, regional customs and cultural sensitivities. This type of testing, localization testing, ensures that the software can be used properly in different regions. This includes 3 main aspects.
Functionality: Issues that primarily affect functionality or localizability. Linguistics: Issues relating directly to the translation of the product’s resource strings or text. User Interface: Issues that primarily affect feature usability or UI aesthetic quality.
Build verification testing should be performed before QA starts with any detailed testing. Upgrades and installation need to be run in the localized environment.
Here are some of the sample test cases for Localization. The following checklist helps you to validate during your regression testing
Does Date and Time are properly formatted for target region ? (Format separators must work appropriately (eg. Hh:mm:ss)
Does Phone number, Zip Code and address formats are proper to target region?
Does Currency (decimal separators, grouping of digits etc.) for the target region and accessible by the users of the targeted region?
Check for any text that may not get truncated and shown ellipse at appropriate places?
Does Font support and line alignment there for target region?
Is the License and Rules obeying for target region?
Does Search and filter functions perform as expected for target region?
Does Spelling and sorting rules, upper- and lower-case conversations are shown as per target region?
Does online help files and user manuals which have linked them to the application shown with target region?
Does Text Content Layout in the pages are error-free?
Do Special characters, hyperlinks and Shortcut, hotkeys functionality work correctly for target region?
Is Appropriate error and warning messages displayed when an issue occurs, like validation error?
Is Appropriate success messages displayed when successfully submitted/performed?
Does UI action symbols (question mark, stop symbol, file, save symbol) know within the target region?
Does translation regularly updated for new features in UI for the target region?
Does Writing directions shown as per target region?
Check there should not be any truncation and garbage characters anywhere in the application?
Check there are no missing menus, strings, or stretched dialog?
Does Weights and measures shown for target region?
Check Keyboard usage and shortcuts perform after language change
Check Sorting, aligning and collating data after language change
Check software defaults to English if no language is set in the config file
Check Menus in the menu bar function properly
Check Dialog boxes with titles, buttons and help messages reflected the appropriate tasks to be performed?
Toolbars (tooltip for tools in Toolbar) are shown with the target region?
Status info in Status bar is shown with target region?
Check More characters are supported between label and control to accommodate for target region (in some languages words are longer than others) ?
Check the maximum size of nchar and nvarchar is 4000 but for char and varchar is 8000