Тестування локалізації, глобалізації та інтернаціоналізації (Localization/ globalization/internatio
Глобалізоване ПЗ - це ПЗ, що функціонує однаково якісно незалежно від географічного, культурного та національного середовища. Тестування глобалізації концентрується на виявленні потенційних проблем у дизайні продукту, які можуть пошкодити глобалізацію. Наприклад, розробник повинен закласти в CSS основу для вертикального тексту, якщо в майбутньому планується локалізувати продукт на мову з вертикальним листом, обробку поштових індексів для різних країн (десь цифри, десь цифри з літерами тощо). Він гарантує, що код може обробляти бажану міжнародну підтримку без порушення будь-якої функціональності. А також, що не буде жодної втрати даних та проблем з відображенням.
Globalization = Internationalization + Localization .
Інтернаціоналізація ПЗ(Internationalization (I18N)) - це особливий процес, при якому веб-софт створюється таким чином, щоб воно було рівновіддаленим від будь-якої культури та (або) специфіки певного географічного регіону. Наприклад, одне із завдань з інтернаціоналізації ПЗ - коректне редагування логіки всіх підключених параметрів форматування (формат дати, часу, цифрове та валютне форматування). Також, тестувальники під час перевірки на відповідність ПЗ вимогам I18N тестують роботу продукту на однакову роботу в різних регіонах та культурах світу. Основним завданням тестування інтернаціональності є перевірка того, чи програмний код може працювати з усією міжнародною підтримкою без порушення функціональності, що може призвести до втрати даних або проблем цілісності інформації. В основному,
Тестування мовної сумісності: це включає перевірку того, чи може продукт правильно працювати у певному мовному середовищі;
Тестування функціональності: це включає виконання регресійних тестів функціональності у різних мовних середовищах та введення рядків рідною мовою. Це включає перевірку того, чи правильно відображається і приймається на введення валюта, дата, час, індекс і т.п.;
Перевірка інтерфейсу користувача: намагається виявити будь-які візуальні проблеми, такі як проблеми з графікою, накладання тексту, усічення тексту і т. д.;
Тестування сумісності: це включає тестування програмного забезпечення на цільових крос-платформах, операційних системах, версіях додатків тощо;
Тестування юзабіліті: перевіряє простоту використання програми;
Тестування установки: це включає спробу встановити програму різними мовами та перевірити, чи правильно відображаються всі повідомлення про встановлення в мовних налаштуваннях;
Локалізація ПЗ (Localization (L10N)) - діяльність з модифікації ПЗ відповідно до певних регіональних налаштувань (мовою, географічною територією, культурними особливостями). Цей вид перевірки включає необхідність виконання робіт з перекладу всього контенту програмного забезпечення для кінцевого користувача. Під час перекладу повинні враховуватись іконки, інформаційна графіка, довідкові матеріали, технічна документація та інші культурні особливості регіонів (наприклад, онлайн-сервіс на замовлення бургерів не показуватиме корову на головній сторінці в Індії чи свиню у мусульманських країнах). На що звернути увагу:
Довжина перекладених слів;
Параметри шрифту інтерфейсу користувача;
Введення тексту у різних локалізаціях;
RTL-мови (справа-ліворуч) або вертикальні;
Переклад скорочень чи абревіатур;
Мета-теги (проблеми із SEO або відображенням імені вкладки (title, description, keywords));
Відповідність заходів обчислення, валюти, postal code тощо;
Приклади перевірок :
Мовний словник : Глобалізований продукт підтримує багато мов. Чим більше мов він підтримує, тим більша потреба у тестуванні. Ви можете використовувати мовні перекладачі і по одному перевіряти, чи додаток використовує правильний словниковий запас для кожної мови;
Інтерфейс користувача: Як ви знаєте, у кожного мовного сценарію свій стиль листа (деякі пишуться зліва направо, а деякі - справа наліво), і простір, необхідний для слів, може змінюватись від однієї мови до іншої. Таким чином, необхідно протестувати макет інтерфейсу користувача на кожній мові, щоб переконатися, що інтерфейс користувача чистий і відсутні такі проблеми, як перекриття тексту, розбіжність тексту, проблеми з навігацією і т. д.;
Позначення дати та часу: Формати відображення дати та часу залежать від регіону. Наприклад, найпоширеніший формат дати в США - мм/дд/мггг. На відміну від цього, найпоширеніший формат дати в Європі – дд/мм/мггг. З іншого боку, Канада приймає як ДД/ММ/РРРР, так і ММ/РД/РРРР. Так само деякі країни використовують 24-годинну нотацію, тоді як інші використовують 12-годинну нотацію. Тому дуже важливо переконатися, що дата та час відображаються у відповідному форматі при переключенні на інші регіони/країни;
Коректність дати/часу: Це не лише формат, але й фактична дата та час варіюються від регіону до регіону залежно від часового поясу. Наприклад, 11:53 суботи за індійським стандартним часом (IST) - 1:23 суботи за східним часом (ET). Отже, необхідно перевірити правильність відображення дати та часу у додатку при переключенні до різних країн;
Формат валюти та обробка курсів конвертації: Якщо ваш додаток включає електронну комерцію, перевірка валюти стає критично важливою. Числові формати валют варіюються від країни до країни. Отже, вам слід подбати про форматування. Ще одна важлива річ – відображати правильний символ валюти разом із одиницями виміру. Наприклад, якщо ціна товару становить 100 рупій, але в додатку він згадується як «100», це може спантеличити покупця, оскільки це 100 рупій або 100 доларів. Наступним важливим тестом має бути підтвердження того, чи подбали про коефіцієнти конверсії. Також рекомендується відображати обмінний курс для користувача, щоб зробити його зручнішим та кориснішим;
Примітка автора: окремий випадок завдання на тестування локалізації в додатках android/ios може бути і в контексті файлів strings, в яких додаток зберігає всі текстові рядки. Рядки можуть бути з параметрами, що динамічно підставляються, щоб вміст рядка динамічно змінювався залежно від чого-небудь. Наприклад: “Ви можете запросити код повторно через %s” або “Закрито”. До відкриття %1$d год.”, У цьому випадку потрібно перевірити переклади на те, що динамічні аргументи в рядках не були зламані перекладачами. Особисто я для цього писав скрипт на python, він є в іншому репозиторії.
Джерела:
Дод. матеріал:
Last updated