Вопрос: Что такое AWS Device Farm?

Сервис AWS Device Farm позволяет разработчикам улучшить качество приложений, сократить время выхода на рынок и повысить удовлетворенность пользователей путем тестирования приложений и взаимодействия с реальными устройствами с Android или iOS в облаке AWS. Разработчики могут загружать свои приложения и скрипты для тестирования и выполнять автоматизированные тесты параллельно на сотне реальных устройств, получая результаты, скриншоты, видео и показатели производительности за несколько минут. Они также могут заниматься отладкой и воспроизведением проблем пользователей путем касаний и других взаимодействий с устройством через веб-браузер. 

 


Вопрос: Кому и зачем следует использовать AWS Device Farm?

Сервис AWS Device Farm предназначен для разработчиков, групп контроля качества и представителей службы поддержки пользователей, занимающихся разработкой, тестированием и поддержкой мобильных приложений. Он помогает повысить качество приложений. Качеству приложений придается все большее значение, а достижение качества становится все более сложным из-за большого количества моделей устройств, вариантов прошивок и версий ОС, настроек операторов связи и производителей, а также в силу зависимости от удаленных сервисов и других приложений. AWS Device Farm ускоряет процесс разработки путем выполнения тестов на большом количестве устройств, что дает разработчикам, специалистам контроля качества и служб поддержки возможность выполнять автоматизированные тесты и проверки вручную, например воспроизводить проблемы пользователей, исследовать новые функциональные возможности и выполнять программы тестирования вручную. AWS Device Farm также обеспечивает значительную экономию средств, избавляя от необходимости поддержания собственных лабораторий устройств, найма менеджеров лабораторий и разработки инфраструктуры автоматизации.

 


Вопрос: Какие типы приложений поддерживает AWS Device Farm?

AWS Device Farm поддерживает нативные и гибридные приложения Android и iOS, интернет-приложения, кроссплатформенные приложения, включая приложения, созданные в PhoneGap, Titanium, Xamarin, Unity и других средах разработки.


Вопрос: В AWS Device Farm используются симуляторы или эмуляторы?

В AWS Device Farm тестирование происходит на реальных устройствах, для которых не получены права root. Устройства представляют собой комбинацию устройств с настройками производителя и устройств, настроенных для работы с определенным оператором.


Вопрос: Как начать работу с AWS Device Farm?


Вопрос: Какие браузеры поддерживает консоль AWS Device Farm?

AWS Device Farm работает в Internet Explorer версии 9 или новее, а также в последних версиях Chrome, Firefox и Safari.


Вопрос: Какие браузеры поддерживаются при тестировании интернет-приложений?

Интернет-приложения тестируются в Chrome при работе в ОС Android и в Safari при работе в iOS.


Вопрос: Какой максимальный размер файла допускается для приложений и тестов?

AWS Device Farm поддерживает файлы до 4 ГБ.


Вопрос: Требуется ли специальная подготовка приложения или предоставление исходного кода?

Для использования встроенных тестов не требуется специальная подготовка приложения или предоставление исходного кода. Приложения Android можно отправлять как есть. При компоновке приложения iOS в качестве целевого устройства необходимо указать «iOS Device», а не симулятор.


Вопрос: Вы сохраняете мое приложение, тесты и другие файлы на своих серверах? Как долго?

Загруженные приложения и файлы автоматически удаляются через 30 дней. Результаты тестирования, снимки экрана и видео хранятся 15 месяцев. Удалить файлы и результаты можно в любое время с помощью консоли AWS Device Farm или API.


Вопрос: Как очищаются устройства после завершения тестирования?

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

Мы продолжаем добавлять дополнительные шаги очистки и улучшать процесс очистки, однако сохраняется возможность того, что в некоторых случаях данные между сеансами будут сохраняться, особенно если система устройства используется за пределами непосредственной работы приложения. По этой причине, а также поскольку AWS Device Farm выполняет захват видео и ведет журналы действий, происходящих во время использования каждого из устройств, в ходе автоматического тестирования и сеансов удаленного доступа рекомендуется избегать ввода или предоставления конфиденциальных данных, например информации, касающейся учетных записей (учетной записи Google, идентификационной записи Apple ID и др.), личных данных и других сведений, имеющих отношение к безопасности.


