Localization Testing is a software testing in which the attributes and properties of the software are tested which counts for the usage of the software in a different environment, culture, country, etc.
The software may be used in different locations. The localization of software is a broader term. It means, how the software behaves in different types of environment. For example, a software interface totally developed in English may not be used in China. A software interfaced for Land may not work in space.
We have to understand the scenario in which the software will be deployed and then only we can customize the software as per the locality.
Let us take an example to make the idea more clear :
The car steering in India is on the left side, whereas, in the western countries, it is on the right side. This is an example of Localization, where due to change in the locality, there are changes in the system's configurations.
Another example may be a bit harder to understand,
Let an internet browser is made, the internet browsing application is developed to work in the land/ground. Now, what are the astronauts wish to use the internet in the space? Moreover, there is no direct internet connectivity into space.
Now, there is KU-Band Antenna in the ISS (International Space Station) which transmits signal for video playback and the data payload. Also, they are not directly connected to the internet but connected to the screen of a computer through SSC(A special kind of application), which in on the Earth.
Therefore, there is a need to develop an internet browser which can be customized for starting the SSC Protocol. This is called Localization.
Let us take another example:
When we open Google, it opens in default English Language and the different language translation is suggested below. We can customize to change the language and use it as we want.
This is also called Localization.
As already mentioned earlier, that software localization is a broader term, we shall see only a handful number of the necessity of localization. They are:
- Required in Bussiness: When a software is developed, it may be developed only to perform a set of tasks for a particular set of users, but the users are located in different locations, belongs to a different culture, etc. Now, the software developers have to take care of whether the software is really meeting the demands.
- In Technology: A software may be developed for naive users, but also, a technical developer may be using the same software for their purpose, therefore, the developer mode is integrated into the software itself. So, that the naive user or can use the software as well the developer for development purpose.
- In different culture: A software may be used in a technical area or maybe in slums. The company should understand that it should be usable by all users. Therefore, different languages other than English is also should be made available into the software.
- Customization: The software should be customized as per the locality of the place it is being used. A software may be installed in a stationary toy which chants holy songs when the power key is turned on. Now people in different religion should be able to customize their own holy song in the device.
- Security: The security issue for different people using the same software is not the same. For example, the operating system used in the cellphone of a president will not be the same as the operating system installed in every people's phone. There should be upgradation in security also.
- Linguistic Aspect: This is a very important thing the software creator should take care of. The software should provide all the necessary accessibility elements like the virtual keyboard in all the languages, etc which make the software usable for everyone from the language level also.
If we keep seeing the necessity of the localization, then the list will go on. Localization Testing is carried from different customer's point of view, and all the above-mentioned reasons are kept in mind during the design of the test case or test scenario for carrying out the localization test.
It is not easy for the developer to understand the customer demands in each corner of the world. To gather all the requirements, there must be a survey for studying customer behavior and analyzing the local demand.
This enables the team to integrate the functionalities and features which are required for the customers for different areas for their customization.
There are different ways through which the different demands of localization can be carried out. Some of them are mentioned below:
- Hiring a local team: A team belonging to a local place can be hired and then the customer behavior of that locality can found out through discussion and that way the new functionalities and features can be through and integrated.
- Releasing a Beta Verison: Releasing a Beta version of the software and providing it to the local firm to check whether there are any changes that are to be made before making the software available into the market.
- Releasing the product directly: Releasing the product directly globally and observing the market behavior. This can be risky at the time, but this is a practical approach to understand the attributes which are required by the customers. For this, the comments, feedback, emails, using rate, download rate, etc are analyzed.
- Deciding everything beforehand: In this approach, all the parameters such as geographical location, culture, religion, etc are studying by the team of experts and then accordingly all the features are integrated into the software before release. This decrease the risk to a huge extent of the software getting rejected.
Below diagram will make the idea clear about localization :
As we have shown in the diagram that the same software can be used by different entities and people. Therefore, the need for localization is maximum.
Localization Testing should not be misunderstood with Globalization Testing. In the Localization, we are concern about developing the product for a targetted audience. On the other hand, Globalization means developing the software so that it can be used across the Globe.
As said earlier, customization can be applied in different areas. We shall discuss some of the areas where localization is mainly applied. They are:
- Currencies: This is one of the factors which has to be taken care of when the software is going to be used in different countries. Not in all kinds of softwares, but in the cases of commercial web applications, currency plays a crucial role.
- Colour Schemes and Symbols: This although seems simple but plays a crucial role in different areas, cultures or ages. Children may use the software' if they find funny symbols in it whether females are inclined towards pink color.
- Input methods: The input method like the virtual keyboard which should be customizable, as there are different languages which are used in different locations.
- Date & Time Format: Date and Time formats are different in different countries. And therefore to make the software usable, the date-time format of the country has to be understood.
- Language: There are numerous languages used all over the world. Therefore it is very necessary that the software is integrated with language change option so that the language can be customized as per the locality or the users.
- Physical aspects: The physical aspects are to be taken care of while the development of the software, the software may be used by blind persons or person with a mental disorder.
- Age: The software may be used by people of different age groups, a small child may not be that smart to unlock a software with pattern and a fingerprint may be a better option. This is also a part of localization.
Classification of Defects
Localization Testing is a software testing type in which those attributes of software is tested, which counts for the usage of the software in different environments.
The concept of localization ranges from different ages, religions, places, etc. This testing is carried out mainly for the software which is launched globally or at least in a national level market.
Localization testing can assure that the software can perform in any place where the minimal configurations for the software, is reached.
There are certain areas which are to be taken care of in localization testing, they are- currencies, languages, date and time format, color, etc.