Как тестировать адаптивную вёрстку веб-приложения?

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

Ответ

Тестирование адаптивной вёрстки требует проверки корректности отображения и функциональности на различных устройствах и разрешениях экрана.

Основные методы и инструменты:

1. Ручное тестирование в браузере (Chrome DevTools)

  • Режим адаптивного дизайна: Эмуляция различных устройств (iPhone, iPad, Android).
  • Изменение разрешения: Проверка в точках перелома (breakpoints), определенных в CSS (@media).
  • Throttling: Эмуляция медленных сетей (3G) для проверки загрузки.
  • Проверка CSS: Анализ применённых стилей для текущего viewport.

2. Ручное тестирование на реальных устройствах

  • Физические смартфоны и планшеты (iOS, Android).
  • Проверка жестов (свайп, тап, масштабирование).
  • Тестирование в разных браузерах (Mobile Safari, Chrome for Android).

3. Использование облачных сервисов

  • BrowserStack, Sauce Labs, LambdaTest: Доступ к реальным браузерам на различных ОС и устройствах без их физического наличия.

4. Автоматизированное тестирование

  • Selenium/WebDriver: Изменение размера окна браузера программно.
    from selenium import webdriver
    driver = webdriver.Chrome()
    # iPhone X viewport
    driver.set_window_size(375, 812)
    # Проверка элемента, который должен скрыться
    assert driver.find_element("css selector", ".desktop-menu").is_displayed() == False
  • Playwright/Cypress: Встроенные команды для эмуляции устройств и сетей.
    // Playwright example
    await page.setViewportSize({ width: 768, height: 1024 });

Ключевые аспекты для проверки:

  • Соответствие макету (Pixel-Perfect) на ключевых разрешениях.
  • Переполнение контента: Текст и изображения не выходят за границы контейнеров.
  • Работоспособность UI: Навигация, формы, кнопки, модальные окна.
  • Типографика: Читаемость текста, межстрочный интервал, переносы.
  • Изображения и медиа: Корректное масштабирование, соотношение сторон.
  • Горизонтальный скролл: Отсутствие нежелательной прокрутки по горизонтали.
  • Touch-элементы: Размер интерактивных элементов >= 44x44px для удобного тапа.

Дополнительные подходы:

  • Визуальное регрессионное тестирование с помощью Percy, Applitools.
  • Проверка Accessibility (a11y) при изменении размера шрифта или использовании screen readers.