Почему необходимо тестировать приложение iPhone на реальном устройстве iPhone


23

Я разработал одно приложение для iPhone, и теперь я хочу его в App Store. Так много моих друзей-фанатов iOS сказали мне протестировать его на реальном устройстве, т.е. на iPhone.

Так что мне интересно, почему нужно тестировать мое приложение для iPhone на реальном устройстве iPhone, хотя они (Apple) дали «симулятор», который примерно такой же, как мое устройство?


3
Проблема с "примерно так же, как мое устройство". Почти то же самое не достаточно хорошо. Небольшая разница может повлиять на великие вещи вашего приложения. Вам нужно не только протестировать его на аппаратном уровне, но и подумать о тестировании на разных версиях аппаратного и программного обеспечения (версия для iOS).
Коралловая Доу

Ответы:


51

Вам необходимо протестировать приложение на реальном устройстве, чтобы хотя бы посмотреть, как оно себя ведет:

  • Аппаратное обеспечение реального устройства
  • Реальное подключение к интернету (в том числе использование сотовой сети против WiFi)
  • Ваши пальцы вместо мыши
  • Производительность с другими приложениями, работающими в фоновом режиме
  • Ограничения iPhone, такие как процессор, емкость диска и память ( симулятор не является эмулятором ).
  • Реальный контекст: легко ли использовать ваше приложение в поезде или во время прогулки по улице? Как насчет яркого солнечного света или дождя?

Разработчики iOS, пожалуйста, продолжайте этот список.


это мило.. :). Очень простая вещь, о которой я должен подумать ... :) Thnaks
NSS

2
На самом деле ему нужно протестировать его со всеми устройствами, для которых он предназначен (iphone3 / 3g / 4 / 4s / 5), а также со всеми версиями ios 3/4/5/6, или он должен явно исключить это устройство / версию.
ot--

Спасибо за симулятор, а не за ссылку на эмулятор. Я никогда не знал, что есть разница между ними.
Кришнабхадра

Появляются открытые лаборатории тестирования устройств, например, mobile.smashingmagazine.com/2012/09/24/… . Может быть, есть один в вашем районе. Google "лаборатория мобильных испытаний" "лаборатория открытых устройств"
Jan Doggen

20

Одна вещь, которую вы никогда не узнаете при тестировании с эмулятором, это то, что на самом деле чувствует пользователь, держащий в руках реальное устройство, скользя пальцами по экрану. В результате действия пользователя, которые казались плавными при моделировании с помощью сенсорной панели на вашем ноутбуке, могут оказаться довольно громоздкими для реального использования устройства. Чтобы убедиться, что с вашим приложением все в порядке, протестируйте его на реальном устройстве.

Еще одна вещь, которую стоит протестировать на реальном устройстве, это потребление батареи. На самом деле, гораздо безопаснее просто протестировать на реальном устройстве, чем полагаться на то, насколько удачно разработчики симулятора смогли воспроизвести его в своем инструменте.

Могут быть и другие вещи, которые просто не достаточно близки в симуляторе. Например, громкость и баланс звука - то, как он звучит на вашем ноутбуке, может отличаться от того, каким он будет на реальном телефоне. Вибрация является еще одним примером, который едва ли можно исправить с помощью симулятора. Как работают гироскопические датчики на реальном телефоне. GPS / местоположение связанных вещей. И т. Д. И т. Д. ...


Симулятор и тестирование реальных устройств - довольно важная проблема. В одном из моих прошлых проектов важной частью коммерческого успеха был тщательный баланс между этими видами тестирования, который, по сути, сводится к постоянному повторному заданию вопросов, например, почему на устройстве?

Реальная работа начинается, когда кто-то спрашивает, почему , выбирая причины выбора между тестированием на устройстве и симулятором в конкретных случаях и ситуациях.

Игнорирование тестирования устройства подвергает ваш продукт (довольно высокий) риск взлома прямо в руки конечного пользователя, полностью разрушая все усилия, которые вы вкладываете в разработку. Но дело в том, что тестирование на симуляторах НАМНОГО дешевле и намного проще для автоматизации. Если вслепую придерживаться тестирования только на устройстве, их выпуски могут стать значительно позже и дороже, чем у конкурентов.


3
+1 за акцент на пользовательский опыт. Это очень важная часть, когда вы думаете о совместном использовании приложения в магазине приложений.
Коралловая Доу

