🧪 Виды тестирования

Классификация: уровни, типы, подходы, функциональное и нефункциональное, ручное и автоматизированное.

Теория · Тестирование · #testing #qa #types

По уровню

Уровень Что проверяет Кто чаще
Модульное (unit) отдельную функцию или класс разработчик
Интеграционное взаимодействие модулей и сервисов разработчик, QA
Системное систему целиком QA
Приёмочное (UAT) соответствие потребностям бизнеса заказчик, QA

По цели

Вид Смысл
Функциональное работает ли поведение по требованиям
Нефункциональное как работает: скорость, безопасность, удобство
Smoke основные функции живы после новой сборки
Sanity узкая проверка конкретной правки
Регрессионное старое не сломалось после изменений
Ретест исправлен ли найденный баг
Исследовательское свободный поиск без заранее написанных кейсов
Эксплуатационное поведение при сбоях и восстановлении

Нефункциональные виды

Вид Проверка
Производительность скорость и ресурсы (нагрузочное, стресс, объёмное, выносливости)
Безопасность уязвимости, доступ, шифрование
Юзабилити удобство и понятность
Совместимость браузеры, ОС, устройства, версии
Доступность (a11y) работа для людей с ограничениями
Локализация язык, форматы дат и валют
Надёжность и восстановление устойчивость, откат, резервные копии
Установка и обновление инсталляция, миграция

По знанию внутреннего устройства

  • Чёрный ящик: только вход и выход.
  • Белый ящик: с доступом к коду (покрытие веток).
  • Серый ящик: частичные знания (БД, API).

Ручное и автоматизированное

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

Пирамида тестирования

Много быстрых модульных тестов внизу, меньше интеграционных, мало медленных сквозных (E2E) сверху. Обратная форма («рожок мороженого») дорога и хрупка.

Статическое и динамическое

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

Нужно знать

Алгоритм выбора: что изменилось → какие риски → какие виды применить → что автоматизировать → критерии выхода.