Как проверить корректность отображения текстовой строки в пользовательском интерфейсе?

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

Ответ

Проверка включает несколько уровней валидации:

1. Визуальное соответствие (UI-тестирование):

  • Текст: Полное совпадение с ожидаемым значением (орфография, падежи).
  • Стиль: Соответствие шрифту, размеру, цвету, выравниванию и межстрочному интервалу (по макету).
  • Позиция: Корректное расположение элемента на странице.

2. Функциональная корректность:

  • Динамические данные: Проверка подстановки переменных (например, «Привет, {username}!»).
  • Локализация: Отображение на разных языках, поддержка RTL (right-to-left) для арабского, иврита.

3. Проверка граничных случаев и устойчивости:

  • Длина: Очень длинные строки, пустые строки (""), строки из пробелов.
  • Символы: Спецсимволы (@#$%), эмодзи (😀), HTML-сущности (&), юникод.
  • Перенос и обрезка: Корректность text-overflow: ellipsis или переноса по словам.

4. Пример автоматизированного теста (Python/pytest):

def test_user_greeting_display():
    # Предположим, функция получает текст из UI
    displayed_text = get_element_text("greeting_locator")
    expected_text = "Добро пожаловать, Алексей!"

    assert displayed_text == expected_text, 
        f"Текст не совпадает. Ожидалось: '{expected_text}', Получено: '{displayed_text}'"

5. Дополнительные аспекты:

  • Доступность (Accessibility): Текст должен быть доступен для скринридеров (проверка ARIA-атрибутов).
  • Кросс-браузерность и адаптивность: Единое отображение в разных браузерах и на разных разрешениях экрана.