1
У вас был отличный комментарий на доске о гораздо больших расходах на тестирование устройства по сравнению с симулятором. Я думаю, что было бы здорово включить в ваш ответ. +1 даже без этого.
PSR

@psr рад, что вам понравилось - обновил ответ, как вы предложили
gnat

7

Из опыта и взлета из лучшего проголосовавшего ответа:

  • Пальцы вместо мыши были самой большой разницей, когда мы разрабатывали Decimation X2 для Windows Phone 7. Он был написан на эмуляторе, так как у нас не было WP7, и это было до выпуска WP7. Мы могли бы получить бесплатный WP7 до релиза, если бы последнее предложение не имело для вас смысла, так как Microsoft пригласила нас иметь название для запуска на своем телефоне. Оказалось, что то, что мы хотели, чтобы пользователь делал пальцами, было очень сложно на реальном телефоне, но легко с помощью мыши. И это было связано с крайними случаями экрана. К сожалению, наша игра требовала, чтобы ваши пальцы были все время на краю экрана, что некоторые телефоны затрудняли из-за их утопленного экрана, а также толстых корпусов. Мы на самом деле выпустили патч, чтобы это исправить. Это означает, что все наши новые пользователи были показаны плохими и потенциально непригодными, версия нашей игры. :(

  • Различная аппаратная скорость была следующей самой большой разницей. Нам пришлось буквально угадать по неточному методу взятия нашей версии игры для Xbox 360 и понизить ее соответственно до половины частоты кадров (от 60 до 30 кадров в секунду) и до одной трети от ГГц (от 3,0 до 1,0 ГГц), и мы догадались неправильно. Конечно, процессоры были разные, и мы это знали. Без аппаратных средств мы остались с неубедительными догадками. Это был не наш выбор, так как у нас не было WP7, но мы усвоили урок, которым я сейчас делюсь с вами. На некоторых телефонах во время самых интенсивных частей игры сбрасывались кадры. :( Казалось, никому нет до этого дела, поскольку они предполагали, что замедление было подходящим для таких напряженных частей. Так что это не было большой проблемой, но суть в том, что если бы это было большим делом, «приложение» было бы сломано из-за наших неудачных догадок.

Тест на реальном оборудовании. И когда вы кодируете для различного аппаратного обеспечения телефона, проверьте на младших из них, если производительность является проблемой.


6

В iPhone Simulator реализованы некоторые API-интерфейсы, которых сам iPhone не поддерживает (основным, который приходит на ум, является API-интерфейс DOM XML, где, насколько мне известно, iPhone поддерживает только SAX, это могло бы измениться сейчас).

Это также позволит вам «почувствовать» приложение, ваши кнопки нужного размера? Правильные кнопки попадают под большой палец? Работает ли iPhone с приложением? Симулятор не является эмулятором и работает, просто добавив Cocoa Touch на свой рабочий стол Mac для этого приложения. Вы должны симулировать нехватку памяти предупреждений и тому подобное.


5

Потому что много пользователей не будут ходить с симулятором в кармане.

РЕДАКТИРОВАТЬ: всякий раз, когда вы тестируете свое приложение на симуляторе (или эмуляторе), вы используете поддельное устройство, которое по определению не может быть на 100% точным представлением реальной вещи. Эмулятор может быть более точным, чем симулятор, но различия все равно будут. Единственный 100% точный эмулятор - это само устройство.

Проектирование, тестирование, оптимизация кода на симуляторе приводит к созданию приложения, которое точно настроено для оптимальной работы на симуляторе. У ваших пользователей не будет симуляторов; Вы нацелены не на то устройство. Очень похожий; но не то же самое устройство, которое будут использовать ваши пользователи.

Это может привести к нескольким видам проблем. Серьезные проблемы, такие как ошибки, сбои, безусловно, ваш главный приоритет. Но есть и другие; такие как эргономика. Попробуй держать симулятор в руке. Просто попробуй. Элементы пользовательского интерфейса отображаются на другом экране, возможно, с другой цветопередачей и, конечно, разными размерами (проблема, усугубляемая красивыми дисплеями на сетчатке, не полностью решается, например, при использовании MacBook с сетчаткой). Являются ли эти изысканные оттенки серого одинаково различимы на устройстве на солнце?

Незначительные различия в скорости и различная эмуляция сенсора (или их отсутствие) иногда могут существенно изменить восприятие.

Если ваше приложение зависит от подключения к Интернету, вы не сможете переключаться между LTE, 3G, EDGE или GPRS, тестировать различные сценарии или даже тестировать разных операторов.

Собираетесь ли вы поддерживать взломанные устройства? Возможно, нет, но если да, то вы, вероятно, готовы протестировать свое приложение с одним из них. Или, если нет, вы уверены, что обнаруживаете взломанную среду?

Является ли игра для iPad, которую вы разрабатываете на симуляторе, одинаково полезной, когда пользователь держит свой вес и использует свои пальцы для игры? Могут ли непреднамеренные множественные касания сломать ваше приложение, чего вы не могли ожидать в безопасной среде симулятора с одним касанием (или симметричным двойным касанием)?

Вам было бы удобно сесть на самолет под командованием пилота, который на самом деле никогда не покидал землю?

Суть в том, что перед отправкой, пожалуйста, используйте то же устройство, которое будут использовать ваши пользователи. Никто из них не собирается использовать симулятор.


4
Простое и правильное мнение, но детализация, выходящая за рамки одного предложения, делает ответ более ценным для сообщества в целом.
Джимми Хоффа

3

практическая причина:

1) У вас нет функции «отправить почту».

2) Устройство нельзя перевернуть с ног на голову.

