Internationalization testing is a non-functional testing technique. It is a process of designing a software application that can be adapted to various languages and regions without any changes.
Localization, internationalization and globalization are highly interrelated.
Localization is the process of adapting a product or content to a specific locale or market. Localization is sometimes written as l10n, where 10 is the number of letters between l and n. The aim of localization is to give a product the look and feel of having been created specifically for a target market, no matter their language, culture, or location.
Internationalization is a design process that ensures a product (usually a software application) can be adapted to various languages and regions without requiring engineering changes to the source code. Think of internationalization as readiness for localization. Internationalization is often written i18n, where 18 is the number of letters between i and n in the English word.
Globalization, in the context of the language industry, refers to a broad range of processes necessary to prepare and launch products and activities internationally. Sometimes written g11n, globalization is an all-encompassing concept which applies to activities such as multilingual communication, global-readiness of products and services, and processes and policies related to international trade, commerce, education, and more.
Globalization testing is achieved only when internationalization testing is successful and internationalization testing is achieved only when localization testing is successful.
“Google Search Engine” has been taken as an example to explain localization, internationalization.
Initially, Google developed the search engine in its own native language (English), culture and desired local “look and feel”. The following image shows the Google search engine designed for USA.
As people are more comfortable in their native language, Google designed and developed its search products around the local geography, culture and language. Google is now available in 123 languages and has been localized completely or partially for many countries.
The Google search engine for “India” has been developed in English along with 9 popular and widely spoken languages of the country. By selecting any one of the specific language, the entire design of the page will be changed based on the language selected.
Thus in order to achieve the globalized standard and to make the software user-friendly, Internationalization testing has to be performed and it plays a major role.
Need For Internationalization (i18n) Testing:
If internationalization testing is not performed,
- it may have an adverse impact on product quality.
- the software may lack encoding of characters when converted to different languages.
- the software may crash or malfunction if the string is not supported in targeted languages.
- the font and font size may vary from language to language affecting the ‘look and feel’ of the application.
- it may not reach to intended audience.
Internationalization (i18n) Testing at Front end:
To perform internationalization testing, the testers have to focus on -Language, Culture, and Region, Dates and Important events.
- First testing should be done on a user interface such as alignment of texts, menus, buttons, dialog boxes, images, toolbar, prompt and alert messages.
- Second testing on content localization and feature should be performed on language specific properties files and on the region where the particular feature is enabled or disabled.
- Third locale/culture awareness testing should be performed on dates & number formats such as currencies, calendars, time, telephone number, zip code, etc.
- Finally testing on file transfer and rendering should be performed to make sure whether the file transfers are successful and to check whether the scripts supported to the website are correctly displayed.
The above steps, at a high level, covers front end testing.
Internationalization (i18n) Testing at Back end:
This process involves enabling the back end of a website to handle character encoding, form data submission, different languages and currencies and site search.
Testing at the back end requires an understanding of Content Management System (CMS) that is used to store, author and publish content on the websites. Thorough understanding of the database is highly important for testing at the back end.
Recent version of databases and Content Management System are already internationalized.
Advantages of Internationalization (i18n) Testing:
- Easier adaptation of software applications (or other content) to multiple locales
- Reduced time and cost for localization
- Single, internationalized source code for all versions of the product
- Simpler maintenance
- Improved quality and code architecture
- Reduced overall cost of ownership of the multiple versions of the product
- Adherence to international standards
Internationalization is a critical business process for any company producing multilingual products. It is important to consider the various markets a product will target and make the necessary adaptations early in product design and development.
When done right, i18n makes subsequent localization tasks much easier, faster, and less expensive.