Ответ
Виды тестирования классифицируются по целям и объекту проверки. Основные из них:
-
По уровню (степени изоляции кода):
- Модульное (Unit) — тестирование отдельных функций или классов.
def test_add(): assert add(2, 3) == 5 - Интеграционное — проверка взаимодействия нескольких модулей или систем.
- Системное (End-to-End, E2E) — тестирование полностью собранного приложения.
- Модульное (Unit) — тестирование отдельных функций или классов.
-
По доступу к коду:
- Чёрный ящик — тестирование по спецификации без знания внутреннего устройства.
- Белый ящик — тестирование с опорой на знание исходного кода (покрытие путей).
- Серый ящик — комбинация двух подходов (знание архитектуры, но не кода).
-
По целям:
- Функциональное — проверка соответствия функциональным требованиям.
- Нагрузочное/Производительности — оценка поведения под нагрузкой (отклик, стабильность).
- Юзабилити — оценка удобства и понятности интерфейса для пользователя.
- Безопасности — поиск уязвимостей (инъекции, аутентификация, авторизация).
- Регрессионное — проверка, что новые изменения не сломали существующий функционал.
- Дымовое (Smoke) — поверхностная проверка базовой работоспособности после сборки.