Встречается на 53% собеседований по QA

Какие знаешь техники тестирования дизайна

Техники тестирования дизайна — это, по сути, техники тест-дизайна, то есть методы проектирования тестовых сценариев для эффективного покрытия функциональности продукта. Вопрос часто формулируют как «техники тестирования дизайна», но корректнее говорить о техниках тест-дизайна, которые помогают определить, какие тесты писать, как их комбинировать и как минимизировать количество тестов при максимальном покрытии рисков. Эти техники делятся на две большие группы: статические (анализ требований и документации без выполнения кода) и динамические (основаны на выполнении тестов). На собеседовании важно показать понимание основных техник и умение применять их на практике.

Основные техники тест-дизайна

1. Классы эквивалентности (Equivalence Partitioning)

Суть: входные данные разбиваются на классы, для которых поведение системы предполагается одинаковым. Достаточно протестировать одно значение из каждого класса, чтобы покрыть все варианты.

Пример: поле «Возраст» принимает значения от 0 до 120. Классы: валидные (0–120), невалидные отрицательные (<0), невалидные больше 120 (>120). Тестируем по одному значению из каждого класса: -1, 0, 50, 121.

2. Граничные значения (Boundary Value Analysis)

Суть: ошибки чаще всего возникают на границах допустимых диапазонов. Тестируются значения на границах и сразу за ними.

Пример: для диапазона 0–120 проверяем: -1, 0, 1, 119, 120, 121. Это дополняет классы эквивалентности.

3. Таблица решений (Decision Table)

Суть: для комбинаций условий (входных данных) определяются ожидаемые действия. Таблица помогает систематизировать проверку бизнес-логики.

Пример: для логина: условие «логин верный» и «пароль верный» — результат «вход разрешен»; если одно из условий ложно — «вход запрещен». Таблица с условиями и действиями.

4. Попарное тестирование (Pairwise Testing)

Суть: комбинаторика приводит к огромному числу вариантов. Попарное тестирование сокращает набор до комбинаций всех пар значений параметров, так как большинство дефектов вызывается взаимодействием двух параметров.

Пример: три параметра (браузер: Chrome, Firefox; ОС: Windows, Linux; разрешение: 1920x1080, 1366x768). Полный перебор — 8 комбинаций, попарное — 4.

5. Переходы состояний (State Transition)

Суть: система рассматривается как конечный автомат. Тестируются переходы между состояниями, включая недопустимые.

Пример: заказ может быть в состояниях «новый», «оплачен», «отправлен», «доставлен». Проверяем переходы: из «нового» в «оплачен» — допустим, из «оплачен» в «новый» — нет.

6. Сценарии использования (Use Case Testing)

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

Пример: сценарий «пользователь покупает товар»: выбор товара, добавление в корзину, оформление заказа, оплата, получение подтверждения.

Как применять техники на практике

Выбор техники зависит от типа системы и доступной документации:

  • Если есть требования с четкими диапазонами — используйте классы эквивалентности и граничные значения.
  • Если логика зависит от комбинаций условий — таблицы решений.
  • Если много параметров конфигурации — попарное тестирование.
  • Если система имеет явные состояния — переходы состояний.
  • Если есть пользовательские сценарии — сценарии использования.

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

Подводные камни и частые ошибки

  • Путаница между «тестированием дизайна» (проверка внешнего вида) и «тест-дизайном» (проектирование тестов). На собеседовании уточните, что имеется в виду.
  • Недооценка статических техник: анализ требований и документации часто выявляет больше дефектов, чем динамическое тестирование.
  • Применение только одной техники: это снижает покрытие. Лучше комбинировать.
  • Игнорирование приоритизации: не все тесты одинаково важны, используйте риск-ориентированный подход.

Коротко

  • Техники тест-дизайна помогают систематизировать создание тестов и повысить покрытие без избыточности.
  • Основные техники: классы эквивалентности, граничные значения, таблицы решений, попарное тестирование, переходы состояний, сценарии использования.
  • Выбор техники зависит от типа системы и доступной информации.
  • Комбинируйте техники и не забывайте о статическом анализе требований.
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы