Globalization, Internationalization and Localization Testing
Internationalization testing is a software testing method used to ensure that the software application can function in any culture or locale (language, location or code) by testing the software with exhaustive variations of each type of international input. The purpose of globalization testing is to ensure that software can be used globally.
Localization testing is the software testing process for checking the localized version of a product for that location, i.e. a particular locale setting. The areas requiring localization testing are usually UI and content. We test the localized version of the software.
Internationalization and localization are subsets of globalization.
Today the world is a global village. The products are developed in one particular location, undergo a globalization process, are launched in multiple markets and are used in different locations around the world. As a consequence, the need for internationalization and localization process and testing requirements for a product is considerably increased.
Components of globalization testing
What is the difference between localization and internationalization?
Localization is abbreviated as l10n, where 10 is the number of letters between l and n. What comes to mind with localization is that the user interface and documentation of an application are in a specific language or locale. But localization is more than just that.
Difference between localization and internationalization
While testing for localization, we check:
Date
Time
Currency
Keyboard usage
Sorting, aligning and collating data
Colors schemes, symbols and icons
Text and graphics
Diverse legal requirements
The main aim of localization is to make the software look adaptive to the target audience so that it looks like it is specially created to meet their needs.
Internationalization (i18n), typically entails:
Ensuring that without breaking functionality code can handle all international support.
Detecting potential problems in application design that could inhibit globalization.
i18n testing checks the proper functioning of the product, using every type of international input possible. It ensures that without breaking functionality the code can handle all international support. For example, i18N is the process of planning and implementing products and services so that they can easily be adapted to specific languages and cultures.
Internationalization refers to the process of designing, developing and engineering a product that can be adaptable to various locales and regions without any further engineering changes. Internationalization basically consists of the design and development of an application to make it ready for localization.
How do we test an application for globalization?
A typical use case would cover all three:
A typical globalization test case
It is not very easy to cover every scenario and locale when we test an application manually. So, we can also use automation tools like Selenium or Appium to perform internationalization and localization testing.
With the world becoming increasingly smaller in terms of connectivity and app usage, globalization testing ensures that an application can be used on different devices, across different geographical locations and languages, preferences and standards. It's a small world after all!