SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Локализация:
Это не только перевод
Давайте познакомимся!
ПАВЕЛ КЛИМЧЕНКО
Старший специалист по тестированию
7+ лет в тестировании
EPAM Systems
Сегодня рассмотрим...
1 В С Т У П Л Е Н И Е
2
3
4
5
Т Е С Т И Р О В А Н И Е Ю Н И К О Д А
И Н Т Е Р Н А Ц И О Н А Л И З А Ц И Я
П С Е В Д О Л О К А Л Ь
Л О К А Л И З А Ц И Я
Первая встреча с локализацией...
5
А РАЗВЕ МОЖНО БЫЛО ПО -ДРУГОМУ?
5
Интернационализация (I18N)
Проектирование и разработка
приложения, когда код не зависим
от определенной локали
Термины
Локализация (L10N)
Адаптация приложения к
языковым и культурным
требованиям конкретного региона
Глобализация (G11N)
G11N = I18N + L10N
ИНТЕРНАЦИОНАЛИЗАЦИЯ
Тестирование интернационализации
Тестирование
Юникода
Интернационализация
Тестирование
Псевдо Локали
Тестирование Юникода
10
1. Определите языки, которые
будет поддерживать система
2. Заполните все поля символами
из поддерживаемых языков.
3. Убедитесь, что данные
не повреждены и не потеряны
11
4. Применяйте как ручной ввод,
так и Copy/Paste
5. Проверьте максимальное
ограничение по символам
6. Используйте E2E сценарии
7. Проводите интеграционное
тестирование
Тестирование Интернационализации
К У Л Ь Т У Р Н Ы Е О С О Б Е Н Н О С Т И Р Е Г И О Н А
О Т О Б Р А Ж Е Н И Е Ч И С Е Л
В А Л Ю Т Ы
Р А З Л И Ч И Е В К А Л Е Н Д А Р Я Х
Ф О Р М А Т Д А Т Ы
Ч А С О В Ы Е П О Я С А
Культурные и религиозные особенности региона
1.Разделитель тысяч
США – запятая (,) 1,025
Германия - точка (.) 1.025
Беларусь – пробел 1 025
2.Группировка цифр
США – 123,456,789.00
Хинди – 12,34,56,789.00
3.Десятичный разделитель
США – точка (.) 1,025.7
Германия - запятая (,) 1.025,7
Формат чисел
4. Число может иметь разную форму
5. Различное отображение
отрицательного числа:
-527 / 527- / (527) / 527
6. Расположение знака процент (%):
98%, 98 %, 98 pct, %98
Формат чисел
Латиница
• 0 1 2 3 4 5 6 7 8 9
Арабский алфавит
• ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩
Корейские цифры
• 일 이 삼 사 오 육 칠 팔 구
Отображение валюты
16
1. Расположение символа валюты:
До или после значения
2. Символ валюты:
Один символ - '€‘ (Euro)
Несколько - ‘GBP‘ (Pound)
3. Отрицательная сумма:
Фунты -£127.54
Евро € 127,54-
Кроны kr-127,54
Доллары ($127.54)
4. Количество символов:
5000 USD = 113 700 000 VND
Отображение валюты
1. Различное летоисчесление
(Грегорианский 2000 = Хижри 1421)
2. Разный первый день года
3. Продолжительность года и месяца
4. Високосный год
Различие в календарях
Различие в календарях
4. Первый день недели
США – Воскресенье,
Беларусь – Понедельник
5. Выходные:
Пятница, Суббота
для мусульманский стран
6. Несколько типов календарей
Три каледаря в Корее
Сравним различные форматы:
Короткая дата
США: mm/dd/yy
Испания: dd/mm/yy
Япония: yy/mm/dd
Длинная дата
США: Tuesday, October 12, 1954
Испания: martes 12 de octubre de 1954
Япония: 1954年10月12日
Формат даты
 Использование 12/24 часового формата:
США – 10:27:56 PM
Беларусь – 22:27:56
 Разделители часов, минут и секунд
 Разное представление часового пояса:
Boston, USA GMT -4:00
Chatham Island, New Zealand UTC +12:45
 Примите к сведению:
Часовой пояс пользователя
Серверное время
Время и часовые пояса
Геолокация и часовые пояса
ТЕСТИРОВАНИЕ ПСЕВДО ЛОКАЛИ
24CONFIDENTIAL. Copyright © 2020 24
Псевдо-локализация – замена всех текстовых
элементов приложения на псевдо-язык, который
включает в себя различные элементы из других
языков.
Зачем на это нужно?
1. Может быть сделано до того,
как перевод будет готов.
2. Охватывает критические проблемы
еще до перевода.
Псевдо-локализация
 Добавьте в значения спецсимволы
 Оставьте значение читаемым и понятным
 Отметьте начало и конец текстовому значению
 Учитывайте разную длину значений
 Проверьте отображение значений без пробелов
Тестирование псевдо-локали
Тестирование псевдо-локали
Тестирование псевдо-локали
...И ВСЕ ЗА ОДНОГО!
29
ТЕСТИРОВАНИЕ ЛОКАЛИЗАЦИИ
Тестирование локализации выполняется,
как только приложение переведено на
протестированный язык, чтобы
убедиться, что приложение ведет себя
так, как ожидается.
32
Три этапа тестирования локализации
1 Лингвистическое тестирование
33
Три этапа тестирования локализации
1 Лингвистическое тестирование
2 Косметическое тестирование
34
Три этапа тестирования локализации
1 Лингвистическое тестирование
2
3
Косметическое тестирование
Функциональное тестирование
ЗАКЛЮЧЕНИЕ…
Почему нам необходимо L10N и I18N тестирование?
Если мы делаем только локализацию:
• Длинный цикл тестирования - необходимы все проверки для всех языков
• Тестеровщик должен знать каждый тестируемый язык
Если мы сначала сделаем интернационализацию
• можно сделать на ранней стадии без перевода
• тесты проводятся без специальных знаний языка
• не нужно запускать все тесты для каждого языка
• позволяет обнаруживать дефекты на ранней стадии
СПАСИБО
Q&A

Más contenido relacionado

Más de Vitebsk Miniq

Вперед в прошлое
Вперед в прошлоеВперед в прошлое
Вперед в прошлоеVitebsk Miniq
 
CloudFormation experience
CloudFormation experienceCloudFormation experience
CloudFormation experienceVitebsk Miniq
 
Learning Intelligence: the story of mine
Learning Intelligence: the story of mineLearning Intelligence: the story of mine
Learning Intelligence: the story of mineVitebsk Miniq
 
Как программисты могут спасти мир
Как программисты могут спасти мирКак программисты могут спасти мир
Как программисты могут спасти мирVitebsk Miniq
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийVitebsk Miniq
 
Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.Vitebsk Miniq
 
Насорил - убери!
Насорил - убери!Насорил - убери!
Насорил - убери!Vitebsk Miniq
 
Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?Vitebsk Miniq
 
Красные флаги и розовые очки
Красные флаги и розовые очкиКрасные флаги и розовые очки
Красные флаги и розовые очкиVitebsk Miniq
 
CSS. Практика
CSS. ПрактикаCSS. Практика
CSS. ПрактикаVitebsk Miniq
 
Разделяй и властвуй!
Разделяй и властвуй!Разделяй и властвуй!
Разделяй и властвуй!Vitebsk Miniq
 
Фреймворк-невиидмка
Фреймворк-невиидмкаФреймворк-невиидмка
Фреймворк-невиидмкаVitebsk Miniq
 
One stack to rule them all или "Не всё есть в AppStore"
One stack to rule them all или "Не всё есть в AppStore"One stack to rule them all или "Не всё есть в AppStore"
One stack to rule them all или "Не всё есть в AppStore"Vitebsk Miniq
 