Вопрос: Вносите ли вы изменения в приложение?

В iOS мы производим замену встроенного профиля обеспечения профилем подстановки и заново выполняем подпись приложения. Если вы предоставили вспомогательные данные, мы добавим их к пакету приложения перед его установкой, и они будут присутствовать в изолированной среде вашего приложения. В результате повторной подписи приложения iOS будут удалены некоторые права. Это касается таких элементов, как App Group, Associated Domains, Game Center, HealthKit, HomeKit, Wireless Accessory Configuration, In-App Purchase, Inter-App Audio, Apple Pay, Push Notifications и VPN Configuration & Control.

В Android мы заново выполняем подпись приложения. Это может привести к нарушению функциональных возможностей, которые зависят от подписи приложения, таких как работа с API Google Maps для Android. Это также может привести к срабатыванию механизмов защиты от пиратства и обнаружения незаконного изменения приложения, например со стороны DexGuard. Для выполнения встроенных тестов мы можем изменить манифест, чтобы добавить разрешения, необходимые для захвата и сохранения скриншотов.


Вопрос: Что такое Direct Device Access в AWS Device Farm?

Возможность Direct Device Access позволяет разработчикам получать доступ к используемой группе частных устройств с локальных компьютеров по аналогии с тем, как выполняется отладка на реальных устройствах, подключенных непосредственно к компьютерам. Эта возможность обеспечивает клиентам выполнение в Android Studio и Xcode тех же задач, что можно выполнить с реальными устройствами. Непосредственный доступ к устройствам в сервисе Device Farm предоставляет пользователю широкий выбор устройств и версий операционных систем. Чтобы получить дополнительные сведения о частных устройствах, свяжитесь с нами.



Вопрос: Эта возможность поддерживается для устройств как с Android, так и с iOS?

Да.


Вопрос: Потребуется ли устанавливать дополнительное ПО на локальный компьютер?

Да. Вы можете скачать клиентское ПО по одной из приведенных ниже ссылок.

Windows: https://s3-us-west-2.amazonaws.com/prod-us-west-2-system-resources/AWSDeviceFarmClient/AWS_Device_Farm.exe

MacOS: https://s3-us-west-2.amazonaws.com/prod-us-west-2-system-resources/AWSDeviceFarmClient/AWS_Device_Farm.dmg

Подробные инструкции по установке приведены в этой документации.

 

 


Вопрос: Могу ли я подключиться с локального компьютера к нескольким устройствам Android?

Да.


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

Нет, на данный момент эта возможность доступна в AWS Device Farm только для частных устройств. Подробнее о группах частных устройств см. по ссылке https://aws.amazon.com/device-farm/pricing/#privateDevices.


Вопрос: Можно ли выполнять отладку и запуск на устройствах AWS Device Farm из Android Studio, Xcode, Chrome Developer Tools или Safari Web inspector?

Да.


Вопрос: Какие среды тестирования поддерживаются для устройств с Android?

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


Вопрос: Где я могу найти дополнительную информацию об этой возможности?

Подробное руководство по настройке доступно по ссылке [insert production link]. Чтобы получить дополнительные сведения о частных устройствах, свяжитесь с нами.

 


Вопрос: Какие устройства доступны в AWS Device Farm? Как вы подбираете устройства для включения в список?

AWS Device Farm предоставляет большой и постоянно расширяющийся выбор устройств с Android, iOS и Fire OS. Мы добавляем новые популярные устройства по мере их выпуска производителями. Мы также добавляем новые устройства при выходе новых версий ОС. См. список доступных устройств.


Вопрос: Есть ли в AWS Device Farm иностранные версии устройств, предназначенные для использования в Европе, Китае или Индии?

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


Вопрос: Как можно выбрать устройства для тестирования? Можно ли выполнять повторное тестирование на том же устройстве?

