Почему существует разделение по видам тестирования
Что проверяют
Есть ли у вас система, или вы запомнили список слов с курсов. Хороший ответ показывает, что классификаций несколько и они независимы, а не что вы помните десяток терминов подряд.
Как отвечать
Одно и то же тестирование режут по разным основаниям, и каждое отвечает на свой вопрос.
- по уровню: модульное, интеграционное, системное, приёмочное. Отсюда видно, насколько крупный кусок проверяем и как быстро получим обратную связь;
- по знанию устройства: чёрный, серый и белый ящик;
- по цели: функциональное и нефункциональное, то есть производительность, безопасность, доступность, совместимость, локализация;
- по запуску кода: статическое (требования, ревью, анализаторы) и динамическое;
- по месту в процессе: дымовое, регрессионное, повторное после исправления;
- по способу выполнения: ручное, автоматизированное, исследовательское.
Ключевая мысль: оси не исключают друг друга, один тест попадает сразу в несколько. Автотест на API это динамическое, интеграционное, функциональное тестирование чёрного ящика.
Зачем это нужно на работе: оси задают вопрос «что мы ещё не проверили», и так строится тест-стратегия. Разные виды требуют разного: нагрузочному нужен стенд, сопоставимый с боевым, и профиль нагрузки; проверке безопасности нужны свои инструменты и разрешение; доступности нужен скринридер. Плюс общий язык: просьба прогнать регресс перед релизом понимается всеми одинаково.
Где спотыкаются
Сваливают оси в один список и перечисляют функциональное, регрессионное и модульное как взаимоисключающие пункты. После этого интервьюер копает и выясняет, что классификация заучена, а не понята.
Второе: путают дымовое, регрессионное и повторное. Дымовое отвечает, годится ли сборка для тестирования вообще; регрессионное, не сломалось ли то, что работало; повторное, исправлен ли конкретный дефект.
Третье: называют виды, но не могут сказать, что от этого меняется в работе. Полезнее объяснить, почему модульных тестов много, а сквозных мало: цена поддержки и время прогона растут, а точность указания на причину падает.