Как протестировать iOS и [не]разориться
#frontend #qa
Устройства под управлением Apple iOS генерируют заметную долю трафика в современном интернете. В отличие от остальных мобильных и десктопных операционных систем, все браузеры в iOS работают на движке WebKit. Причем версия движка обновляется только совместно с обновлением самой iOS. В каждой версии WebKit есть признанный список проблем и ограничений, которые так или иначе влияют на рендеринг веб-страниц и их отображение конечному пользователю. А для некоторых легаси-устройств компании Apple уже не предоставляется возможность обновления. Эти факторы сильно осложняют тестирование и отладку веб-приложений на мобильных устройствах Apple.
В Студии QA-специалисты и frontend-разработчики тестируют разрабатываемые сайты минимум в трех актуальных версиях iOS — 11 (2017), 12 (2018) и 13 (2019) — и на различных устройства — Apple iPhone и iPad. Иногда необходима поддержка и более ранних версий iOS — 9 или 10. Все это требует наличия большого количества устройств. При этом за доступ к физическим девайсам идет постоянная борьба среди разработчиков, тестировщиков и дизайнеров 😱
Конечно, проблему можно решить с помощью SaaS, например, того же Browserstack. Об этом мы писали в одной из наших заметок. Недостаток очевиден — это стоимость подписки, которая будет расти с увеличением числа одновременно используемых устройств.
Все специалисты Студии работают на устройствах Apple iMac, операционная система которых предполагает использование среды разработки Xcode. В свою очередь, Xcode содержит приложение Simulator, эмулирующее работу iOS в macOS для мобильных разработчиков.
Внутри симулятора можно запустить веб-браузер Safari, поведение которого будет соответствовать настоящему устройству. В наличии все актуальные версии iOS под любые устройства — даже часы и TV 😎 На одном компьютере разрешается запуск нескольких симуляторов, что может сказаться на производительности вашей операционной системы 😁
На Stackoverflow можно найти удобный список версий Xcode для скачивания и инструкцию по управлению списком устройств.
Post #130
1.42K