Key Considerations In Localization Testing
The spectacular growth of the software industry and globalization has made it easy for software vendors to target the non-English speaking geographies, reach out to a wider audience, and spread their footprint. With wider coverage, software product companies are increasing their chances of capturing a larger market share. Such fantastic plans also come with their own set of challenges. Launching the product in multiple geographies means that the product needs to work flawlessly in various regions from the day of the launch.
Localization testing is the process which enables testing of the software product for adoption and use by the users using different languages and from different regions. It also means testing and ensuring that the product is suitable for use in the particular language as per the local culture and look-and-feel.
Only great translation does not make the product local-ready. In addition to perfect translation, it requires attention to the locale details such as date and time formats, numerical, currency, keyboard usage, symbols, icons, suitable graphics, and other such legal requirements. The primary focus of localization testing is on testing of the features, ensuring accurate rendering of the content, making sure that the user interface is fine, cultural awareness, and country-specific changes such as currency, taxation etc. and data storage. Localization testing is always tricky because while the translators have a great mastery over language, they are not necessarily product experts or testing experts. At the same time, the testers are not language experts.
In this post, let us have a look at some of the key considerations in localization testing.
It is important that the complete scope of testing is rightly identified – this includes the main focus, target languages, required platforms, and more importantly, what is not to be tested. The test case development and testing execution depends on the testing scope and, therefore, it is important to have finality on this.
Test Case Development:
Test case development needs to be done based on the features to be tested as a part of location testing. The test cases should typically include testing of installation/ uninstallation (for desktop-based applications), user interface testing (checking for missing icons, broken text, missing text etc.), and documentation consistency (including online help, manuals, multimedia etc.). The test cases should also include checking of issues which could arise in the product functionality because of localization. For example: the currency symbol placement is different for different currencies, the date and time formats are different, the use of fonts vary as per the language, the use of colors and images change as per the regions, or the keyword usage patterns change as per the regions. The localization testing needs to test for all such aspects so that the users get a feel that the software has been created for them to address their specific needs.
Test Case Management and Defect Reporting:
To ensure that each team testing for different languages does not reinvent the wheel, it is important the test cases and testing data are managed through a centralized platform.
While reporting the defects, the testing team should categorize the bugs as localization bugs or global bugs. Localization bugs are the errors which occur during or because of localization process whereas; the global bugs are reproducible on multiple languages and need to be resolved in the core code.
Role of Automation:
Test automation can be tricky for localization testing and, therefore, it is not always feasible to consider it. However, for legacy software where there is a lot of legacy feature testing required for each release, automation works well from the perspective of cost and time saving. Keyword driven framework, also called as a table-driven framework, is one of the popular methods for automating localization testing. While these frameworks take longer to build, they are automation tool and programming language independent, easy to read and maintain, and scalable.
Mobile App Localization Testing:
The localization testing of mobile apps is more complex than that of standard web applications. Web applications typically work through standard browsers and use keyboard or mouse as input methods. Whereas; for mobile apps, there are multiple operating systems, screen sizes and different input methods like keyboard and touch. Because of the limited screen size, the mobile apps need to make use of the best font in different languages so that the text does not get truncated or misaligned. Most of the languages require around 30% more space than English, and, therefore, user interface testing is very critical. The rules for spelling, upper and lower case conversions are also different based on locale and culture and the app needs to provide a support for those.
Because of the vast number of mobile players in the market, the test bed creation itself is a huge task. For example: In Switzerland, primarily French, German and Italian languages are spoken. The three most widely used mobile operating systems are Android, iOS, and blackberry. Swisscom, Sunrise, and Orange are three main service providers. Considering all these parameters, the localization testing needs to be done for 27 combinations for this one country alone!
As we see, while translation is one of the important aspects of localization, localization testing goes much beyond that. It requires a well-thought out strategy and timely and flawless execution to ensure speedy time-to-market at reduced costs and no defects.