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