Как тестировать переводы на многоязычных платформах

  1. В чем проблема? Во время функционального и нефункционального тестирования тестер может столкнуться...
  2. Testujmy!
  3. Новая платформа
  4. Новые проблемы, новые решения
  5. Это конец?

В чем проблема?

Во время функционального и нефункционального тестирования тестер может столкнуться с множеством различных проблем. Неуказанные требования, проблемы производительности и удобства использования являются типичными примерами таких проблем. Каждый хочет, чтобы веб-сайты или приложения были «удобными для пользователя», то есть простыми в использовании и обслуживании. Вопрос в том, как достичь этой цели, когда вам нужно проверить несколько страниц и мобильное приложение для разных языковых версий.

Это было серьезной проблемой для нашего авиационного проекта. Нам пришлось проверить семь разных языков: английский, испанский, немецкий, греческий, итальянский, французский и португальский. Представьте, что вам нужно просмотреть сотни страниц и нажать сотни кнопок, протестировать их на устройствах с различным разрешением (страницы реагируют) и включить все ошибки и проверки. Не забудьте о мобильном приложении и множестве разных устройств, на которые пользователи могут его установить. И мы все еще говорим о языках!

Определите проблемную область

Сначала мы должны были выбрать тактику, потому что было бы невозможно протестировать все языки на каждой подстранице. Когда команда QA присоединилась к проекту, веб-сайт уже был внедрен и поддерживал все упомянутые языки. Разработчики добавили лишь несколько дополнительных функций, поэтому тестировщики могли легко проверить эти функции и все языковые версии вручную. В итоге было несколько страниц, а не сотни. Клиент предоставил переводы в электронную таблицу Excel, а разработчики вручную скопировали содержимое в файл XML.

Основываясь на этой информации, после быстрой тестовой сессии мы пришли к нескольким выводам:

  • все переводы копируются вручную программистами, поэтому существует риск, что некоторый контент будет «потерян»;
  • все переводы должны быть сопоставлены с исходной электронной таблицей;
  • наиболее проблемные языки - немецкий (очень длинные слова) и греческий (алфавит);
  • на маленьких экранах переведенные выражения обычно не помещаются на кнопки и в рамки;
  • иногда, даже если в переводе использовались строчные буквы, проект требовал, чтобы содержание на сайте было большим. Это было настоящей проблемой для греческого языка, в котором прописные и строчные буквы выглядят совершенно по-разному

Testujmy!

Во время тестов мы в основном фокусировались на небольших разрешениях (iPhone SE и т. Д.). Мы уделили много внимания немецкому и греческому языкам.
Одной из проблем было сравнение греческих предложений, потому что для человека, который не говорит на этом языке, все греческие буквы выглядят почти одинаково. Решением был текстовый редактор Notepad ++. Он оснащен функцией сравнения, которая позволила нам увидеть различия очень быстро и легко. Мы загрузили текст из веб-приложения и электронной таблицы, а затем использовали функцию «Сравнить», чтобы убедиться, что строки совпадают.

Мы загрузили текст из веб-приложения и электронной таблицы, а затем использовали функцию «Сравнить», чтобы убедиться, что строки совпадают

Наиболее распространенными ошибками, помимо опечаток, являются очень длинный текст, перекрывающий другие элементы на странице, слова, отображаемые на неправильном языке, и отсутствующий перевод.

Новая платформа

Жизнь продолжалась, но однажды заказчик решил полностью перестроить интерфейс и серверную часть сайта. Он также попросил новое мобильное приложение. Графический дизайн был готов через несколько недель, поэтому программисты приступили к работе. Сайт был создан с использованием платформы Angular, а решение Xamarin использовалось для разработки мобильного приложения.
На этот раз нам пришлось столкнуться с проблемой переводов для продукта, который все еще находился в разработке. Мы знали, что финальная версия должна поддерживать все семь языков. Сначала нам нужно было разработать версию на одном языке. И знаете что? Этот язык совсем не был английским.
Задача не облегчается тем, что клиент говорит, что на странице Х двадцатое слово - это имя пассажира. Поэтому вместо статического текста следует использовать переменную, которая будет отображать пользовательские данные . Однако настоящей проблемой были переводы. Если бы они были доставлены в виде электронных таблиц, как на старой платформе, мы бы снова столкнулись с теми же проблемами, только в гораздо большем масштабе.

