В чем отличие эмулятора и симулятора и когда что лучше использовать
Что проверяют
Понимаете ли вы, что именно воспроизводит каждый инструмент и чего он не покажет. Для мобильного QA это не философия, а решение, на чём гонять регресс. Следом обычно спрашивают, какие баги ловятся только на реальном устройстве.
Как отвечать
Разница в уровне, на котором подменяется устройство:
- эмулятор воспроизводит железо целевой платформы, и на нём работает настоящий образ ОС. Android Emulator из Android Studio построен на QEMU и запускает системный образ Android с аппаратным ускорением;
- симулятор воспроизводит только поведение системы. iOS Simulator из Xcode запускает среду iOS прямо на macOS, приложение собирается под архитектуру Mac. Сборку для реального iPhone в симуляторе не установить, а производительность будет производительностью Mac.
Отсюда практические выводы:
- эмулятор Android умеет подменять геопозицию, скорость сети, заряд батареи, датчики и отпечаток пальца. Удобен для матрицы версий Android и размеров экрана;
- симулятор iOS быстро запускается и хорош для вёрстки, локализации и функциональных сценариев. Push можно отправить командой
xcrun simctl push; - оба годятся для автотестов в CI: Espresso, XCUITest, Appium.
Только реальное устройство покажет производительность и нагрев, работу камеры, Bluetooth и NFC, поведение в плохой сети, прошивки производителей вроде One UI или HyperOS, которые агрессивно убивают фоновые процессы. Если своего парка устройств мало, помогают облачные фермы: Firebase Test Lab, BrowserStack.
Хороший итог: эмуляторы и симуляторы на ранних этапах и в CI, реальные устройства для проверок, завязанных на железо, и финального регресса перед релизом.
Где спотыкаются
Отвечают общими примерами про игровые приставки и авиатренажёры, не упоминая Android Emulator и iOS Simulator. Для вакансии в мобильном тестировании это пропуск главного.
Говорят, что эмулятор полностью повторяет устройство. Он не повторяет ни конкретный чип, ни оболочку производителя, ни реальный радиомодуль.
Подписывают релиз после прогона только на симуляторах. Проблемы с памятью, фоновой работой и разрешениями потом находят пользователи.