Что такое Progressive Web App (PWA) и какие аспекты важно тестировать?

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

Ответ

Progressive Web App (PWA) — это веб-приложение, использующее современные возможности браузера (Service Workers, манифест) для предоставления пользовательского опыта, близкого к нативным приложениям (оффлайн-работа, установка на домашний экран, push-уведомления).

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

  1. Service Worker и оффлайн-режим:

    • Регистрация и обновление Service Worker.
    • Кэширование ресурсов (Cache API) и работа без сети.
    • Стратегии кэширования (Cache-first, Network-first).
      // Проверка в консоли браузера
      navigator.serviceWorker?.controller?.state
  2. Веб-манифест (manifest.json):

    • Корректность полей name, short_name, start_url, display (standalone, fullscreen).
    • Наличие иконок для разных разрешений.
  3. Установка: Возможность добавления на домашний экран (срабатывание события beforeinstallprompt).

  4. Производительность и метрики (Web Vitals): LCP, FID, CLS. Инструменты: Lighthouse в Chrome DevTools.

  5. Push-уведомления: Работа API Notifications и подписка на push-сообщения.

Среда тестирования: Необходимо проверять на разных ОС (Android, iOS, Desktop) и в условиях эмуляции медленной сети/оффлайн.