Я разработал одно приложение для iPhone, и теперь я хочу его в App Store. Так много моих друзей-фанатов iOS сказали мне протестировать его на реальном устройстве, т.е. на iPhone.
Так что мне интересно, почему нужно тестировать мое приложение для iPhone на реальном устройстве iPhone, хотя они (Apple) дали «симулятор», который примерно такой же, как мое устройство?
Ответы:
Вам необходимо протестировать приложение на реальном устройстве, чтобы хотя бы посмотреть, как оно себя ведет:
Разработчики iOS, пожалуйста, продолжайте этот список.
источник
Одна вещь, которую вы никогда не узнаете при тестировании с эмулятором, это то, что на самом деле чувствует пользователь, держащий в руках реальное устройство, скользя пальцами по экрану. В результате действия пользователя, которые казались плавными при моделировании с помощью сенсорной панели на вашем ноутбуке, могут оказаться довольно громоздкими для реального использования устройства. Чтобы убедиться, что с вашим приложением все в порядке, протестируйте его на реальном устройстве.
Еще одна вещь, которую стоит протестировать на реальном устройстве, это потребление батареи. На самом деле, гораздо безопаснее просто протестировать на реальном устройстве, чем полагаться на то, насколько удачно разработчики симулятора смогли воспроизвести его в своем инструменте.
Могут быть и другие вещи, которые просто не достаточно близки в симуляторе. Например, громкость и баланс звука - то, как он звучит на вашем ноутбуке, может отличаться от того, каким он будет на реальном телефоне. Вибрация является еще одним примером, который едва ли можно исправить с помощью симулятора. Как работают гироскопические датчики на реальном телефоне. GPS / местоположение связанных вещей. И т. Д. И т. Д. ...
Симулятор и тестирование реальных устройств - довольно важная проблема. В одном из моих прошлых проектов важной частью коммерческого успеха был тщательный баланс между этими видами тестирования, который, по сути, сводится к постоянному повторному заданию вопросов, например, почему на устройстве?
Реальная работа начинается, когда кто-то спрашивает, почему , выбирая причины выбора между тестированием на устройстве и симулятором в конкретных случаях и ситуациях.
Игнорирование тестирования устройства подвергает ваш продукт (довольно высокий) риск взлома прямо в руки конечного пользователя, полностью разрушая все усилия, которые вы вкладываете в разработку. Но дело в том, что тестирование на симуляторах НАМНОГО дешевле и намного проще для автоматизации. Если вслепую придерживаться тестирования только на устройстве, их выпуски могут стать значительно позже и дороже, чем у конкурентов.
источник
Из опыта и взлета из лучшего проголосовавшего ответа:
Пальцы вместо мыши были самой большой разницей, когда мы разрабатывали Decimation X2 для Windows Phone 7. Он был написан на эмуляторе, так как у нас не было WP7, и это было до выпуска WP7. Мы могли бы получить бесплатный WP7 до релиза, если бы последнее предложение не имело для вас смысла, так как Microsoft пригласила нас иметь название для запуска на своем телефоне. Оказалось, что то, что мы хотели, чтобы пользователь делал пальцами, было очень сложно на реальном телефоне, но легко с помощью мыши. И это было связано с крайними случаями экрана. К сожалению, наша игра требовала, чтобы ваши пальцы были все время на краю экрана, что некоторые телефоны затрудняли из-за их утопленного экрана, а также толстых корпусов. Мы на самом деле выпустили патч, чтобы это исправить. Это означает, что все наши новые пользователи были показаны плохими и потенциально непригодными, версия нашей игры. :(
Различная аппаратная скорость была следующей самой большой разницей. Нам пришлось буквально угадать по неточному методу взятия нашей версии игры для Xbox 360 и понизить ее соответственно до половины частоты кадров (от 60 до 30 кадров в секунду) и до одной трети от ГГц (от 3,0 до 1,0 ГГц), и мы догадались неправильно. Конечно, процессоры были разные, и мы это знали. Без аппаратных средств мы остались с неубедительными догадками. Это был не наш выбор, так как у нас не было WP7, но мы усвоили урок, которым я сейчас делюсь с вами. На некоторых телефонах во время самых интенсивных частей игры сбрасывались кадры. :( Казалось, никому нет до этого дела, поскольку они предполагали, что замедление было подходящим для таких напряженных частей. Так что это не было большой проблемой, но суть в том, что если бы это было большим делом, «приложение» было бы сломано из-за наших неудачных догадок.
Тест на реальном оборудовании. И когда вы кодируете для различного аппаратного обеспечения телефона, проверьте на младших из них, если производительность является проблемой.
источник
В iPhone Simulator реализованы некоторые API-интерфейсы, которых сам iPhone не поддерживает (основным, который приходит на ум, является API-интерфейс DOM XML, где, насколько мне известно, iPhone поддерживает только SAX, это могло бы измениться сейчас).
Это также позволит вам «почувствовать» приложение, ваши кнопки нужного размера? Правильные кнопки попадают под большой палец? Работает ли iPhone с приложением? Симулятор не является эмулятором и работает, просто добавив Cocoa Touch на свой рабочий стол Mac для этого приложения. Вы должны симулировать нехватку памяти предупреждений и тому подобное.
источник
Потому что много пользователей не будут ходить с симулятором в кармане.
РЕДАКТИРОВАТЬ: всякий раз, когда вы тестируете свое приложение на симуляторе (или эмуляторе), вы используете поддельное устройство, которое по определению не может быть на 100% точным представлением реальной вещи. Эмулятор может быть более точным, чем симулятор, но различия все равно будут. Единственный 100% точный эмулятор - это само устройство.
Проектирование, тестирование, оптимизация кода на симуляторе приводит к созданию приложения, которое точно настроено для оптимальной работы на симуляторе. У ваших пользователей не будет симуляторов; Вы нацелены не на то устройство. Очень похожий; но не то же самое устройство, которое будут использовать ваши пользователи.
Это может привести к нескольким видам проблем. Серьезные проблемы, такие как ошибки, сбои, безусловно, ваш главный приоритет. Но есть и другие; такие как эргономика. Попробуй держать симулятор в руке. Просто попробуй. Элементы пользовательского интерфейса отображаются на другом экране, возможно, с другой цветопередачей и, конечно, разными размерами (проблема, усугубляемая красивыми дисплеями на сетчатке, не полностью решается, например, при использовании MacBook с сетчаткой). Являются ли эти изысканные оттенки серого одинаково различимы на устройстве на солнце?
Незначительные различия в скорости и различная эмуляция сенсора (или их отсутствие) иногда могут существенно изменить восприятие.
Если ваше приложение зависит от подключения к Интернету, вы не сможете переключаться между LTE, 3G, EDGE или GPRS, тестировать различные сценарии или даже тестировать разных операторов.
Собираетесь ли вы поддерживать взломанные устройства? Возможно, нет, но если да, то вы, вероятно, готовы протестировать свое приложение с одним из них. Или, если нет, вы уверены, что обнаруживаете взломанную среду?
Является ли игра для iPad, которую вы разрабатываете на симуляторе, одинаково полезной, когда пользователь держит свой вес и использует свои пальцы для игры? Могут ли непреднамеренные множественные касания сломать ваше приложение, чего вы не могли ожидать в безопасной среде симулятора с одним касанием (или симметричным двойным касанием)?
Вам было бы удобно сесть на самолет под командованием пилота, который на самом деле никогда не покидал землю?
Суть в том, что перед отправкой, пожалуйста, используйте то же устройство, которое будут использовать ваши пользователи. Никто из них не собирается использовать симулятор.
источник
практическая причина:
1) У вас нет функции «отправить почту».
2) Устройство нельзя перевернуть с ног на голову.
и, конечно, уже сказал причину:
3) низкая пропускная способность
4) очень малая вычислительная мощность по сравнению с симулятором
5) вызовы Open GL реализованы немного по-другому в симуляторе
6) дисковое пространство / RAM.
источник
Хотя уже упоминалось, что производительность оборудования, как правило, хуже, следует отметить, что это не относится к OpenGL ES. Имитатор реализует его в программном обеспечении, поэтому можно заметить значительное повышение производительности при работе на самом устройстве.
Кроме того, между программными и аппаратными реализациями Open GL ES есть некоторые незначительные различия, например, подсказки точности шейдера могут иметь разные выходные данные.
источник
Когда мы реализуем вещи для iOS (или Android, или Windows Phone), мы разрабатываем не для рабочего стола, а для устройства. Для некоторых вычислений / ресурсоемких приложений это может означать нормальное поведение на симуляторе, НО проблемы на реальном устройстве.
Таким образом, подобные ситуации могут возникнуть на более поздних этапах, если мы не будем тестировать устройство с самого начала:
источник
Есть некоторые функции, такие как PushNotification , использование камеры и т. Д. , Которые мы можем тестировать только на устройстве; это функции, которые нельзя протестировать на симуляторе.
А тестирование вашего приложения на реальном устройстве перед отправкой в App Store снижает вероятность отклонения приложения; иногда приложение отлично работает в симуляторе, но оно падает на реальном устройстве, что является основной причиной отклонения приложения.
источник
Могут быть реальные различия в производительности между фактическим устройством и эмулятором. Мы обнаружили, что во многих случаях только тестирование с помощью эмулятора приводило к очень медленному приложению, чего мы не ожидали.
источник
Пользовательский опыт варьируется от одного устройства к другому из-за разных ОС и
технические характеристики оборудования. Следовательно, необходимо протестировать приложение iPhone на фактическом
устройства - мобильные устройства под управлением различных версий iOS на рынке.
Хотя симулятор полезен для выявления любых проблем, с которыми сталкивается конечный пользователь,
тестирование приложения на исходном устройстве поможет в выявлении и решении основных
проблемы пользователя.
источник