Тестирование локализации, глобализации и интернационализации (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 долларов. Следующим важным тестом должно быть подтверждение того, позаботились ли о коэффициентах конверсии. Также рекомендуется отображать обменный курс для пользователя, чтобы сделать его более удобным и полезным;

  • Формат номера телефона, адреса и почтового индекса: Порядок отображения адресов зависит от языка. Например, на японском языке порядок адресов - это почтовый индекс, штат, город, а на английском языке порядок адресов - это имя, город, штат, почтовый индекс и т. д. Итак, вам необходимо проверить, нормально ли работает отображение порядка адресов при переключении между разными языками, поддерживаемыми вашим приложением. Точно так же длина и формат телефонного номера также различаются от страны к стране. В наши дни у нас также есть рекомендация E.164 для форматирования чисел в соответствии с общей международной нотацией;

Примечание автора: частный случай задачи на тестирование локализации в android/ios приложениях может быть и в контексте файлов strings, в которых приложение хранит все текстовые строки. Строки могут быть с динамически подставляемыми параметрами чтобы содержимое строки динамически изменялось в зависимости от чего-либо. Например: “Вы сможете запросить код повторно через %s” или “Закрыто. До открытия %1$d ч.”, В данном случае потребуется проверить переводы на предмет того, что динамические аргументы в строках не были сломаны переводчиками. Лично я для этого писал скрипт на python, он есть в другом репозитории.

Источники:

Доп. материал:

Last updated