Presentation on theme: "Globalization Testing- Getting your software World-ready Jaideep Khanduja, Head Quality Assurance G4S IT Services India Pvt. Ltd."— Presentation transcript:
Globalization Testing- Getting your software World-ready Jaideep Khanduja, Head Quality Assurance G4S IT Services India Pvt. Ltd.
Good Afternoon مساء الخير. Goedenavond. Bonne soirée Guten Abend Καλησπέρα ערב טוב Добрый вечер สวัสดี گڈ ایوننگ नमस्ते Selamat malam Iyi geceler
Do you want your Software product to Interact with Global customers like any of the above ? Video 1 Video 2 Bruce Happily
What’s covered in this presentation ? Part-1 –Overview Part-2 –Some real-time myths & challenges Part-3 –Moving Towards Best Practices
Globalization (G11N) Parts of Globalization testing Internationalization (I18N) Localization (L10N) Numeronym game – Digital Corp Jaideep = J5p Jan Scherpenhuizen = Jan S12N
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 so that, the software will behave appropriately based on the locale set /installed to the client machine.
About I18N · 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.
Internationalization (I18N) Locale AwarenessLocalizability Multilingual User Interface (MUI) Components of I18N testing Unicode CleanInput / Output ProcessSingle Base Binary (SBB)
About L10N 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.
Effective Test Strategy and Test Plan for i18n testing: · 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. 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
Example of part of Application not being Unicode Clean
Some questions Can Localization exist successfully in a Software product without Internationalization in place? NO Can Internationalization exist successfully in a Software product without Localization in place? YES Can Globalization exist successfully in a Software product without BOTH in place? NO
Part-2 Myths & Real Life Experience
Myths Myth# 1: Globalization Testing is primarily about testing the User Interface Myth# 2: Globalization Testing can start Only after the base product is Translated Myth# 3: A person who doesn't know French cannot test the French version of the Software Myth# 4: If a test case works fine in French language, it would work fine in German language as well. Myth# 5: The language verification of User Interface can be done by comparing the text on screen with translation outputs of any freely available Online translator
Experiences - I18N –Testing · 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 · Installation testing: Testing to ensure if the product installation messages are displayed in a corresponding language when installing the application on a dedicated server
Experiences - 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. Note: L10N testing is typically done by the native speaker of that specific language
Experiences - Learning · Externalization of strings: No string should be hard wired to the code. It should be externalized to a resource file so that it can be translated to the required language and can be applied during run time. · Date and Time Formatting: Month, Day, Year formats supported as to which comes first · Numeric and Currency formatting: Currency symbols and how grouping the Numbers differ in each country · Collation /Sorting Order: Sorting order will change depending upon the native language. Specific rules will be defined for sorting process, based on the code- page used.
Part-3 Moving Towards Best Practices
When to start Globalization ?
Leverage Virtualized Test Environment Localized versions of Server and Client OS Localized Infrastructure machines (Exchange, Sharepoint etc.) Localized keyboards Localized 3rd party applications to test. Localized test data
Belkin Chevrolet Ericsson European Union Google Ikea Kodak Macromedia Microsoft Nortel Networks Novartis Siemens Unicode Consortium Xerox Yahoo! Facebook Flickr Linked-In Twitter.
Many more companies do rely on Unicode "behind the scenes" – that is, within their content databases. For example, a content database may hold all text in Unicode format; when the content is pulled to the Web server, it is transcoded into the native encoding. Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language.
Internationalized Automation Eliminate the Code debt. Apply the concepts of I18N Software design to Automated scripts –Minimize the UI dependence- Externalize –Data driven –Use Unicode Make the Test scripts, Language, OS, Site dependent to enable simultaneous running.
Pseudo Translation testing What ? Simulation of a localized product How? Pad the English text with localized characters in the resource file Why? Uncover G11N issues using EN build. Minimize the L10N effort involved. Save crucial time at later stages.
آپ کا شکریہ teşekkürler ขอบคุณ Спасибо Terima kasih शुक्रिया Ευχαριστούμε Dank u شكرا Dankie dat jy