Для автоматизированного тестирования устройства выбираются из набора, называемого пулом устройств. Некоторые специально отобранные пулы устройств предоставляются автоматически, но у вас есть возможность создавать и свои собственные пулы. Во время выполнения тестирование будет происходить на всех устройствах выбранного пула, которые совместимы с вашим приложением и тестами. Для удаленного доступа вы выбираете желаемое устройство на основе типа, модели, модификации и версии операционной системы. Затем вы можете по желанию загрузить приложение и другие данные, а также выполнить настройку конфигурации устройства. Затем Device Farm находит доступное устройство, соответствующее вашему запросу, и отображает дисплей устройства в вашем браузере. После этого вы можете взаимодействовать с устройством, захватывать и сохранять скриншоты и видео.

 


Вопрос: Имеются ли какие-либо предварительно установленные приложения на тестовых устройствах в AWS Device Farm?

Да, на тестовых устройствах есть ряд приложений, предварительно установленных производителем устройства или оператором.


Вопрос: Могут ли устройства взаимодействовать с другими сервисами или системами, доступными в сети Интернет?

Да. На всех устройствах имеется подключение Wi-Fi с доступом к Интернету. Если системы являются внутренними (т. е. защищены корпоративным брандмауэром), можно внести диапазон IP-адресов 54.244.50.32–54.244.50.63 в список доверенных. Весь трафик устройств будет поступать с этих IP-адресов.


Вопрос: Можно ли проверить различные варианты и условия подключения к сети оператора связи?

Хотя возможности проверить фактические варианты подключения к сети оператора связи нет, для имитации разных типов соединений и условий можно воспользоваться функцией моделирования конфигурации сети. При планировании запуска можно выбрать специально подобранный профиль сети, такой как «3G» или «Lossy LTE», или создать свой собственный тип, контролируя такие параметры, как пропускная способность, колебания задержки и потери. Весь трафик Wi-Fi, поступающий от устройства, будет во время тестирования видоизменен и обработан в соответствии с выбранным профилем. Можно также симулировать динамичные среды, изменяя сетевые параметры в скриптах для тестирования.


Вопрос: Можно ли осуществлять телефонные звонки или отправлять SMS-сообщения с помощью тестовых устройств?

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


Вопрос: Можно ли использовать камеру устройства?

Да, можно использовать обе камеры устройства, как переднюю, так и заднюю. Из-за способа установки устройств фотографии и видео могут быть темными и размытыми.


Вопрос: У меня еще нет скриптов для автоматизированного тестирования. Что можно сделать с помощью встроенных тестов?

Встроенный пакет тестирования совместимости позволяет устанавливать, удалять и запускать приложения, а также выполнять фаззинг (fuzz-testing) приложения.


Вопрос: Для чего используется фаззинг?

Фаззинг (fuzz-testing) используется для тестирования пользовательского интерфейса приложения сразу после запуска. При этом быстро передаются потоки случайных данных, вводимых пользователем (касаний, смахиваний, ввода с клавиатуры), в ваше приложение. Можно настроить число событий, задержку между событиями и начальное число, используемое при генерации случайных событий. Использование одинакового начального числа при разных запусках тестирования приведет к генерации одинаковой последовательности событий.


Вопрос: Я осуществляю тестирование с помощью автоматизированной среды. Какие среды поддерживает сервис?

Для тестирования приложений для iOS, Android и FireOS в настоящее время поддерживаются среды Appium Java JUnit, Appium Java TestNG, Appium Python, Calabash, Instrumentation (в т. ч. JUnit, Espresso, Robotium и любые тесты с применением инструментальных средств), UI Automation, UI Automator и XCTest (в т. ч. XCUI и KIF). Подробную информацию и актуальный список см. в документации.


Вопрос: Какие тестовые среды поддерживаются для интернет-приложений?

Можно запускать тесты, написанные с помощью Appium Java JUnit, Appium Java TestNG или Appium Python.


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

Мы всегда производим оценку сред перед добавлением поддержки. Свяжитесь с нами по данному вопросу.


Вопрос: Каким образом AWS Device Farm принимает решение о снятии скриншота во время тестирования?

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


Вопрос: Доступны ли сервисы Google Play на устройствах Android? Какая версия установлена?

Да, сервисы Google Play установлены на тех устройствах, которые поддерживают их. Сервисы обновляются, как только новые версии становятся доступны.


Вопрос: Имеется ли на устройствах Android учетная запись Google по умолчанию?

Нет, на устройствах нет активной учетной записи Google.


