Как тестируется локализация в веб-приложениях?

«Как тестируется локализация в веб-приложениях?» — вопрос из категории Веб-тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, локализация — критическая часть тестирования для международных продуктов. Основные проверки:

1. Корректность перевода и контента:

  • Соответствие терминологии и грамматики
  • Отсутствие непереведённых строк (hardcoded text)
  • Проверка длины текста (не выходит за границы UI-элементов)
  • Корректность спецсимволов и поддержка Unicode

2. Форматирование данных:

  • Даты, время (DD/MM/YYYY vs MM/DD/YYYY)
  • Числа (разделители тысяч: 1,000 vs 1.000)
  • Валюты (символы, позиция: $100 vs 100 €)
  • Единицы измерения (метрическая vs имперская система)

3. Функциональность:

  • Работа интерфейса после смены языка/региона
  • Направление текста (LTR/RTL для арабского, иврита)
  • Локализованные ошибки и валидация

4. Культурные особенности:

  • Цвета, изображения, иконки
  • Правовые требования региона
  • Поддержка местных платёжных систем

Пример автоматизации (Python + Selenium):

def test_german_localization(driver):
    driver.get("https://app.com")
    select_language("Deutsch")

    # Проверка перевода
    welcome_text = driver.find_element(By.ID, "welcome").text
    assert welcome_text == "Willkommen", f"Expected 'Willkommen', got '{welcome_text}'"

    # Проверка формата даты
    date_element = driver.find_element(By.CLASS_NAME, "current-date")
    # Ожидаем немецкий формат: 31.12.2023
    assert re.match(r"d{2}.d{2}.d{4}", date_element.text)

Инструменты:

  • i18next, react-intl для извлечения строк
  • Локализационные платформы (Crowdin, Transifex)
  • Специализированные фреймворки: Cypress-i18n, Selenium с профилями локалей