В чем разница тестирования iOS и Android?
Что проверяют
Знаете ли вы платформенную специфику, а не только названия инструментов.
Как отвечать
Разделите по темам.
Устройства и версии. У Android огромная фрагментация: производители, оболочки, версии системы, размеры и плотности экранов. Матрица покрытия строится по доле аудитории. У iOS набор узкий и предсказуемый, но есть свои размеры и вырез экрана.
Жизненный цикл. Самая плодородная почва для дефектов в Android: активити пересоздаётся при повороте и смене настроек, а процесс может быть убит в фоне с последующим восстановлением состояния. Проверка «уйти в фон, убить процесс, вернуться» находит потерянные данные регулярно. В iOS модель проще, но приложение тоже выгружают при нехватке памяти.
Разрешения. В Android они запрашиваются во время работы с версии 6, а правила меняются от версии к версии, включая доступ к файлам и уведомлениям. В iOS запрос однократный, с обязательным текстом-обоснованием, и повторно его не показать: пользователь идёт в настройки.
Фоновая работа. Android жёстко ограничивает фон режимом экономии и правилами для служб, у производителей поверх этого свои ограничения. В iOS фоновое выполнение ещё ограниченнее и строго регламентировано.
Инструменты. Espresso и UI Automator против XCUITest, Appium работает на обеих. Симулятор iOS это не устройство: он не воспроизводит производительность, камеру и часть системных ограничений, поэтому реальные устройства обязательны.
Дистрибуция. TestFlight против внутреннего тестирования в Play Console. Ревью в App Store строже и дольше, что влияет на сроки исправлений.
Мелочи, которые ловят дефекты. Аппаратная кнопка назад в Android и жест назад в iOS, разное поведение клавиатуры, глубокие ссылки, уведомления через разные службы доставки.
Где спотыкаются
Проверяют только на симуляторе.
Не тестируют пересоздание активити и убийство процесса.
Игнорируют отзыв разрешений в настройках системы.
Считают, что один набор автотестов покроет обе платформы без изменений.