Что такое декомпозиция требований и как её применять в тестировании?

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

Ответ

Декомпозиция требований — это процесс разбиения сложного, высокоуровневого требования на более мелкие, конкретные, проверяемые компоненты. В тестировании это основа для создания полного набора тестовых сценариев.

Цели декомпозиции:

  1. Полнота покрытия: Выявление всех аспектов функциональности, включая граничные случаи.
  2. Улучшение оценки: Более точная оценка трудозатрат на тестирование.
  3. Упрощение дизайна тестов: Работа с меньшими и понятными единицами.
  4. Выявление неоднозначностей: Обнаружение противоречий или пробелов в требованиях на раннем этапе.

Практический пример: Исходное требование: "Пользователь может восстановить доступ к аккаунту, если забыл пароль."

Декомпозиция на проверяемые сценарии:

Компонент (Что проверяем?) Критерии успеха (Как проверяем?) Тип теста
1 Доступ к форме восстановления На странице входа есть ссылка "Забыли пароль?". Клик ведет на форму ввода email. UI / Smoke
2 Валидация email на форме При вводе некорректного email (без @, пустое) отображается понятное сообщение об ошибке. Negative / UI
3 Отправка ссылки на валидный email После ввода зарегистрированного email приходит письмо со ссылкой. Ссылка уникальна и одноразова. Functional / E2E
4 Поведение для незарегистрированного email При вводе неизвестного email отображается общее сообщение "Если email существует, письмо отправлено" (без раскрытия информации). Security / Negative
5 Срок действия ссылки Ссылка из письма не работает по истечении N часов. Non-Functional
6 Создание нового пароля По рабочей ссылке открывается форма. Новый пароль соответствует политике безопасности. Functional / UI
7 Вход с новым паролем После смены пароля возможен вход в аккаунт. Старый пароль больше не работает. Functional / E2E

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

  • Ментальные карты (Mind Maps): Для визуального представления иерархии.
  • Таблицы (как выше): Для детализации сценариев и критериев.
  • Техники тест-дизайна: Эквивалентное разделение, анализ граничных значений, таблицы решений — применяются уже к декомпозированным компонентам.

Результат: Вместо одного абстрактного тест-кейса "Проверить восстановление пароля" получается 7+ конкретных, независимых сценариев, которые полностью покрывают функциональность и различные условия её использования.