Новые проблемы, новые решения

К счастью, клиент выбрал Oneskyapp вместо Excel. Это платформа управления переводами, которая поддерживает 19 форматов файлов.
Короче говоря, программисты собрали все ключевые наборы и переводы для одного языка, и команда обеспечения качества создала электронную таблицу на этой основе, которую мы направили в агентство переводов. Переводчики видели весь список и могли заполнить недостающие фрагменты. Они предоставили оставшиеся переводы, но на этот раз прямо на платформу Oneskyapp. Наконец, разработчики могут загрузить файл в формате json / xml / resx, сгенерированном программой. Файлы были загружены непосредственно из приложения , поэтому никаких дополнительных действий «копировать-вставить» не требовалось.
На этом этапе мы заметили некоторые важные особенности, которые имеют отношение к будущим тестам:

  • мы предполагали, что все тексты в приложениях являются правильными (отсутствуют пропущенные символы, заглавные буквы, запятые и т. д.), поскольку они были предоставлены бюро переводов и не должны вводиться вручную;
  • маленькие экраны все еще были проблемой (перекрывающийся контент и проблемы с соответствием текста);
  • было бы невозможно вручную проверить все страницы, поэтому процесс должен быть автоматизирован;
  • Немецкий и греческий все равно будут самыми проблемными.

На этой основе мы подготовили автоматические тесты. В случае с веб-сайтом мы использовали инструмент Selenium, а для мобильного приложения - Calabash. Целью этих тестов было просмотреть все страницы и сделать скриншоты каждой из них. При выполнении этой задачи мы столкнулись с типичными проблемами с автоматизацией (недостижимые локаторы, проблемы, связанные с эмулятором Android или многими поврежденными компиляциями в TeamCity). У нас также была проблема с инструментом Calabash: оказалось, что когда мы делали скриншоты с использованием Selenium, вся страница, а не только ее видимая часть, была сохранена, тогда как в случае с Calabash все было наоборот. Поэтому нам пришлось применить решение, которое позволило бы прокрутить вниз и сделать скриншоты в конце страницы. После многих часов работы автоматические тесты были готовы. После незначительных изменений мы также использовали их для регрессионного тестирования . Мы добрались до нескольких самых популярных мобильных устройств и провели тесты на каждом из них.
Поскольку было невозможно автоматизировать все страницы и ошибки, мы выполнили много задач вручную. К счастью, автоматизированные тесты сделали это намного проще. Мы просто должны были помнить, что у каждого скриншота было правильное имя, чтобы его можно было легко различить.

Это конец?

Что бы вы сказали, если бы выяснилось, что помимо семи языков вам также необходимо проверить четыре разные валюты?

В некоторых регионах точка используется как десятичный разделитель, в других - запятая. Какая запись правильная: 25,98 долларов США или 25,98 долларов США? 18,49 или 18,49 €? А как насчет тысячного разделителя? Должен ли он использоваться вообще? Не забудьте согласовать такие детали с клиентом и бизнес-аналитиком перед тестированием. В нашем мире запятые и точки имеют значение.

Что делать?

  • Совместите все символы и знаки препинания (точки, запятые, символы валют и т. Д.), Используемые в вашем географическом районе и культурном кругу.
  • Сконцентрируйтесь на небольших разрешениях и «экзотических» языках.
  • Автоматизация может помочь вам проверить эффекты перевода.
  • Электронная таблица Excel - не лучший инструмент для перевода, потому что это затрудняет работу как программистов, так и тестировщиков.
  • В случае длинных и сложных фраз используйте возможность сравнения контента.
  • Глубокое тестирование невозможно, поэтому выбирайте подход с умом.
В чем проблема?
В чем проблема?
И знаете что?
Это конец?
Что бы вы сказали, если бы выяснилось, что помимо семи языков вам также необходимо проверить четыре разные валюты?
Какая запись правильная: 25,98 долларов США или 25,98 долларов США?
? 18,49 или 18,49 €?
А как насчет тысячного разделителя?
Должен ли он использоваться вообще?
Что делать?