Какие виды и уровни тестирования вы знаете и чем они отличаются?
Короткий ответ
- Уровни: модульное, интеграционное, системное, приёмочное
- По цели: функциональное и нефункциональное тестирование
- Нефункциональное: производительность, безопасность, удобство, совместимость
- По знанию кода: белый, серый, чёрный ящик
- По запуску: ручное и автоматизированное
- Уровень определяет, что именно проверяем и кто проверяет
Уровни отвечают на вопрос «где в системе проверяем», виды — «что именно проверяем и как».
Как сказать вслух
пример ответаЯ разделяю уровни и виды. Уровни — это модульные тесты, интеграционные, системные и приёмочные: от отдельной функции до всей системы глазами заказчика. Виды — это функциональное тестирование, то есть проверка требований, и нефункциональное: скорость, безопасность, удобство. Ещё есть деление на ручное и автоматизированное, и по доступу к коду — чёрный и белый ящик.
Подробный ответ
Основной ответ
Уровни тестирования отражают, на каком масштабе проверяется продукт. Модульное (unit) проверяет отдельные функции и классы, обычно пишется разработчиками. Интеграционное проверяет взаимодействие модулей: контракты API, работу с базой, очередями. Системное смотрит на продукт целиком в среде, близкой к боевой. Приёмочное (UAT) подтверждает, что система решает задачу бизнеса. Виды тестирования классифицируют по цели: функциональное проверяет соответствие требованиям, нефункциональное — производительность, надёжность, безопасность, совместимость, доступность. Отдельные оси классификации: по знанию внутреннего устройства (чёрный, серый, белый ящик), по степени автоматизации (ручное, автоматизированное), по отношению к изменениям (регрессионное, подтверждающее, смоук).
Ключевые моменты
- Четыре уровня. Unit, интеграционный, системный, приёмочный — от кода к бизнес-ценности. На каждом уровне свои владельцы и инструменты.
- Функциональное vs нефункциональное. Функциональное отвечает «делает ли система то, что должна», нефункциональное — «насколько хорошо она это делает».
- Ящики. Чёрный ящик — без знания кода, белый — с опорой на код, серый — частичное знание, например схема БД или логи.
- Не путать с тест-дизайном. Классы эквивалентности и граничные значения — это техники проектирования тестов, а не виды тестирования.
Практический контекст
Это базовый вопрос на скрининге для джуниоров: интервьюер проверяет, что кандидат владеет терминологией и может объяснить, зачем нужен каждый уровень, а не просто перечислить названия. Хорошо сослаться на реальный проект: какие уровни там были, кто какие тесты писал, где граница между QA и разработчиками. Плюсом будет упоминание ISTQB-терминологии без заучивания наизусть.
Частые ошибки
- Смешивают уровни и виды в одну кучу, не видя двух разных осей классификации
- Называют регрессионное тестирование отдельным уровнем, хотя оно выполняется на любом уровне
- Перечисляют термины, но не могут привести пример из своего проекта