Новое Распределяем каналы MAX по категориям и территориям. Читать новость

Тест-дизайн — это не «придумывание рандомных тестов», а научный подход к выбору минимального количества тестов, которые найдут максимум багов. Это математика и логика, а не творчество.



Вот полная картина для QA:

---

1. Зачем это нужно?
— Невозможно проверить все значения (например, поле «возраст» от 0 до 150 — это 151 вариант, а если 3 поля — уже миллионы).
— Тест-дизайн сокращает количество тестов в 10–100 раз, сохраняя покрытие критичных сценариев.

---

2. Базовые техники (обязательный минимум)

Классы эквивалентности (Equivalence Partitioning)
— Делим входные данные на группы (классы), где поведение системы одинаково.
— Пример: поле «возраст» (0–120). Классы:

· Валидный: 1–120 (берём 1 тест, например 30).
· Невалидные: отрицательные (‑5), 0, >120 (150), буквы («abc»).
— Итог: 4 теста вместо 121.

Анализ граничных значений (Boundary Value Analysis)
— Баги чаще всего живут на границах (ошибка <= вместо <).
— Пример: возраст 1–120. Границы:

· Минус‑1, 0, 1, 2 (внутренняя граница), 119, 120, 121, 122.
— Важно: проверяем как саму границу, так и соседние значения.

Попарное тестирование (Pairwise Testing)
— Когда много комбинаций параметров (например, Браузер + ОС + Разрешение).
— Основано на теории: большинство багов вызваны взаимодействием всего двух параметров.
— Пример: 3 браузера × 2 ОС × 3 разрешения = 18 комбинаций. Pairwise сжимает до 6–8 тестов, сохраняя все пары значений.

Таблицы принятия решений (Decision Tables)
— Для проверки бизнес-логики с несколькими условиями (например, расчёт скидки).
— Рисуете таблицу: все комбинации «Если А=Да, Б=Нет → Результат X».
— Помогает найти пропущенные правила в требованиях.

Тестирование состояний и переходов (State-Transition)
— Для систем с разными статусами (заказ: Новый → В работе → Доставлен → Отменён).
— Проверяете все разрешённые и запрещённые переходы (нельзя из «Доставлен» вернуть в «Новый»).

---

3. Продвинутые техники (для Middle+)

· Use Case Testing — сценарии от начала до конца по реальным действиям пользователя.
· Error Guessing — «чуйка» баг-хантера (места, где чаще всего ошибаются: кэш, таймауты, кодировки).
· Domain Analysis — комбинация EP + BVA для сложных зависимостей.

---

4. Как это выглядит на практике

1. Вы получаете задачу (например, «фильтр товаров по цене»).
2. Применяете техники → получаете компактный чек-лист:
· Цена от 0 до 1 000 000 (границы: 0, 1, 999999, 1000000, 1000001).
· Пустое поле, отрицательная, дробная, буквы.
· Комбинации: цена + бренд + скидка (Pairwise).
3. Отдаёте чек-лист разработчику до начала кодинга — он сразу видит, о чём не подумал.

---

5. Главные ошибки новичков

· Тестировать «средние» значения (30 лет) — багов там почти нет.
· Проверять все комбинации вручную — выгорание гарантировано.
· Прыгать в тесты без техник — пропускаете критические границы.

---

6. Бонус: память-шпаргалка
Запомните аббревиатуру BECPT:

· Boundary (границы)
· Equivalence (классы)
· Combinations (Pairwise)
· Path (состояния)
· Table (Decision Tables)
Просмотры: 48
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти