l10n-trainer: a Tool to Assist in the Training of Localization (l10n) and Internationalization (i18n) Testers - Couto, Maria; Miranda, Breno (Anais do Simpósio Brasileiro de Engenharia de Software (SBES); 2023: Anais do XXXVII Simpósio Brasileiro de Engenharia de Software, 2023)
Software companies often undergo the globalization (g11n) process to expand their business and access the global market. This process involves internationalization (i18n) and localization (l10n). Internationalization refers to designing the software such that it can handle multiple languages and cultural conventions, whereas localization adapts a product to meet the specific linguistic and cultural requirements of a particular country or region. The importance of i18n/l10n testing is emphasized by the fact that i18n/l10n failures are easily noticeable by end-users. However, performing i18n/l10n testing is a challenging task, mainly because testers do not have fluency in all of the target languages. Moreover, given the comparatively lower popularity of i18n/l10n compared to other testing strategies, there is a scarcity of comprehensive guidelines and training materials to support the education of novice i18n/l10n testers. In the context of the real industrial setting that motivated this work, the training of novice testers typically involves their active participation in daily activities and the execution of real test suites. The problem with this approach is that very often the software version used during the training phase is stable and the novice testers might complete the training without observing any real i18n/l10n failure. Motivated by this problem, this work introduces a tool designed to assist in the training of novice i18n/l10n testers. Our tool enables trainers to intentionally seed i18n/l10n faults into a selected set of Android applications, which can then be compiled and installed on the trainees’ devices. The fault seeding process can be either manual— trainers have the flexibility to choose which faults to seed and their respective locations— or fully automated— trainers can control the quantity and types of faults while leaving the decision of where to seed the faults to our tool. We conducted a preliminary study to assess the usefulness of our proposed tool during the training of two novice testers who had no prior experience in i18n/l10n testing. The evaluation results demonstrate a positive impact of our tool on the training process: following the training phase, the tester who was first introduced to i18n/l10n failures using our tool was able to find 6 real faults on the real software under test. In contrast, the tester that followed the traditional training approach did not report any faults. Demo video:  https://youtu.be/4oiUf70gcdI Website:  https://raquelcouto.github.io/L10N-TRAINER/ Figshare:  https://figshare.com/s/029f90c767dd4e70e938