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