🧪 Виды тестирования
Классификация: уровни, типы, подходы, функциональное и нефункциональное, ручное и автоматизированное.
Теория · Тестирование · #testing #qa #types
По уровню
| Уровень | Что проверяет | Кто чаще |
|---|---|---|
| Модульное (unit) | отдельную функцию или класс | разработчик |
| Интеграционное | взаимодействие модулей и сервисов | разработчик, QA |
| Системное | систему целиком | QA |
| Приёмочное (UAT) | соответствие потребностям бизнеса | заказчик, QA |
По цели
| Вид | Смысл |
|---|---|
| Функциональное | работает ли поведение по требованиям |
| Нефункциональное | как работает: скорость, безопасность, удобство |
| Smoke | основные функции живы после новой сборки |
| Sanity | узкая проверка конкретной правки |
| Регрессионное | старое не сломалось после изменений |
| Ретест | исправлен ли найденный баг |
| Исследовательское | свободный поиск без заранее написанных кейсов |
| Эксплуатационное | поведение при сбоях и восстановлении |
Нефункциональные виды
| Вид | Проверка |
|---|---|
| Производительность | скорость и ресурсы (нагрузочное, стресс, объёмное, выносливости) |
| Безопасность | уязвимости, доступ, шифрование |
| Юзабилити | удобство и понятность |
| Совместимость | браузеры, ОС, устройства, версии |
| Доступность (a11y) | работа для людей с ограничениями |
| Локализация | язык, форматы дат и валют |
| Надёжность и восстановление | устойчивость, откат, резервные копии |
| Установка и обновление | инсталляция, миграция |
По знанию внутреннего устройства
- Чёрный ящик: только вход и выход.
- Белый ящик: с доступом к коду (покрытие веток).
- Серый ящик: частичные знания (БД, API).
Ручное и автоматизированное
Ручное: новое, исследовательское, юзабилити, редкое. Автоматизация: регресс, смоук, API, повторяющееся, большие наборы данных.
Пирамида тестирования
Много быстрых модульных тестов внизу, меньше интеграционных, мало медленных сквозных (E2E) сверху. Обратная форма («рожок мороженого») дорога и хрупка.
Статическое и динамическое
Статическое: ревью кода и требований, линтеры, статанализ (без запуска). Динамическое: запуск и проверка поведения.
Нужно знать
Алгоритм выбора: что изменилось → какие риски → какие виды применить → что автоматизировать → критерии выхода.