Топ-3 техники тест-дизайна для новичков
Тестировщику не нужно проверять все возможные данные — это бесконечный процесс. Есть специальные техники, которые помогают уменьшить количество тестов, но при этом оставить все важные проверки.
1️⃣ Классы эквивалентности (Equivalence Partitioning)
Мы делим все возможные данные на группы (классы), где система реагирует одинаково. Проверяем по одному представителю из каждой группы.
🔹 Пример 1. Поле «Возраст»
Правило: возраст должен быть целым числом от 0 до 120.
- -1 → невалидный.
- Зачем: проверить, что отрицательный возраст система не примет.
- Какая ошибка возможна: если разработчик не поставил проверку «≥ 0», система может принять -1.
- 0 → валидный минимум.
- Зачем: проверить, что граничное значение проходит.
- Ошибка: может быть отклонено из-за ошибки в условии (> 0 вместо >= 0).
- 37 → валидное «середина диапазона».
- 120 → валидный максимум.
- 121 → невалидный.
- "abc" → невалидный формат.
🔹 Пример 2. Пароль
Правило: длина 8–20 символов, обязательно хотя бы одна цифра и одна заглавная буква.
- "Abc123" (7 символов) → ошибка.
- Зачем: проверить нижнюю границу по длине.
- Ошибка: если проверка стоит неправильно, система примет короткий пароль.
- "Abcdefg1" (8 символов, есть цифра и заглавная) → успех.
- "abcdefg1" (нет заглавной буквы) → ошибка.
- "ABCDEFGH" (нет цифры) → ошибка.
- "Abcdefg1!" (если ! запрещён) → ошибка.
- строка из 21 символа → ошибка.
🔹 Пример 3. Скидка по возрасту
- до 16 лет — регистрация запрещена;
- 16–35 — регистрация без скидки;
- старше 35 — регистрация со скидкой.
2️⃣ Граничные значения (Boundary Value Analysis)
Ошибки чаще всего случаются на границах диапазонов (например, система думает, что максимум = 119, а не 120). Поэтому мы проверяем значения на границе и рядом с ней.
🔹 Пример 1. Возраст
- -1 → ошибка (ниже минимума).
- 0 → успех (минимум).
- 120 → успех (максимум).
- 121 → ошибка (выше максимума).
🔹 Пример 2. Пароль
🔹 Пример 3. Цена товара
- -0.01 → ошибка (меньше нуля).
- 0.00 → успех (минимум).
- 9999.99 → успех (максимум).
- 10000.00 → ошибка (выше максимума).
- если проверка написана <= 10000, то система примет 10000.00, что неверно;
- если округление работает неправильно, то 9999.999 может пройти.
🔹 Пример 4. Даты бронирования
- check-in вчера → ошибка (дата в прошлом).
- check-in сегодня, check-out сегодня → ошибка (0 ночей).
- check-in сегодня, check-out завтра → успех (валидно).
- check-in +365, check-out +366 → успех (граница).
- check-in +366 → ошибка (за пределами года).
3️⃣ Попарное тестирование (Pairwise Testing)
Когда параметров много, комбинаций получается слишком много. Проверить все — невозможно.
Но баги обычно проявляются в парах (например, «Windows + Firefox»).
👉 Значит, достаточно составить набор так, чтобы каждая пара встретилась хотя бы раз. Тогда тестов будет не 18, а около 9.
🔹 Пример 1. Интернет-магазин
- Платформа: Web, iOS, Android
- Доставка: Курьер, Самовывоз, Постамат
- Оплата: Карта, PayPal, Наличные
- Купон: Да, Нет
Pairwise покрывает всё за 10–12 тестов.
- все пары параметров (например, «Android + PayPal», «Курьер + Купон»);
- невозможные пары должны быть исключены (например, PayPal может быть недоступен для Android).
🔹 Пример 2. Камера на телефоне
- каждая пара (например, «Фото + Флэш=Авто», «Видео + Стабилизация=Выкл») встречается хотя бы раз;
- система правильно работает с сочетаниями.
📝 Когда использовать
- 🟢 Классы эквивалентности — чтобы быстро выбрать «типичные» примеры и сократить количество тестов.
- 🟡 Граничные значения — чтобы проверить самые рискованные места: минимума и максимума.
- 🔵 Попарное тестирование — чтобы протестировать сложные комбинации параметров, не перебирая всё подряд.
📝 Шпаргалка по 3 техникам тест-дизайна
Разбей данные на группы, где система ведёт себя одинаково.
👉 Тестируй по одному значению из каждой группы.
Ошибки чаще всего на границах.
👉 Проверь: минимум-1, минимум, середина, максимум, максимум+1.
🔹 Попарное тестирование (Pairwise)
При множестве параметров полный перебор невозможен.
👉 Построй набор так, чтобы каждая пара значений встречалась хотя бы один раз.
Если у вас пока еще нет понимания:
- Подойдет ли вам профессия QA, справитесь ли вы с задачами;
- Как будет выглядеть ваш самостоятельный путь до оффера, без ментора;
- Хотите посмотреть как я преподаю и доношу информарцию;
То я приглашаю вас в закрытый чат моего бесплатного предобучения, там лежит 3 урока:
Урок 1. О профессии тестировщик на пальцах:
- про функционал QA на простых примерах,
- про цикл задачи и работу в таск трекере,
- про взаимодействие с командой
Урок 2. Хард скиллы или техническая часть требований к QA:
- Полный список инструментов и стека
- Показываю задачи на практике
- Различные техники тест дизайна
Урок 3. Резюме и трудоустройство.
- Какие шаги приведут к офферу и что делать человеку кто хорошо выучился но так не нашел работу
Ссылка на чат https://t.me/+t4f3nTcs6hUxMjRi