I’m working on a global application. What kind of internationalization testing should I do?
Test your application using different languages. Review the languages that your application will be translated into and what languages your application works with for data input, output and processing. I often plan language testing in three categories: a) Latin-based character sets such as English, French and Spanish, b) languages that I think of as more “symbolic” such as Chinese and Japanese, and c) languages that read from right to left.
As for what to look for with different languages, you want to make sure that the application handles processing with different applications, especially if functionality includes import, export, report printing, mobile and any API calls. Issues with data types might be found if the application hasn’t been built to address Unicode characters -- so you might consider reviewing the database schema for the application to see what data types are in use. Also, different languages consume different amounts of space, which can introduce defects in import and export functionality as well as printing reports.
Test your application using different currencies if applicable. As with testing different languages, issues with currency can be introduced. Date formatting and date/time handling is another area to consider -- test in the same areas as you might test for languages. You might consider using personas to test language, dates and currency, by testing with the concept of a being a user in a different country -- where a “different country” is one other than the country you reside in and other than the one in which the application was developed.
Another strategy I recommend is looking to the server logs wherever you can to strategize testing. Just as I plan browser testing based on percentage of use, I may plan language and currency testing based on use -- and that information is usually best and most accurately gained from server logs (as opposed to say, product marketing).
There may be other areas to consider -- communication protocols if in use could vary; operating system usage and mobile device usage do appear to vary significantly based on the user’s country (I say this based on my international test experience -- yours may be different).
I would review the functionality of your application and see where differences might be encountered based on where a user is based. In recent days, I found a user whose experience was different from my own as they were required to connect via a VPN connection which degraded their performance experience considerably. You might consider reaching out to users, reviewing server logs and reviewing past defects reported to incorporate testing ideas that address a global audience.
This was first published in January 2011