Виды тестирования: классификация с примерами
Все классификации, которые спрашивают на собеседовании, разложены по четырём осям — с примерами из работы и тренажёром.
Списки видов тестирования в интернете выглядят как свалка из тридцати терминов. На самом деле это четыре независимые классификации, и любой тест попадает во все четыре сразу.
Ось 1. По объекту проверки
Функциональное — делает ли система то, что должна: оформляется заказ, считается скидка, приходит письмо.
Нефункциональное — как она это делает. Здесь живут самые дорогие для бизнеса дефекты:
| Вид | На что отвечает | Пример проверки |
|---|---|---|
| Нагрузочное (load) | Держит ли ожидаемую нагрузку | 500 одновременных оформлений заказа, время ответа < 1 с |
| Стресс (stress) | Где ломается и как восстанавливается | Наращиваем нагрузку до отказа и смотрим, поднимется ли сервис сам |
| Стабильности (soak) | Что будет за 8–24 часа работы | Утечки памяти, разрастание логов, деградация ответа |
| Объёмное (volume) | Как ведёт себя на больших данных | Корзина с 500 товарами, каталог с миллионом позиций |
| Безопасность | Можно ли получить лишнее | Чужой заказ по прямой ссылке, XSS в имени, SQL-инъекция в поиске |
| Удобство (usability) | Понятно ли человеку | Сколько шагов до покупки, где пользователь застревает |
| Доступность (a11y) | Можно ли пользоваться с клавиатуры и скринридером | Табом по форме, контраст, подписи полей |
| Совместимость | Работает ли везде | Матрица браузеров, ОС, разрешений, устройств |
| Локализация | Корректен ли перевод и форматы | Даты, валюты, длина строк, направление письма |
| Восстанавливаемость | Что после сбоя | Обрыв сети на середине оплаты, перезапуск сервиса |
| Установка (installation) | Ставится и обновляется ли | Обновление приложения поверх старой версии с сохранением данных |
| Конфигурационное | Работает ли при разных настройках | Другой часовой пояс, отключённые куки, тёмная тема |
Функциональные проверки придумывают все. Разницу делает вторая колонка: догадаться проверить обрыв сети на середине оплаты, поведение при 500 товарах в корзине или доступ к чужому заказу — это уже уровень.
Ось 2. По уровню
- Модульное (unit) — отдельная функция в изоляции. Пишет разработчик.
- Интеграционное — взаимодействие модулей и сервисов, проверки API.
- Системное — продукт целиком по сценариям пользователя. Основная зона ручного тестировщика.
- Приёмочное (UAT) — заказчик подтверждает, что это решает его задачу. Отвечает на вопрос «то ли мы построили», а не «правильно ли оно работает».
Ось 3. По знанию внутреннего устройства
- Чёрный ящик — только вход и выход. Основной метод ручного тестирования.
- Серый ящик — знаем схему базы, контракты API, логи. Так работает опытный тестировщик.
- Белый ящик — видим код и покрываем его ветки. Юнит-тесты, анализ покрытия.
Ось 4. По цели и моменту
| Вид | Когда | Сколько времени |
|---|---|---|
| Дымовое (smoke) | Сразу после сборки | 15–20 минут, фиксированный набор |
| Санитарное (sanity) | После точечной починки | Узко и глубоко по одной функции |
| Повторное (re-testing) | Дефект помечен как исправленный | Строго по шагам репорта |
| Регрессионное | Перед релизом и после крупных правок | Часы, главный кандидат на автоматизацию |
| Исследовательское | Новая функция, мало документации | Сессии по 45–90 минут с целью |
| Ad-hoc | Спонтанно | Без плана; полезно, но не заменяет метод |
Отдельно: статическое и динамическое
Динамическое — продукт запущен, вы с ним взаимодействуете. Статическое — проверка без запуска: ревью требований, макетов, кода, тест-кейсов. Статическое дешевле в разы и находит дефекты требований — самые дорогие из всех.
- Позитивное и негативное — проверяем ожидаемое поведение или реакцию на неверные данные. На каждый позитивный сценарий закладывайте минимум два негативных.
- Альфа и бета — тестирование внутри компании и на реальных пользователях до широкого релиза.
- Monkey-тестирование — случайные хаотичные действия, часто автоматом. Находит падения там, где никто не ждал.
- A/B-тестирование — не про качество, а про бизнес-метрики: две версии интерфейса на разных группах пользователей.
Тренажёр: разложите ситуации по осям
Практическая часть урока выполняется в браузере с проверкой результата. Попробовать бесплатно: тренажёр по вёрстке или зарегистрируйтесь — откроются уроки и тренажёры курса.
Не перечисляйте термины списком. Скажите: «классификаций несколько — по объекту, уровню, знанию кода и цели; например, смоук после деплоя — это функциональное системное тестирование методом чёрного ящика с целью проверить пригодность сборки». Такой ответ сразу ставит вас выше тех, кто заучил Википедию.
Это урок из курса «Ручной тестировщик»
В курсе 47 уроков и 36 тренажёров: тест-дизайн, вёрстка и UX, DevTools, API, SQL, Git и работа со стендом. Несколько уроков открыты бесплатно после регистрации.