Какие требования обычно специфицируются для фронтенд-разработки?

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

Ответ

Требования к фронтенду описывают поведение, внешний вид и взаимодействие пользователя с интерфейсом.

Ключевые категории требований:

  1. Функциональные требования:

    • Поведение компонентов: Действия кнопок, полей ввода, модальных окон.
    • Взаимодействие с API: Отправка запросов, обработка ответов (успех, ошибка, загрузка).
      // Пример требования к валидации формы
      // Поле "Email" должно:
      // 1. Проверяться на наличие символа @ и домена.
      // 2. При ошибке подсвечиваться красной рамкой.
      // 3. Рядом выводиться текст ошибки: "Введите корректный email".
  2. Требования к UI/UX и верстке:

    • Pixel-perfect: Соответствие предоставленным макетам (Figma, Sketch) по размерам, отступам, шрифтам.
    • Адаптивность: Корректное отображение на breakpoints (мобильные, планшеты, десктоп).
    • Анимации: Длительность и easing-функции для переходов, hover-эффектов.
  3. Требования к доступности (a11y):

    • Поддержка семантической HTML-разметки (<nav>, <article>).
    • Использование ARIA-атрибутов (aria-label, aria-describedby).
    • Управление с клавиатуры (табуляция, фокус).
    • Соответствие стандартам WCAG 2.1 (уровень AA).
  4. Нефункциональные требования:

    • Производительность: Core Web Vitals (LCP < 2.5с, FID < 100 мс, CLS < 0.1).
    • Кросс-браузерность: Поддержка последних версий Chrome, Firefox, Safari, Edge.
    • Безопасность: Экранирование вывода данных для предотвращения XSS-атак.
  5. Состояния интерфейса: Поведение при загрузке данных, пустые состояния, обработка ошибок сети.