и, конечно, уже сказал причину:

3) низкая пропускная способность

4) очень малая вычислительная мощность по сравнению с симулятором

5) вызовы Open GL реализованы немного по-другому в симуляторе

6) дисковое пространство / RAM.


Современные симуляторы и эмуляторы позволяют вращать устройство. Облачные тоже, например, эмулятор Nokia Lumia, предлагаемый BrowserStack.
Дан Даскалеску

некоторые ротации глючат или не реализованы .. попробуйте .. :) и Apple заявляет по адресу: developer.apple.com/library/content/documentation/IDEs/…
ingconti

3

Хотя уже упоминалось, что производительность оборудования, как правило, хуже, следует отметить, что это не относится к OpenGL ES. Имитатор реализует его в программном обеспечении, поэтому можно заметить значительное повышение производительности при работе на самом устройстве.

Кроме того, между программными и аппаратными реализациями Open GL ES есть некоторые незначительные различия, например, подсказки точности шейдера могут иметь разные выходные данные.


2

Когда мы реализуем вещи для iOS (или Android, или Windows Phone), мы разрабатываем не для рабочего стола, а для устройства. Для некоторых вычислений / ресурсоемких приложений это может означать нормальное поведение на симуляторе, НО проблемы на реальном устройстве.

Таким образом, подобные ситуации могут возникнуть на более поздних этапах, если мы не будем тестировать устройство с самого начала:

  • Память предупреждения / сбои
  • Частота кадров OpenGL с одной цифрой

2

Есть некоторые функции, такие как PushNotification , использование камеры и т. Д. , Которые мы можем тестировать только на устройстве; это функции, которые нельзя протестировать на симуляторе.

А тестирование вашего приложения на реальном устройстве перед отправкой в ​​App Store снижает вероятность отклонения приложения; иногда приложение отлично работает в симуляторе, но оно падает на реальном устройстве, что является основной причиной отклонения приложения.


2

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


3
По иронии судьбы, одно из моих приложений имеет лучшую производительность на реальном устройстве, чем на эмуляторе на моем ноутбуке.
Майкл Ицоэ

1
@nathan: Я думаю, что мы используем симулятор, а не эмулятор! Android SDK имеет эмулятор, в то время как iOS SDK предоставляет симулятор ... и есть разница между эмулятором и симулятором. разве? так что я читаю твои ответы, заменяя эмулятор слов симулятором ... n tnx 2 ans :)
NSS

-1

Пользовательский опыт варьируется от одного устройства к другому из-за разных ОС и

технические характеристики оборудования. Следовательно, необходимо протестировать приложение iPhone на фактическом

устройства - мобильные устройства под управлением различных версий iOS на рынке.

Хотя симулятор полезен для выявления любых проблем, с которыми сталкивается конечный пользователь,

тестирование приложения на исходном устройстве поможет в выявлении и решении основных

проблемы пользователя.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.