Как используется виртуальная машина в тестировании
Что проверяют
Понимаете ли вы, зачем тестировщику виртуальная машина и чем она отличается от контейнера и от реального устройства. Следом обычно спрашивают про снапшоты и о том, когда вы выберете VM, а когда Docker или облачную ферму браузеров.
Как отвечать
Виртуальная машина это полноценная гостевая ОС со своим ядром поверх гипервизора (VirtualBox, VMware, Hyper-V, KVM). В тестировании её берут там, где нужна именно отдельная система:
- другая ОС: проверить десктопное приложение или установщик под Windows, когда вы работаете на macOS или Linux. Контейнер тут не поможет, он делит ядро с хостом;
- снапшоты: сохранили чистое состояние системы, прогнали установку, обновление или удаление, откатились за минуту. Так тестируют миграции версий и сценарий «поставили поверх старой»;
- воспроизводимость: стенд описан образом или скриптом (Vagrant, Packer), и баг воспроизводится на той же конфигурации, что у заказчика;
- изоляция опасного: сбои сети, нехватка диска, работа с правами администратора, запуск подозрительных файлов;
- стенды в облаке: временные VM под нагрузочный прогон или отдельный стенд на ветку, которые удаляются после теста.
Дальше покажите, что знаете границы. Для кроссбраузерного веб-тестирования сейчас обычно хватает контейнеров с браузерами (Selenium Grid, Playwright в Docker) или облачных ферм: они легче и быстрее поднимаются. Для мобильных приложений эмуляторы и симуляторы полезны, но финальную проверку делают на реальных устройствах.
Где спотыкаются
Путают VM и контейнер. Контейнер легче и стартует за секунды, но не даст вам Windows на Linux-хосте и не проверит установщик с драйверами.
Меряют производительность на виртуалке и выдают цифры за боевые. Соседи по хосту и накладные расходы виртуализации искажают результат нагрузочного теста.
Забывают откатить снапшот и гоняют тесты на уже «грязной» системе. Баг, найденный так, потом не воспроизводится на чистой установке.