Вопрос: Поддерживает ли AWS Device Farm автоматизированную запись и воспроизведение, или мне необходимо писать собственные сценарии?

AWS Device Farm поддерживает такие среды, как Espresso и Robotium, в которых имеются инструменты записи и воспроизведения сценариев.


Вопрос: Требуется ли в iOS добавлять ваши идентификаторы UDID к профилю обеспечения?

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


Вопрос: Мое приложение для iOS не содержит отладочных символов. Можно ли предоставить файл dSYM сервису AWS Device Farm?

Нет, но вы можете загрузить логи и получить отладочную информацию для стеков локально.


Вопрос: В моем приложении для Android используется обфускация. Могу ли я в этом случае протестировать его в AWS Device Farm?

Да, если воспользуетесь ProGuard. Если вы используете DexGuard для борьбы с пиратством, то мы не сможем изменить подпись приложения и выполнить его тестирование.


Вопрос: Мое приложение используется для показа рекламных объявлений. Будут ли они отображаться на ваших устройствах? Не оценит ли мой поставщик рекламных объявлений такой показ как нарушение и не запретит ли дальнейшее использование моего аккаунта?

Хотя устройства и имеют доступ к сети Интернет, мы не можем гарантировать, что все объявления будут отображаться. Мы рекомендуем удалять рекламные объявления из сборок, которые тестируются в AWS Device Farm.


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

Да. Если вы используете клиент-серверную среду, например Calabash, Appium или UI Automation, можно подключаться к сети Интернет и выполнять ограниченное число команд оболочки на хосте. 


Вопрос: Я хотел бы отправить мультимедийные или другие данные для использования в моем приложении. Как мне это сделать?

Можно предоставить архив в формате ZIP объемом до 4 ГБ. В Android он будет извлечен в корневой каталог внешней памяти, а в iOS – в изолированную среду вашего приложения. Файлы расширения (OBB) Android будут автоматически помещены в подходящую папку, которая соответствует используемой версии ОС. Подробные сведения см. в Руководстве для разработчиков.


Вопрос: Для тестирования всех функциональных возможностей моего приложения требуются зависимые приложения. Можно ли устанавливать другие приложения?

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


Вопрос: Можно ли тестировать порядок выполнения обновления для моего приложения? Как мне установить старую версию моего приложения?

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


Вопрос: Мое приложение использует службы определения местоположения. Можно ли указать физическое местоположение устройства?

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


Вопрос: Можно ли запускать тесты, связанные с локализацией? Как изменить язык устройства?

Да, можно указать локаль (например, «en_US»), чтобы переопределить значение локали по умолчанию для устройства.


Вопрос: Сколько потребуется времени, чтобы запустить тестирование?

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


Вопрос: Какое максимально разрешенное время выполнения теста?

Максимально разрешенное время теста составляет 60 минут. Если вам необходим более длинный тайм-аут, свяжитесь с нами.


Вопрос: Позволяет ли AWS Device Farm использовать API для выполнения тестирования и получения результатов?


Да. Сервис предлагает подключаемый модуль для среды непрерывной интеграции Jenkins и подключаемый модуль Gradle, совместимый с Android Studio. AWS Device Farm также обеспечивает программную поддержку всех функций консоли, включая настройку тестирования и загрузку результатов тестирования через API. Дополнительную информацию см. в справке по API AWS Device Farm. В дополнение к API вы можете получить доступ к AWS Device Farm с помощью AWS SDK.


Вопрос: Какая информация содержится в отчете о тестировании AWS Device Farm?

В отчетах о тестировании AWS Device Farm содержится информация об успешном или неудачном выполнении теста, отчеты о сбоях, журналы тестирования, журналы устройств, скриншоты, видео и показатели производительности. В отчеты включена как подробная информация для каждого устройства, так и высокоуровневые результаты, такие как количество ошибок определенного типа. Результаты удаленного доступа содержат журналы и видео сеанса.


Вопрос: Журналы каких устройств включаются в отчеты AWS Device Farm?

В отчеты AWS Device Farm включаются все данные, захваченные logcat (для Android) и журналами устройств (для iOS), а также журналы хоста устройства и указанной платформы тестирования.


Вопрос: Мои тесты генерируют и сохраняют дополнительные лог-файлы. Будут ли эти данные представлены в отчетах AWS Device Farm?

