In I18N testing, first step is to identify all the textual information in the
system. This includes all the text present on the application�s GUI, any
text/messages that application is producing including error message/warning and
help/documentation etc.
Main focus of the I18N testing is not to find functional defects, but to make
sure that product is ready for the global market. As in other non functional
testing it is assumed that functional testing has been completed and all the
functionality related defects are identified and removed.
I18N testing can be divided in to two parts. First, to make sure that
application�s GUI or functionality will not be broken with the translated text.
Second to make sure that translation of all the strings have happened properly.
This activity is called Translation Verification Testing and is normally
conducted by person who knows the language very well.
To make sure that application�s functionality or GUI will not be broken after
the translation a popular technique known as pseudo-translation is used. In
pseudo-translation instead of translating it completely, it is translated in a
pseudo manner. For example an externalized string �Bad Command� can be
translated in Japanese as [JA XXXXX Bad Command XXXXXX JA]. Now if the product
is launched with locale as Japanese it should show the externalized string as
given above instead of �Bad Command�. There are utilities to do this job for
you, to do pseudo-translation of all the externalized strings of your
application. During pseudo-translation you need to make sure that you are doing
it roughly according to the rule. For example, width is normally expanded up to
forty percent for the pseudo-translated strings as compare to the English.
As stated above, In I18N testing focus is not on the functionality but on the
translation and locale related issues. Once all the externalized strings are
pseudo-translated, you need to make sure that you have test case for every
message or text element present in the system. Once it is done, same set of test
cases can be executed on the properly translated build to make sure that
translation is proper.