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