Согласно исследованию корпорации International Data (IDC), во втором квартале 2015 года глобального рынок смартфонов вырос на 13% (по сравнению с данными за прошлогодний период). Общее количество приобретенных смартфонов составило 341.4 млн, а лидирующие компании (по части объема выпуска устройств) сохранили свои былые позиции: Samsung (Android) занимает первую строчку в этом рейтинге, Apple (iOS) — второй, за ними следует Huawei (Android). И хотя операционная система Android доминирует на рынке (82.8%), Apple постепенно приближается к своему конкуренту (рыночная доля iOS составляет 13.2%), на все остальные ОС приходится 4.0%.
Из всего этого вытекает логичный вопрос о том, каким должно быть тестирование игр/приложений для iOS, и какие устройства следует обязательно внести в тестовый список?
Вся экосистема тестирования iOS приложений все еще базируется на эмуляторах, широко используются тестовые beta-сервисы, но в последнее время автоматизированное тестирование на реальных устройствах достаточно быстро становится приоритетным для многих разработчиков популярных мобильных приложений и игр. Существует ряд причин, почему разработчикам приложений/игр для iOS стоит обратить внимание на такую разновидность тестирования.
Данные IDC свидетельствуют о том, что Apple является вторым крупнейшим разработчиком мобильных устройств, в поточной линии гаджетов компании из Купертино присутствует ряд популярных смартфонов и планшетов. Согласно результатам исследования Unity3D, на iPhone приходится 60% от общего количества установок iOS-приложений, доля iPad составляет 36%, iPod Touch — 4%.

Какие версии операционных систем iOS обязательны для тестирования?

По данным Mixpanel на 10 декабря 2015 г., iOS9 (учитываются все версии iOS 9: iOS9 9.2, iOS 9.1, iOS 9.0.2, iOS 9.01 и 9.0 beta) установлена на 79.85% устройств.

Тестирование приложений на IOS

Практический способ iOS-тестирования состоит в том, чтобы сосредоточить все усилия на новейших версиях iOS, и добавить в тестовый реестр предыдущие версии, если эти ОС есть у более чем 5% пользователей.
Apple спешно принимает меры по устранению всевозможных багов, часто выпуская новые версии iOS (обновления), которые устраняют недочеты и уязвимости предыдущих.
А недавнее исследование Testdroid Cloud показало, что общее количество ошибок можно свести к минимуму, если одно и то же приложение тестируется на нескольких версиях iOS.
Обновления iOS можно разместить на временной шкале.

Тестирование мобильных приложений на IOS
Первая официальная iOS 9 появилась 16 сентября (однако первая beta была представлена на конференции WWDC в июне прошлого года), в течение последующих недель Apple выпустила две версии: iOS 9.0.1 — 23 сентября и iOS 9.0.2 — 30-го сентября. Следующие версии стали доступны 21 октября (9.1) и 8 декабря, когда вышла 9.2.

Топ 10 устройств для тестирования приложений на iOS

Чтобы охватить необходимое число пользователей, разный набор спецификаций аппаратного обеспечения (размеры экранов, чипсеты и т. д.), вкупе с разными версиями iOS, в рамках тестирования стоит задействовать ниже перечисленные устройства. Таким образом можно будет охватить 90% всех iOS-устройств и к тому же лучшие испытательные модели, что позволит с большей вероятностью выявить недостатки приложений iOS или игр.
Вот список наиболее важных iOS-устройств для тестирования приложений:

  • iPhone 6S (Global / A1688), iOS 9.x
  • iPhone 6 Plus (Global / A1524), iOS 9.x и iOS 8.x
  • iPhone 6 (Global / A1586), iOS 9.x и iOS 8.x
  • iPhone 6S Plus (Global / A1687), iOS 9.x
  • iPad Mini 3 (Global / A1599), iOS 9.x и iOS 8.x
  • iPhone 6 (GSM / Северная Америка / A1549), iOS 9.x
  • iPad Air 2 (WiFi / Cellular / A1567), iOS 9.x и iOS 8.x
  • iPad Mini 2 (WiFi only / A1489), iOS 9.x и iOS 8.x
  • iPhone 5C (GSM / Северная Америка / A1532), iOS 9.x и iOS 8.x
  • iPhone 5S (GSM / Северная Америка / A1533), iOS 9.x и iOS 8.x

Конечно, существуют и другие варианты, которые могут оказаться не менее эффективными. iPhone 6S, например, поставляются как A1633, A1688, A1700, A1634, A1699, равно как и упомянутый выше A1687. Многие из них привязаны к определенным географическим регионам — поставляются в определенные страны, — но их испытательные среды во многом схожи. Целесообразнее использовать перечисленные модели, с тем чтобы максимизировать эффект, поскольку именно эти устройства распространены среди широких масс пользователей. И, что, пожалуй, еще важнее, пользователи этих устройств часто совершают покупки внутри приложений, а это, в свою очередь, способствует увеличению финансовых поступлений.

Как тестировать приложения и игры iOS на этих гаджетах?

Тестирование мобильных игр на IOS

Тестирование iOS-приложений обычно осуществляется либо вручную, либо с помощью сервисов для beta-тестирования, когда приложения тестируются на людях, или же происходит автоматизированное тестирование. Автоматизация тестирования для iOS предполагает написание тестовых скриптов. Симуляторы предоставляют определенную информацию, но все же есть веские доводы для тестирования на реальных устройствах.
Существует три основных разновидности автоматизации: end-to-end сценарий, тест устройства и тест пользовательского интерфейса.
Так называемый end-to-end тест — это полное системное тестирование, когда происходит симуляция реального пользователя, и приложением управляет тестовый скрипт. В рамках тестирования отслеживаются различные компоненты работы в общем процессе. Такого рода тестирование включает запуск приложения на реальных устройствах (одновременно на нескольких различных моделях), автоматически выполняются определенные действия (например, клики, прокрутка экрана и др.) Это может быть запуск приложения/сервиса, покупка внутри приложения и общее тестирование того, как приложение реагирует на действия пользователя. Все взаимодействия логируются, или фиксируются в качестве скриншотов и даже видеозаписей тестовых сессий.
Автоматизация тестирования также применяется вне зависимости от отличий в параметрах дисплея и аппаратного обеспечения. К примеру, в тестовый скрипт вносится информация о разрешении экрана, он идентифицирует определенные элементы.

Более того, становится популярным распознавание изображений при тестировании мобильных игр; многие гейм-разработчики включают такой функционал в свои автоматизированные тесты. Такой подход значительно упрощает задачу, так как устройства могут тестироваться одновременно, вне зависимости от их параметров.

Как автоматизировать тест веб-сайта на устройствах iOS?

Selenium — один из популярнейших фреймворков для тестирования мобильных сайтов. Проект с открытым исходным кодом является стандартным средством для тестирования не мобильных устройств в рамках end-to-end, но также применяется и для мобильных устройств. Фреймворк Appium, зависимый от программной библиотеки Selenium WebDriver, довольно быстро стал популярным средством автоматизации тестирования веб-сайтов и прочих вещей, относящихся к веб.