Если в ходе работы какие-либо данные записываются в logcat (Android) или журнал устройства (iOS), эти записи журналов будут включены в отчет. AWS Device Farm не собирает никаких нестандартных журналов или других артефактов, хотя позволяет передавать файлы с помощью тестового скрипта, используя интернет-подключение самого устройства или его хоста.


Вопрос: Сколько стоит использование AWS Device Farm?

Плата начисляется поминутно на основании продолжительности тестирования на каждом выбранном устройстве. Уровень бесплатного пользования AWS Device Farm включает 1000 минут использования устройств.* По истечении указанного времени взимается плата в размере 0,17 USD за минуту использования устройства. При росте объемов тестирования можно воспользоваться безлимитным тарифным планом, который предусматривает тестирование без ограничений с фиксированной оплатой в размере 250 USD в месяц за одно устройство.


Вопрос: Каковы условия работы с уровнем бесплатного пользования?

Первые 1000 минут работы с устройствами предоставляются бесплатно.* Этот пробный период использования предоставляется только один раз. После окончания пробного периода вам будет начисляться плата по стандартному тарифу 0,17 USD за минуту использования устройства.


Вопрос: Что такое минута использования устройства?

Минута использования устройства – это единица тарификации. Минуты использования устройства представляют собой измеренное время (в минутах), необходимое для установки, выполнения и удаления приложения, а также выполнения тестов на каждом устройстве, которое вы выбрали для тестирования. Цена единицы тарификации остается постоянной независимо от устройства, теста и типа приложения. Плата за минуты использования устройства взимается только для тех тестов, которые завершились без каких-либо ошибок, связанных с устройством или системой. Подобно этому, для сеансов удаленного доступа время использования устройств измеряется от момента, когда начинается подготовка устройства по вашим техническим условиям, и до момента удаления всех приложений и данных, переданных вами на устройство.

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


Вопрос: Что такое безлимитный тарифный план и как работают слоты устройств?

Безлимитные тарифные планы разрешают неограниченное тестирование и удаленный доступ, цены начинаются от 250 USD в месяц. Цены на безлимитные тарифные планы зависят от количества слотов устройств, приобретенных для каждого типа использования (то есть автоматизированного тестирования или удаленного доступа) и семейства устройств (например, Android или iOS). Стоимость каждого слота составляет 250 USD в месяц. Количество слотов устройств соответствует количеству параллельных операций тестирования.

Например, если вы приобретете десять слотов для автоматизированного тестирования устройств Android и запланируете тестирование на 100 устройствах, сервис Device Farm будет выполнять тесты одновременно не более чем на десяти устройствах, пока все тесты на выбранных вами устройствах не будут завершены. Приобретение большего количества слотов позволит получить конечный результат быстрее. Вне зависимости от количества выполняемых тестов и сеансов удаленного доступа в месяц с вас будет взиматься фиксированная ежемесячная оплата в размере 250 USD за слот устройства. Клиенты могут в любой момент отменить подписку на один или несколько слотов устройств. Отмена вступит в силу со следующей даты продления (дня месяца, в который был куплен первый активный слот устройства). Подробнее см. в нашей документации.


Вопрос: Что, если планы тестирования изменились и мне нужно добавить или удалить слоты устройств?

Слоты устройств можно добавлять в любое время, они становятся доступны моментально. Кроме того, клиенты могут в любой момент отменить подписку на один или несколько слотов устройств. Отмена вступит в силу со следующей даты продления (дня месяца, в который был куплен первый активный слот устройства).


Вопрос: Можно ли продолжать пользоваться поминутной тарификацией, имея безлимитный тарифный план?

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


Вопрос: Что такое частное устройство?

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


Вопрос: Как учитывается подписка на частное устройство и сколько она стоит?

Каждое частное устройство, связанное с аккаунтом пользователя, считается подпиской на частное устройство. Стоимость месячной подписки составляет от 200 USD/месяц. Она зависит от цены устройства и подразделяется по уровням. После истечения минимального периода времени подписки можно в любое время аннулировать свою подписку. Свяжитесь с нами для получения дополнительной информации.


Вопрос: Можно ли одновременно использовать частные и публичные устройства?

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


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