Создайте рабочий процесс тестирования локализации приложения Android, который объединяет псевдолокалы, проверки на реальном языке, обзор RTL, OCR, скриншоты и человеческие суждения, не умножая каждый тест на каждую локализацию.

Короткий ответ: автоматизируйте маршрут, просмотрите язык
Надежный рабочий процесс тестирования локализации приложения Android отделяет повторяемую работу устройства от языкового суждения. Автоматическая настройка языка, запуск приложения, навигация, ожидания, скриншоты, проверки известных состояний и сбор доказательств. Сохраняйте качество перевода, тон, культурный смысл, неоднозначную обрезку и визуальный баланс под наблюдением человека. Цель состоит не в том, чтобы проводить все тесты на всех языках. Это создание небольшой, основанной на риске матрицы, которая обнажает сбои, наиболее вероятные для пользователей.
Это важно, потому что дефекты локализации — это не только неправильные слова. Они включают в себя жестко закодированные строки, недостающие ресурсы, расширение текста, сломанные макеты справа налево, неправильные даты или валюту, несоответствие клавиатуры, нечитаемые шрифты, обрезанные кнопки и языковые настройки, которые не сохраняются. АнИнструмент автоматизации AI AndroidОн может помочь повторить видимый маршрут и собрать доказательства, но не может решить, является ли предложение естественным для местного клиента.
Рабочий процесс ниже сочетает в себе официальные функции локализации Android с наблюдаемыми проверками устройств. Он не утверждает, чтоLaiCai Flowзаменяет модульные тесты, тесты Compose, Espresso, UI Automator, Appium, систему управления переводом или обзор на родном языке. Используйте каждый слой для доказательств, которые он производит лучше всего.
Начните с матрицы локализации, а не списка языков.
Список поддерживаемых языков не является планом тестирования. Матрица высвобождения соединяет локальную область с экраном, состоянием устройства, форматом данных, направлением записи и бизнес-рисками, которые делают эту локализацию значимой. Без этого соединения команды часто открывают домашний экран на нескольких языках, делают скриншот и пропускают сбои в оформлении заказа, поиске, восстановлении учетной записи, уведомлениях или настройках.
| Размер матрицы | Выборы представителей | Почему меняется результат |
|---|---|---|
| Форма языка | Английский, немецкий, китайский, тайский | Расширение, плотность, разрыв линий и рендеринг шрифтов различаются |
| Написание направления | LTR, RTL, смешанный контент | Порядок навигации, значки, цифры и пунктуация могут перемещаться неправильно |
| Устройство | Маленький телефон, большой телефон, одно устройство поставщика | Ширина, масштаб шрифта, клавиатура и системный интерфейс различаются |
| Android путь | Системный язык, Android 13+ per-app language, in-app picker | Язык может работать через один путь входа и проваливаться через другой. |
| Тема и государство | Свет, тьма, ошибка, пустота, загрузка | Длинный или переведенный текст часто появляется только во вторичных состояниях. |
| Региональные данные | Дата, время, номер, валюта, адрес, телефон | Правильные слова могут сопровождать неправильный региональный формат |
Выберите базовую локацию, одну тяжелую для расширения, одну компактную или сложную локацию и одну локацию RTL для каждого выпуска. Добавьте специфические для рынка места только к потокам, которые несут материальный бизнес-риск.Android-матрица Firebase Test LabАналогично относится к локальности как к одному измерению наряду с моделью устройства, версией Android и ориентацией; это полезная модель планирования, даже когда вы запускаете проверки на своих устройствах.
Используйте псевдолокалы Android перед переводом
Псевдолокальные системы являются самой дешевой системой раннего предупреждения в рабочем процессе.псевдолокальное руководство Androidописание`en-XA`, который расширяет и акцентирует английский текст, и`ar-XB`которые осуществляют право-левое поведение. Они могут выявить жестко закодированные строки, конкатенацию сломанных строк, давление макета, двунаправленные проблемы с текстом и элементы, которые не отражаются до того, как переводчик доставит окончательную копию.
- Запуск основного пользовательского путешествия в`en-XA`и записывайте каждую строку, которая остается простой английской; она может быть жестко закодирована или за пределами пути ресурсов локализации.
- Повторите то же путешествие в`ar-XB`и проверить порядок навигации, обратные стрелки, вкладки, индикаторы прогресса, смешанные числа и пунктуацию.
- Ошибка захвата, пустое, разрешение, обновление и подтверждение состояний; они менее заметны во время обычного обзора счастливого пути.
- Относитесь к псевдолокальному отказу как к дефекту локализуемости, а не как к доказательству того, что конкретный реальный перевод неверен.
Разработчики также могут проверять выбранные экраны раньше.Документация по локализации AndroidиСоставление Preview ToolingПоддержка локальных предварительных просмотров, включая примеры RTL. Эти последовательные проверки являются быстрыми и должны улавливать проблемы на уровне компонентов до полного рабочего процесса устройства.
Тестирование языкового пути, который пользователи действительно проходят
Переведенного экрана недостаточно, если пользователи не могут выбрать, сохранить или сбросить язык.Языковое руководство для Android per-appAndroid 13 и более поздние версии обеспечивают централизованную настройку системы для предпочтительного языка приложения, в то время как AndroidX поддерживает совместимую обработку локальных приложений на старых версиях. Приложения также могут иметь свой собственный языковой набор. Каждый поддерживаемый путь входа требует небольшого теста перехода состояния.
- Начните с названного чистого состояния: свежая установка, обновленная установка, учетная запись или восстановленное резервное копирование.
- Выберите местоположение через предполагаемую систему или путь в приложении и подтвердите, перезапускает ли приложение, воссоздает ли активность или обновляет.
- Отойдите от настроек и подтвердите, что целевая область отображается на критически важном для бизнеса экране.
- Закройте и повторно откройте приложение, а затем убедитесь, что предпочтение сохраняется.
- Перезагрузите систему по умолчанию и подтвердите, что устаревшие переведенные ресурсы не остаются.
- В старых версиях Android проверьте фактический путь совместимости, а не предполагайте поведение Android 13.
Язык устройств и язык клавиатуры являются отдельными проблемами.Документация BrowserStack по тестированию локализацииИзменение языка на устройстве Android не обязательно меняет язык клавиатуры. Сохраняйте это различие в матрице, чтобы отказ ввода текста не был ошибочно диагностирован как отказ ресурса.
Выбор репрезентативных экранов по риску
Не умножайте каждый существующий сквозной тест на каждую область. Выберите экраны, где локализация изменяет поведение, макет, доверие или деньги. Компактный набор обычно включает в себя вход, вход, домашнюю навигацию, поиск, одну страницу с деталями, одну форму, одну поверхность оплаты или подтверждения, настройки, уведомления и самое важное состояние ошибки.
Приоритетное управление с фиксированной шириной, соседними значками, несколькими переменными, правилами множественного числа, динамическим текстом сервера, компактными картами, нижней навигацией и переведенным текстом по изображениям. Включите один экран с максимально реалистичным контентом, а не только пустые демо-данные. Если ваше приложение поддерживает планшеты, складные файлы или ландшафт, добавьте их только там, где макет действительно меняется.
Дайте каждому выбранному экрану владельца и причину. Например, подтверждение проверки существует для проверки валюты, обертки строк, ярлыков кнопок и юридической копии; экран восстановления учетной записи существует для проверки метода ввода, сообщений об ошибках и двунаправленных адресов электронной почты. Это делает сбои действенными, а не создает папку необъяснимых скриншотов.
Сопоставьте метод доказательства с дефектом локализации
Ни один локатор или метод изображения не доказывает качество локализации. Выберите наименьшее наблюдение, которое может поддержать решение. существующийРуководство по визуальному тестированию Androidобъясняет более широкие различия между состоянием пользовательского интерфейса, OCR, сопоставлением изображений, обнаружением объектов и скриншотами; локализация QA применяет эти методы к языковым рискам.
| дефект или вопрос | Лучшие первые доказательства | Важное ограничение |
|---|---|---|
| Открылся ли ожидаемый экран? | UI дерево или стабильный селектор | Соответствующий элемент не доказывает правильность всей компоновки |
| Видна ли необходимая этикетка? | OCR в ограниченной области | OCR-выход не доказывает грамматику, тон или полное отсутствие обрезания. |
| Появилась известная иконка или диалог? | Соответствие шаблонов | Шаблон может разбивать темы, плотность или переработанный пользовательский интерфейс |
| Полный экран выглядит приемлемым? | Скриншот плюс человеческий обзор | Визуальный обзор медленнее и требует четкого контрольного списка. |
| Использовала ли ценность правильный формат? | Структурированное утверждение, где это возможно; OCR как доказательство | Опубликованный текст сам по себе может не раскрывать основной источник |
| Является ли перевод культурным? | Рецензент родного языка | Автоматизация не может сделать это суждение надежным. |
В нынешнейLaiCai FlowOCR возвращает набор результатов, а не один волшебный ответ. Поток должен выбрать соответствующий сегмент перед сравнением текста или позиции. Аналогично, визуальное совпадение сообщает об известном состоянии; оно не должно быть растянуто на утверждение, что каждый пиксель или предложение являются правильными.
Создайте наблюдаемый поток локализации на реальных устройствах Android
Наблюдаемый визуальный рабочий процесс полезен, когда команде необходимо повторить ту же навигацию на реальных устройствах Android и предоставить рецензенту последовательные доказательства.LaiCai FlowФункция автоматизации внутриLaiCai Screen MirroringОн может организовывать видимые шаги, такие как ожидания, проверки состояния пользовательского интерфейса, OCR, сопоставление шаблонов, скриншоты, условия, ограниченные циклы и явные остановки. TheLaiCai Flowруководствоохватывает рабочий процесс продукта.
- Назовите сборку, устройство, версию Android, локализацию, тему, масштаб шрифта и начальное состояние учетной записи.
- Откройте путь приложения или настроек и используйте явное ожидание перед наблюдениями, зависящими от экрана.
- Перемещайтесь по одной фазе пользовательского уровня за раз, сохраняя технические детали поиска внутри читаемых потоков ребенка, когда путешествие становится сложным.
- Проверьте стабильное состояние экрана перед каждым деструктивным или изменяющим состояние действием.
- Захват требуемого скриншота и любого выбранного результата OCR с помощью локализации и идентификатора экрана.
- Проверьте состояние после навигации, а не предполагайте, что кран удался.
- Остановитесь с доказательствами, когда экран неизвестен; не продолжайте нажимать на неожиданный язык или диалог.
Этот слой дополняет тесты на основе кода. Тесты компонентов и приборов должны иметь собственный поиск ресурсов, логику состояния, семантику доступности и детерминированные утверждения, близкие к приложению. Видимый поток является самым сильным, когда рецензентам поддержки, локализации или выпуска нужен повторяемый маршрут и доступный для человека пакет доказательств. TheAndroid QA тест на дымобеспечивает связанную общую картину.
Дайте RTL и двунаправленному контенту свой собственный тест
RTL не является элементом, который можно добавить в конце контрольного списка скриншотов LTR. Запустите выделенный пропуск с арабским или другим поддерживаемым RTL-локалом и включите контент смешанного направления, такой как адреса электронной почты, номера телефонов, цены, строки версий, URL-адреса, коды и латинские названия брендов. Эти комбинации выявляют пунктуацию и сбои в упорядочивании, которые не может показать полностью переведенный абзац.
- Подтвердите, что навигация, ящики, вкладки, направление движения и указатели направления отражаются только тогда, когда их значение должно отражаться.
- Убедитесь, что номера, единицы, названия продуктов и курсоры ввода остаются читаемыми в предложениях RTL.
- Проверяйте выравнивание в пустых состояниях, диалогах, закусочных, объяснениях разрешений и формируйте сообщения проверки.
- Тестовые свайпы и обратная навигация по поведению, а не по предположению, что каждый жест изменяет направление текста.
- Используйте рецензент родного языка для пунктуации, фразировки, разрывов линий и культурной интерпретации.
Использовать`ar-XB`Чтобы выявить структурные сбои, запустите хотя бы один реальный канал RTL перед выпуском. Псевдолокаль может выявить дефекты зеркалирования, но она не подтверждает типографику или смысл производства арабской копии.
Форматы тестирования, ввод, уведомления и внешние поверхности
Некоторые из самых дорогих сбоев локализации находятся за пределами основного экрана приложения. Добавьте целенаправленные проверки на дату и время, десятичные разделители, размещение валюты, порядок адреса, единицы измерения, номера телефонов, формы множественного числа, ввод клавиатуры, поведение буфера обмена, текст уведомления, глубокие ссылки, веб-контент и любой системный диалог, от которого зависит путешествие.
Запишите, какая локализация управляет каждым значением. Язык приложения, местоположение системы, страна учетной записи, предпочтения сервера, часовой пояс и клавиатура могут не согласиться. Скриншот, показывающий удивительную ценность, является полезным доказательством, но в отчете об ошибке также должны быть названы эти входы, чтобы инженерия могла воспроизвести источник несоответствия.
Относитесь к спискам магазинов и рекламным скриншотам как к отдельной поверхности выпуска. Их текст может поступать из другого хранилища, а их изображения могут генерироваться другим конвейером. Повторно используйте тот же инвентарь экрана и схему именования, но не помечайте приложение, локализованное только потому, что описание магазина переведено.
Держите человеческий обзор там, где автоматизация слаба.
Автоматизация хороша в повторении маршрута и обнаружении известных доказательств. Люди по-прежнему лучше понимают смысл, тон, контекст, культурную форму, визуальную иерархию, юмор, двусмысленность и решают, выглядит ли разрыв линии иначе или на самом деле вредит пониманию. Постройте передачу намеренно, а не рассматривайте ручной обзор как незапланированное исключение.
- Автоматизация: настройка местоположения, запуск, навигация, ожидания, стабильные проверки состояния, выбранное присутствие текста, скриншоты, имена файлов и упаковка доказательств.
- Обзор вручную: смысл перевода, естественность, юридический нюанс, доступность сложных сценариев, неоднозначное усечение, культурная образность и визуальный баланс.
- Эскалация к тестам кода: точное отображение ресурсов, множественная логика, детерминированные функции форматирования и семантика компонентов.
- Эскалация до устройств или рамочных тестов: системные разрешения, кросс-приложение, интеграция клавиатуры и переходы жизненного цикла.
Полезное правило остановки простое: когда видимое состояние не является одним из утвержденных состояний, собрать доказательства и остановиться. Не позволяйте автоматизации продолжаться через неизвестный экран согласия, шаг оплаты, деструктивное действие или нетранслируемый путь системы. TheСравнение инструментов автоматизации AndroidМожет помочь приписать каждое утверждение правильному слою.
Создайте пакет доказательств, на который команда релиза может действовать
Пропуск/провал приборной панели без контекста создает еще одно расследование. Каждый поиск локализации должен идентифицировать сборку, пакет и версию приложения, местоположение и регион, версию Android, устройство и разрешение, масштаб шрифта, тему, начальное состояние, имя экрана, ожидаемый результат, фактический результат и скриншот или выбранное наблюдение, которое поддерживает утверждение.
Используйте стабильные имена файлов, такие как`build-locale-device-screen-state.png`Затем сохраняйте один манифест, который отображает файлы в тестовую матрицу. Отдельное ожидаемое визуальное изменение от дефектов: другой разрыв линии может быть приемлемым, в то время как скрытая цена, недоступная кнопка, обратный знак бренда или пропущенное сообщение об ошибке - нет. Назначьте серьезность воздействия пользователя, а не разность пикселей.
Поскольку ни одно устройство, управляемое LaiCai, не было доступно в контексте текущего поколения, в этой статье описывается рабочий процесс на основе контракта, а не утверждается, что результаты теста для конкретного приложения, устройства или местоположения. Запустите представительный пилот в своей среде перед расширением матрицы.
Android локализация QA релиз контрольный список
- Определите поддерживаемый список локаций, резервную локализацию, пути выбора языка и рынки с высоким риском.
- Беги.`en-XA`и`ar-XB`на репрезентативных экранах до окончательного перевода.
- Проверьте реальное переключение языка в приложении, системе и в приложении, где поддерживается каждый путь.
- Покройте одну область с большим расширением, одну область со сложным сценарием и одну область RTL на маленьком экране.
- Включает ошибки, пустые, загрузки, подтверждения, разрешения, обновления и состояния уведомлений.
- Проверьте региональные форматы, методы ввода, шкалу шрифтов, светлую / темную тему и языковую устойчивость.
- Используйте состояние пользовательского интерфейса, OCR, сопоставление шаблонов, скриншоты и человеческий обзор только для утверждений, которые они могут поддерживать.
- Сохраните именованный пакет доказательств и остановитесь на непризнанных состояниях.
- Рецензент на родном языке одобряет значение, тон, пунктуацию и культурную подгонку.
- Держите основную автоматизацию CTA на странице владельца, осведомленного о местоположении, и используйте вспомогательные руководства для деталей реализации.
Об авторе: развивает ООО "БиПОС"LaiCai Screen Mirroringи егоLaiCai FlowФункция автоматизации. Это руководство основано на текущей документации Android, наблюдаемых методах тестирования локализации и опубликованных данных.LaiCai FlowКонтракт узла. Вопросы о продукте могут быть отправлены черезКомпания LaiCai и страница поддержки.
Источники
- Разработчики Android: Тестируйте свое приложение с помощью псевдолокалов
- Разработчики Android: языковые предпочтения Per-app
- Разработчики Android: локализуйте приложение
- Разработчики Android: предварительный просмотр вашего пользовательского интерфейса с помощью композитных предварительных просмотров
- Firebase: начать тестирование Android с помощью Test Lab
- BrowserStack: тестирование локализации с помощью App Live