Machine Learning with Amazon SageMaker
Machine Learning with Amazon SageMakerMachine Learning with Amazon SageMaker
Machine Learning with Amazon SageMakerVitebsk Miniq
 
Знакомство с MiniQ
Знакомство с MiniQЗнакомство с MiniQ
Знакомство с MiniQVitebsk Miniq
 
Используем контейнеры, или Не дай заказчику повалить продакшн
Используем контейнеры, или Не дай заказчику повалить продакшнИспользуем контейнеры, или Не дай заказчику повалить продакшн
Используем контейнеры, или Не дай заказчику повалить продакшнVitebsk Miniq
 
Переход на DynamoDB. Есть ли жизнь после MongoDB?
Переход на DynamoDB. Есть ли жизнь после MongoDB?Переход на DynamoDB. Есть ли жизнь после MongoDB?
Переход на DynamoDB. Есть ли жизнь после MongoDB?Vitebsk Miniq
 
Разработка в долг
Разработка в долгРазработка в долг
Разработка в долгVitebsk Miniq
 
ES2015+: давно пора!
ES2015+: давно пора!ES2015+: давно пора!
ES2015+: давно пора!Vitebsk Miniq
 

Más de Vitebsk Miniq (20)

Crawling healthy
Crawling healthyCrawling healthy
Crawling healthy
 
Вперед в прошлое
Вперед в прошлоеВперед в прошлое
Вперед в прошлое
 
CloudFormation experience
CloudFormation experienceCloudFormation experience
CloudFormation experience
 
Learning Intelligence: the story of mine
Learning Intelligence: the story of mineLearning Intelligence: the story of mine
Learning Intelligence: the story of mine
 
Как программисты могут спасти мир
Как программисты могут спасти мирКак программисты могут спасти мир
Как программисты могут спасти мир
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложений
 
Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.
 
Насорил - убери!
Насорил - убери!Насорил - убери!
Насорил - убери!
 
Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?
 
Красные флаги и розовые очки
Красные флаги и розовые очкиКрасные флаги и розовые очки
Красные флаги и розовые очки
 
CSS. Практика
CSS. ПрактикаCSS. Практика
CSS. Практика
 
Разделяй и властвуй!
Разделяй и властвуй!Разделяй и властвуй!
Разделяй и властвуй!
 
Фреймворк-невиидмка
Фреймворк-невиидмкаФреймворк-невиидмка
Фреймворк-невиидмка
 
One stack to rule them all или "Не всё есть в AppStore"
One stack to rule them all или "Не всё есть в AppStore"One stack to rule them all или "Не всё есть в AppStore"
One stack to rule them all или "Не всё есть в AppStore"
 
Machine Learning with Amazon SageMaker
Machine Learning with Amazon SageMakerMachine Learning with Amazon SageMaker
Machine Learning with Amazon SageMaker
 
Знакомство с MiniQ
Знакомство с MiniQЗнакомство с MiniQ
Знакомство с MiniQ
 
Используем контейнеры, или Не дай заказчику повалить продакшн
Используем контейнеры, или Не дай заказчику повалить продакшнИспользуем контейнеры, или Не дай заказчику повалить продакшн
Используем контейнеры, или Не дай заказчику повалить продакшн
 
Переход на DynamoDB. Есть ли жизнь после MongoDB?
Переход на DynamoDB. Есть ли жизнь после MongoDB?Переход на DynamoDB. Есть ли жизнь после MongoDB?
Переход на DynamoDB. Есть ли жизнь после MongoDB?
 
Разработка в долг
Разработка в долгРазработка в долг
Разработка в долг
 
ES2015+: давно пора!
ES2015+: давно пора!ES2015+: давно пора!
ES2015+: давно пора!
 

Локализационное тестирование - это не только перевод