23.03.2013 Views

Agile Performance Testing - Testing Experience

Agile Performance Testing - Testing Experience

Agile Performance Testing - Testing Experience

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

With more and more software organizations realizing the importance<br />

of global markets, there has of late been immense focus<br />

on software globalization engineering. In order for the software<br />

product or application to be appropriately globalized, it should<br />

precisely involve software globalization in its design. Introducing<br />

software globalization in the design is usually not as straight-forward<br />

as it may seem. There are many factors including supporting<br />

character sets from the languages all over the world, making the<br />

installer multilingual, making applications locale-aware, actual<br />

translation of User Interface (UI) elements, taking care of many<br />

cultural considerations such as handling of date/time, numeric<br />

formats, currencies and a myriad of other things that change<br />

from one location to another. All in all, it’s a complex activity and<br />

thus software globalization testing also assumes greater importance.<br />

Software globalization testing primarily comprises two different<br />

parts: internationalization testing and localization testing.<br />

Internationalization is planning and implementing products and<br />

services so that they can easily be localized for specific languages<br />

and cultures. So for any product to be successfully localized in different<br />

languages, it is imperative that it has to be internationalized<br />

properly. Internationalization is abbreviated as I18n (where<br />

“18” represents the number of characters between the letters “I”<br />

© iStockphoto.com/Sage78<br />

Moving Globalization Test Quality upstream<br />

using Pseudo Translation Approach by Anuj Magazine<br />

and “n” in the word “Internationalization”) .<br />

Localization is the aspect of development and testing relating to<br />

the translation of software and its presentation to the end user.<br />

Localization is abbreviated as L10n.<br />

Accordingly, the prime charter of I18n testing is to test the changes<br />

introduced in the product as a result of Internationalization<br />

activity. And similarly, L10n testing is done to test the changes introduced<br />

in the product as result of localizing the product.<br />

With this background in mind, let me state the focus area of this<br />

article. This article primarily deals with one of the unique techniques<br />

called “Pseudo Translation” that helps find the globalization-specific<br />

bugs even before the actual translation of products<br />

has taken place. In doing so, it helps to move the quality upstream,<br />

reduce translation costs and, most importantly, helps the<br />

organization to achieve “Simship” (i.e. simultaneously shipping<br />

the product in all the supported languages).<br />

Before we appreciate what pseudo translation is all about, I<br />

would like to explain some of the common issues found during<br />

globalization testing.<br />

Some common bugs found in globalization testing:<br />

Bug type Bug description<br />

Hard coding Externalizing the strings from source code is an important I18n activity. If not done properly, it results in<br />

English language strings even in a product localized in any language, e.g. German etc.<br />

Locale unawareness Making the product locale-aware is again an I18n activity. Being locale-aware means that the product is<br />

able to recognize the underlying OS locale settings, such as language, date/time format, numeric/monetary<br />

formats etc. Locale- unaware products usually tend to display only one format relating to date/time,<br />

numeric etc., irrespective of the language run.<br />

Character corruption -<br />

Question marks<br />

Character corruption -<br />

Random characters<br />

Character corruption -<br />

Font display<br />

Character corruption is usually signified by the incorrect display of localized characters, usually seen as<br />

question marks (???) on the UI. This is typically caused by incorrect Unicode to ANSI conversion.<br />

Another form of character corruption is related to the display of random high ANSI characters (⅓, †, ‰) on<br />

the UI. This is typically caused by wrong code pages being referred to.<br />

Yet another form of character corruption is related to incorrect display of font. Presence of vertical bars,<br />

boxes and tildes (|, o , ~) indicates that the selected font cannot display some of the characters.<br />

UI sizing issues An example of a UI sizing issue is: Let’s say that after the product is localized into a non-English language,<br />

say Japanese, the UI gets distorted in a way that corresponding lines of text are overlapping each other,<br />

leaving the text not fully readable. These types of issues are usually caused by planning insufficient space<br />

in the UI for the localized text.<br />

Text truncation Text truncation is a type of issue which results in either the leading or trailing, horizontal or vertical parts<br />

of text being curtailed, resulting in the UI looking unprofessional.<br />

6 The Magazine for Professional Testers www.testingexperience.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!