The aim of globalization testing is to provide complete stability of software functioning not only in terms of its software integrity. It’s also important for software using in different geographical and cultural places of our planet.
Amid the fast-growing collaboration of nations, cultures, and states and as a result of growing international trade, the popularity of globalized software on the IT market has grown dramatically. And here the globalization testing appears.
This article is dedicated to analyzing the term of “globalization testing”, highlighting its main needs, strong places and also we will show an algorithm of its correct implementation.
What is a Globalized software
Before we move to direct analysis of peculiarities of globalization testing, we should explain the term “globalization testing”.
Globalized software is such software that functions regardless of the geographical, culture and national environment. Many of us saw and used some examples of such applications and programs in everyday life.
The most popular example of such software is the Facebook social network. This product has the features of the language set, hence can be used in many regional groups all over the world.
For example, if Indian user wishes to sign in to Facebook, he/she can choose from English, Hindi, Bangla, Gujarati, and Panjabi. African user can use Facebook in French in the same way as a resident from Marseille or Paris.
This means that depending on the location, you can choose a language as you wish and use Facebook without any limitations.
What is Globalization Testing
It’s such a metric that can check the technical capability of web software to be user-friendly worldwide or in certain regions.
The aim of globalization testing is to find potential issues which can prevent an app from being globalized while creating the software design.
Why We Should Test the Globalization
Our world is a global village. If you want to have corporate and financial success, you should create and promote exclusively competitive software which has multiple languages and is available in different countries of the world.
For example, all Indian zip codes consist of 6 digits. This means that while developing a multi-national software, you should take into account the fact that if a user chooses India as his/her location then when he/she enters the regional PIN code, the system must accept only 6-digit code. But if you are from Canada, then zip codes comprise 6 alphabetic-numeric characters.
In this case, you should test the work of the application for the correctness of entering a zip code according to the Canadian type of zip code.
To sum up, we should admit that it’s important to be sure that the programmed functionality works correctly according to the chosen locale.
Consequently, it’s crucial to perform thorough globalization testing which can help to get rid of all potential issues, more or less connected with the peculiarities of geographical regions. Also, such actions can help us to be sure that the structure of the software doesn’t include old coding.
Types of Globalization Testing
This type of software functional testing can be divided into 2 equal parts:
- Internationalization testing (aka 118N testing);
- Localization testing (aka L10N testing).
Software internationalization is a special process where web software is created in such a way that it will be equally far from any culture and/or specificity of a particular geographical region.
For example, one of the tasks of software internationalization is the correct editing of the logic of all connected editing options (data format, time, digital and currency editing).
Also, while checking if the software meets the 118N testing requirements, testers test the work of a product for the equitability of work in different regions and cultures of the world.
The main task of internationalization testing is testing if a program code can work with complete international support not breaking the functionality as this can lead to data loss or issues with information integrity.
Basically, internationalization testing is aimed at:
- Testing language compatibility. It tests if a web product can properly work in a particular language environment;
- Testing the functionality: complete executing of the regression tests in various language environments (correct displaying of the specific information – date, time and currency);
- Testing the correctness of displaying of a graphical interface;
- Testing the usability: testing the simplicity of using the software on different operational systems, various devices, etc.
The localization is a way of modifying the software according to a particular locale (language, geographical territory, coding, etc.), which should work smoothly.
This type of testing includes the necessity to translate the whole content of the software for an end-user. During the translation, we should take into account the icons, informational graphics, references, technical documents and other cultural peculiarities of the regions which will have access to this software in the future.
Approach to Globalization Testing
While performing general testing of software, we should choose some parts for globalization. After this, a test suite is created and a server with a few locales (the client’s one) is located to make the correctness of testing completely close to a real environment of the developed product.
Right after finding a bug or technical inconsistency, we should fix the globalization defects. It’s recommended to primarily plan the sprint for bug fixing and also schedule the time for regression globalization testing.
What Should Be Tested
While performing globalization testing of the software, you should perform numerous actions. But we can highlight the main tasks.
- Language Vocabulary
Any globalized web product should support multiple languages. The more languages it supports, the more necessary is to perform the corresponding type of testing.
In this case, we can use language dictionaries and perform tests to see if a web product supports the corresponding vocabulary of a selected language. Anyway, it’s recommended to alternately switch the functionality of the language versions, to quickly find a possible language inconsistency.
- User Interface
As you know, every language has its style of writing (some are written left-to-right and some – right-to-left), and the space needed for writing the words can vary depending on the language.
Therefore, we should test the correctness of displaying the structure of the user interface on every language used in the software, in order to be sure that there are no visual issues and an interface is clear and user-friendly.
- Date & Time Notation
It’s clear that the date and time format can be very different in various geographical regions.
We should thoroughly test the correctness of date display, especially if the software has to be used in the countries which have the dd/mm/yyyy and (or) mm/dd/yyyy format.
- Date/Time correctness
Not only a date but a time format also can vary depending on a region and time zone.
For example, on Saturday 11:53 a.m. an Indian time (IST) will be 1:23 a.m. ET.
Therefore, it’s necessary to test if a date and time are displayed correctly in the application after switching between different time zones.
The Check-List of Issues for Globalization Testing
Now we will show a check-list to perform such a type of testing:
- All configured test environments function correctly, according to the established rules;
- We should check if the used database is compatible with Unicode;
- If a code has the strictly coded lines of program code or no;
- If a tested locale is established on a client’s server or no;
- If all test suites have necessary files with language features;
- If a graphical interface is displayed in a client’s native language;
- English is a displaying language by default when a particular locale is not selected or when a file with language features is not available in a resource package;
- Check if an application can process a wide range of data, such as a set of symbols of a native language, ASCII symbols, special symbols, etc.;
- The currencies are displayed correctly;
- The phone numbers and pin codes are displayed and validated in a correct numeric format;
- If all inputs and outputs of functions have been thoroughly tested;
- If the overlapping graphical blocks and text symbols are displayed on a screen;
- If user manuals/help files are displayed in a user’s native language according to his/her locale.
To conclude, we should mention that globalization testing is important to make global products highly-qualitative in a global sense.
One of the advantages of globalization and internationalization testing of the software is that we can test almost all functions, hence, catch dozens of bugs that have been missed previously.