February 1, 2017
What is Globalization Testing?
Are you working in a multi-national company? Does your company develop software products that target audience from all parts of the globe? If your answer is yes, it means that you are targeting the users who belong to different geographical areas, different time zones, different cultures and different languages.
But how do you test a product that is developed for global audience? What are the specific details that need to be tested for a global product?
If you are looking for the answers to above questions, you have landed at the right place. Globalization testing is performed to ensure that the developed software product meets the requirements of global marketplace.
In this article, we will explain globalisation testing in detail. We will discuss the scenarios where we need to perform globalization testing. In the later section, we will explore the tips and techniques of globalization testing.
Let’s begin from understanding the need of globalization testing.
Globalization of Software
Globalization is the process of international integration arising from the interchange of world views, products, ideas, and other aspects of culture. The idea of globalisation has influenced the software industry too. In the midst of global marketplace, it is becoming increasingly essential to deliver software products which are sensitive to the languages and culture of people belonging to different geographical areas.
Software industry knows no boundaries, unless you are building software for a specific audience. When you develop a web site, an application or a software product it can be distributed all over the internet; people in all parts of the globe have access to internet, and to your website, application or software product. In such scenarios, you are targeting the global audience and this is where globalization of software takes place.
Need for Globalization Testing
Software that is available in the user’s own language and runs on a localized operating system provides a great convenience to the user and represents a huge competitive advantage. Hence, it makes perfect sense to address the market needs by developing a globalized product.
When you don’t use a globalized approach while developing an application, the users might face several issues. It might happen that certain functionalities do not work when you select a different language. For example, a certain functionality was sending input parameter to an API but due to change in language the API did not recognize the input string. Similarly, time zones and date formats are different in different parts of the world.Your application should be capable to display the native time zone and date format. Globalization testing also helps you to identify that there are no hard coded strings in the code.
The aim of globalization testing is to make sure that application is ready for world wide audience in terms of usability, acceptability, reliability, functionality and interoperability.
What is Globalization Testing?
A globalized software has a generic user base. Globalization testing is used to detect potential problems that might inhibit the globalization of the product. A product is said to be globalized if it can be run independent of its geographical and cultural environment. The structure of a globalized product is designed in such a way that code is separated from the messages or information. This gives application the capability to work with multiple languages, without the need of redesigning entire software. A truly globalized product means it works properly according to the design specifications,independent of the application and environment settings.
What needs to be Tested in Globalisation Testing?
Till now, we have grasped the concept of globalisation and understood why globalization testing is important. Now, you must be thinking that what needs to be specifically tested in globalization testing.
Well, here we are! Let’s have a look at the key elements which are commonly present in all web and desktop application. Your globalisation test scenarios must address the following key elements:
‘Language’ is the most important part and challenging part for a globalized product. The more languages you offer in your product, the more testing needs to be performed. You might want to hire translators to ensure the application uses appropriate vocabulary for each language. There are several language translator plugins available that can translate your content into another selected language.These translators are widely accepted and do not need thorough verification of each and every word; however, switching to all languages one by one and taking a brief look at the application is recommended.
Layout of User Interface
When language is switched, it might disturb the layout of user interface. This is particularly important if you are offering languages in which scripts are written in both directions, from left to right and from right to left. For example, the user may switch to Arabic language which reads from right to left. In these cases, you may either want to change the complete layout of user interface or use the same layout and change only the language of content. This is decided in the project requirements.
As a part of globalization testing, you need to verify that the user interface is still clean and good to use when different languages are selected. Another important point is to make sure that navigation still makes sense to the user and is completely aligned with the flow of content.
Although date remains same all across the globe, date formats vary greatly in different parts of the globe. A date has three essential elements – day, month, year. Each region has a different order of writing these three elements in a date. For example, the date format for US is mm/dd/yyyy, whereas in UK date format is dd/mm/yyyy.
It is easy to use words while writing a date and it avoids all confusion. For example, 1st February 2017. However, if you use only numbers in date formats, you have the following options:
The goal of testing date format for a globalized product is to make sure that the date format is automatically changed on the basis of user’s geographical location. It might be linked to the ‘Select Country’ option i.e. when user selects US country, date and time of US region are displayed. It might also be linked with the language settings.
If you don’t have a ‘Select Country’ option, you might also need to test how correctly the application detects the user’s geographical location and changes date format accordingly. Usually, it is synchronized with the user machine’s date settings and picks up the format from there too.
Time of Region
Unlike date, there are only two time formats i.e. 12-hour format and 24-hour format. Usually, there is no issue in the time format; but, the displaying the correct time can be challenging in a globalized product.
We know that different regions occur at different time zones. People living in different timezones should see the corresponding time in the application. A person using your application in Nigeria should see the local time of Nigeria, a person living in Bangladesh should see the local time of Bangladesh and so on.
Time may not be displayed right away in the user interface of your application, but there can be other areas of the application where you might be using ‘time’. For example, your application gives user the ability to see the history of transactions he made, along with details of date and time. In such scenarios, user would comprehend the history more easily if the time of transactions is his local time.
Just like date, time can also be synchronized with the selection of country. If your application has the option to let the user ‘Select Country’, you can set the timezone as soon as the user selects a particular country. However, if your application does not give country selection option, then you can synchronize the date and time with the user system’s date and time. While performing testing, you need to make sure that date and time changes as you change the system’s date and time settings.
Currency handling is particularly important if you are making any application that involves e-commerce. The number formats for currency are also different for different countries.For example, the number format for one thousand two hundred and thirty four point five in England is:1,234.5
But the number format for same amount in Germany is: 1.234,5
If you are developing a website for online shopping, you can give user the option to ‘Select Currency’. If you are not giving currency selection option, make sure that you are displaying the currency name along with the price. If you display numeric price only, the user will get confused. For example, if you display the price of an item as ‘10’. The Indian user wonder if the price for the particular item is 10 Indian Rupee or 10 USD. Hence, you need to test that when application displays the price of item, its price should be displayed with currency, say, 10 USD. This ‘10 USD’ tells the user that the price is 10 US Dollars, and not 10 INR.
The situation becomes difficult when you give ‘Select Currency’ option. Now, consider a scenario where an item was displayed with 10 USD price and the user selects the currency ‘PKR’. What would be the expected behavior to test? Shall the application display price as 10 PKR for the same item? NO! That can be a trap.
Make sure that the conversion rates are also handled when you are handling currency. For the above example, when the user selects PKR as currency; the price should be displayed as 1000 PKR ( assuming that exchange rate is 1 USD= 100 PKR). Notice the major difference in price and you can well imagine the amount of trouble the user might had if the price displayed would be 10 PKR.
From usability point of view, it will be helpful for the user if you display the exchange rates that your application is using. As the exchange rates are dynamic, so make sure that you have a way of accommodating its dynamic nature.
International Input Types
As the name implies, input types also need to be internationalized for your application. Globalization testing checks proper functionality of the product, using every type of international input possible. It ensures that code can handle and interpret all input types without affecting the functionality of product.
You might have experienced while downloading a particular software, the company wants you to sign up by quickly filling up a form. When it comes to enter mobile number, you get confused about the format. How should I enter the number? There can be several options like:
- + 92 300 3224675
- 0300 3224675
- 0300 32 246 75
It is best that you display required format and example for input fields in a balloon pop up, so that the user knows the correct input format.
International input types testing becomes vital if your application or website has forms that need user input. You need to put special testing emphasis on the address, telephone number, zip code fields.
The concept of ‘Localization Testing’ is equally important to understand because it is a part of globalisation testing. You can move to globalization testing, once your application has passed localization tests successfully.
As the name implies, localization testing is performed to check the functionality of the software product for people of a specific location, language and culture i.e. your immediate or local client. The output is a ‘Localized Product’.
For a localized product, you can not say how the product will be accepted by people of a different geographical region.
Globalised software product has become the demand of market. To deliver a quality globalized software product, globalisation testing is performed. The main target of globalization testing is to verify that the software product is good to use in different regions of the world, for people belonging to different cultures and speaking different languages. Keeping these differences in mind, we put emphasis on the various internationalization aspects of the globalised product such as language, time , date format, currency and input types.
Have you performed globalization testing for your product? What were the challenges that you faced? What key elements did you focus in your globalisation testing approach? Do share your experience and let the knowledge spread.