Учебники

Мобильное тестирование — Краткое руководство

Мобильное тестирование — Обзор

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

  • Я хочу оплатить счет за электричество.

  • Мне нужно связаться с моим менеджером и срочно представить свои отчеты.

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

  • Ох … сейчас 10 вечера; Я опаздываю на свой рейс. Где моя кабина?

  • Я был в этом городе впервые; какой отель мне забронировать?

Я хочу оплатить счет за электричество.

Мне нужно связаться с моим менеджером и срочно представить свои отчеты.

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

Ох … сейчас 10 вечера; Я опаздываю на свой рейс. Где моя кабина?

Я был в этом городе впервые; какой отель мне забронировать?

Теперь ответь себе. Что нужно для выполнения этих действий за доли секунды? Ответ будет —

  • Смартфон,
  • Подключение к Интернету и
  • Мобильное приложение, чтобы сделать работу.

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

Есть один известный случай с Говаллой . Миллионы людей пользовались этой социальной сетью, основанной на местоположении, которая началась в 2007 году и закрылась пять лет спустя. Многочисленные проблемы не позволили Gowalla достичь массовой апелляции. Одна из главных причин, по которой всплыло это сообщение: «Регистрация была не слишком удобной для пользователя».

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

Мобильное Тестирование — Платформы

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

Мобильные операционные системы

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

Операционная система Разработан Популярность (низкая, средняя, ​​высокая) Последняя доступная версия
Android Google Inc Высоко Леденец, Android 5.0-5.1
IOS Apple Inc Высоко iOS 8.X
ежевика Blackberry Ltd Низкий Ежевика 10.2.1
Windows Microsoft Inc Средняя Windows 10 Mobile
Symbian Symbian Foundation Низкий Снятые

Основываясь на некоторых общих исследованиях, использование различных операционных систем на рынке может быть изображено, как показано ниже.

Мобильная ОС

Мобильное тестирование — типы устройств

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

Посмотрите на следующую таблицу. Он различает планшеты, электронные книги и смартфоны по характеристикам.

устройство таблетки Электронные книги Смартфоны
Что это Планшеты являются портативными компьютерными устройствами. В отличие от традиционных компьютеров, у них нет клавиатуры или мыши, однако весь экран чувствителен к прикосновениям. Считыватели электронных книг, также называемые электронными читателями, похожи на планшетные компьютеры, за исключением того, что они предназначены в основном для чтения электронных книг (цифровых загружаемых книг). Смартфон — это мощный мобильный телефон, предназначенный для запуска множества приложений в дополнение к телефонной связи.
Используется для Практически все работы, которые мы можем выполнять с традиционными компьютерами или настольными компьютерами. Чтение электронных книг Просмотр веб-страниц, просмотр видео, чтение электронных книг и игра в игры
пример Samsung Таблетки Amazon Kindle, Barnes & Noble Nook. Смартфоны Sony, смартфоны Samsung, Apple iPhone.

Родной против гибридной против мобильной сети

Важным фактором, который необходимо учитывать при планировании тестирования, является проверка типа мобильного приложения. В основном вы встретите три типа мобильных приложений: «Мобильный Интернет», «Нативное приложение» и «Гибридное приложение». Классификация основана на усилиях по разработке и стратегии распространения приложения. Давайте разберемся с каждым из них в деталях.

Мобильный интернет

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

  • ПримерУчебное пособие

  • Преимущества

    • Легкий доступ.

    • Простота разработки — Разработка адаптивного дизайна и реструктуризация контента для правильного отображения на меньшем экране / оборудовании сделает любой настольный веб-сайт мобильным.

    • Простое обновление — просто обновите в одном месте, и все пользователи автоматически получат доступ к последней версии сайта.

    • Установка не требуется, по сравнению с нативным или гибридным приложением.

  • Недостаток

    • Мобильные сайты не могут использовать некоторые функции. Например, доступ к файловой системе и локальным ресурсам недоступен на веб-сайтах.

    • Многие существующие веб-сайты не поддерживают автономные возможности.

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

    • Хотя собственные приложения и гибридные приложения появляются в App Store и Google Play, веб-приложения не появляются. Так что перераспределение не так разумно.

ПримерУчебное пособие

Преимущества

Легкий доступ.

Простота разработки — Разработка адаптивного дизайна и реструктуризация контента для правильного отображения на меньшем экране / оборудовании сделает любой настольный веб-сайт мобильным.

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

Установка не требуется, по сравнению с нативным или гибридным приложением.

Недостаток

Мобильные сайты не могут использовать некоторые функции. Например, доступ к файловой системе и локальным ресурсам недоступен на веб-сайтах.

Многие существующие веб-сайты не поддерживают автономные возможности.

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

Хотя собственные приложения и гибридные приложения появляются в App Store и Google Play, веб-приложения не появляются. Так что перераспределение не так разумно.

Родное приложение

Нативное приложение разработано специально для одной платформы. Его можно установить через магазин приложений (например, Google Play Store или Apple’s App Store).

  • Пример — WhatsApp, Facebook.

  • Преимущества

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

    • Они могут в полной мере использовать все функции устройства — они могут использовать камеру, GPS, акселерометр, компас, список контактов и так далее. Они также могут включать жесты (стандартные жесты операционной системы или новые жесты, определяемые приложением).

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

    • Издатели могут использовать push-уведомления, оповещая пользователей каждый раз, когда публикуется новый фрагмент контента, или когда требуется их внимание.

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

    • Перераспределить легко, как это можно найти в магазине приложений.

  • Недостаток

    • Высокая стоимость создания приложения: собственные приложения, разработанные для одной платформы, не будут работать на другой платформе. Приложение, созданное для Android, не будет работать на iOS. Нам нужно создать другое приложение для iOS. По этой причине нам необходимо поддерживать несколько версий приложения.

    • Несмотря на то, что вы можете публиковать нативные приложения, вам нужно поддерживать мобильный веб-сайт в хорошем состоянии, так как мобильный телефон приносит больше трафика. Так что обслуживание выше.

Пример — WhatsApp, Facebook.

Преимущества

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

Они могут в полной мере использовать все функции устройства — они могут использовать камеру, GPS, акселерометр, компас, список контактов и так далее. Они также могут включать жесты (стандартные жесты операционной системы или новые жесты, определяемые приложением).

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

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

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

Перераспределить легко, как это можно найти в магазине приложений.

Недостаток

Высокая стоимость создания приложения: собственные приложения, разработанные для одной платформы, не будут работать на другой платформе. Приложение, созданное для Android, не будет работать на iOS. Нам нужно создать другое приложение для iOS. По этой причине нам необходимо поддерживать несколько версий приложения.

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

Гибридное приложение

Гибридные приложения — это способ предоставления контента с существующих веб-сайтов в формате приложения. Их можно хорошо описать как смесь веб-приложения и нативного приложения.

  • Пример — Инстаграм, Википедия.

  • Преимущества

    • Разработка гибридного приложения дешевле, чем разработка нативного приложения. Он может быть построен для кроссплатформенности, то есть для снижения стоимости разработки приложений.

    • Обслуживание простое, так как не так много версий.

    • Он может использовать несколько функций, доступных в устройстве.

    • Его можно найти в App Store, что облегчает распространение.

    • В него встроен только браузер.

  • Недостаток

    • Графика менее привычна к операционной системе по сравнению с Native Apps.

    • Гибридные приложения работают медленнее, чем собственные приложения.

Пример — Инстаграм, Википедия.

Преимущества

Разработка гибридного приложения дешевле, чем разработка нативного приложения. Он может быть построен для кроссплатформенности, то есть для снижения стоимости разработки приложений.

Обслуживание простое, так как не так много версий.

Он может использовать несколько функций, доступных в устройстве.

Его можно найти в App Store, что облегчает распространение.

В него встроен только браузер.

Недостаток

Графика менее привычна к операционной системе по сравнению с Native Apps.

Гибридные приложения работают медленнее, чем собственные приложения.

Мобильное тестирование — устройство против приложения

Тестирование устройства

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

Модульное тестирование

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

Заводские испытания

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

  • Тестирование мобильных приложений
  • Аппаратное тестирование
  • Тестирование аккумулятора (зарядки)
  • Получение сигнала
  • Тестирование сети
  • Протокол тестирования
  • Тестирование мобильных игр
  • Тестирование совместимости мобильного программного обеспечения

Сертификационное тестирование

Сертификационное тестирование — это проверка перед выходом мобильного устройства на рынок.

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

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

  • Функциональное тестирование
  • Лабораторные испытания
  • Тестирование производительности
  • Тестирование утечки памяти
  • Тестирование прерываний
  • Юзабилити-тестирование
  • Установка тестирования
  • Сертификационное тестирование
  • Тестирование безопасности

Ключевые моменты

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

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

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

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

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

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

Мобильное тестирование — эмулятор против симулятора

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

Предположим, мы разрабатываем приложение для системы бронирования авиабилетов. После того, как продукт полностью разработан, как часть мобильного тестирования, мы должны проверить, работает ли приложение, как ожидается, со всеми наиболее используемыми устройствами, такими как телефоны Android, iOS, телефоны Blackberry и другие различные типы планшетов и iPad.

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

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

Давайте сравним, как тестирование на эмуляторе / симуляторе отличается от тестирования на реальном устройстве —

Реальное устройство Эмулятор / Симулятор
Цена Получение реальных устройств обойдется вам дорого. Это почти бесплатно, нам просто нужно скачать и установить их
Скорость обработки Имеет более быструю обработку; однако задержка сети может быть нормальной. Это медленнее по сравнению с реальными устройствами. Наблюдалась меньшая задержка, чем у реальных устройств, подключенных к локальной сети или в облаке.
отладка Отладка не так проста. Он обеспечивает пошаговую отладку приложения. Кроме того, он обеспечивает эффективный способ захвата скриншотов.
Тестирование веб-приложений Веб-приложения можно протестировать обычным способом. Тестировать веб-приложение намного проще.
надежность Тестирование на реальном устройстве имеет главное преимущество: оно всегда дает точные результаты. Он не может моделировать все типы взаимодействия с пользователем; следовательно, иногда это может привести к ложным результатам. Таким образом, он имеет низкую оценку, когда речь идет о надежности.

Симулятор / эмулятор не может имитировать следующие функции —

  • Аккумулятор мобильного устройства
  • Камера мобильного устройства
  • Трудно имитировать прерывания, такие как входящие звонки и SMS.
  • Не так много реалистичной симуляции для использования памяти мобильного устройства.

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

Эмулятор имитатор
Что это имитирует

ПО для мобильных устройств

Аппаратное обеспечение мобильных устройств

Мобильная операционная система

Внутреннее поведение устройства.

Это не имитирует оборудование.

Как получить его Обычно предоставляется производителем устройства. Обычно оно предоставляется производителем устройства или какой-либо другой компанией.
Внутренняя структура Он написан на машинном языке ассемблера. Это написано на языке высокого уровня.
отладка Это больше подходит для отладки. Это не подходит для целей отладки.
Спектакль Эмуляторы действительно медленные. Эмуляция реального оборудования обычно заставляет программное обеспечение работать медленнее, чем изначально. Быстрее, чем эмуляторы.
пример Google Android SDK Симулятор Apple iOS

ПО для мобильных устройств

Аппаратное обеспечение мобильных устройств

Мобильная операционная система

Внутреннее поведение устройства.

Это не имитирует оборудование.

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

Мобильное Тестирование — Приложение

Простое определение тестирования мобильных приложений будет выглядеть так: « Тестирование мобильных приложений — это процесс, с помощью которого прикладное программное обеспечение, разработанное для портативных мобильных устройств, проверяется на его функциональность, удобство использования и согласованность. Тестирование мобильных приложений может быть автоматическим или ручным типом тестирования ».

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

Функциональное тестирование

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

Пример тестовых сценариев —

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

  • Убедитесь, что прошедшие даты не включены в результаты поиска.

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

Убедитесь, что прошедшие даты не включены в результаты поиска.

Тестирование совместимости

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

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

Пример тестовых сценариев —

  • Убедитесь, что поиск авиабилетов успешно выполняется на устройстве Android.
  • Убедитесь, что поиск авиабилетов успешно выполнен для Apple iPad.

Тестирование локализации

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

Пример тестовых сценариев —

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

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

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

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

Лабораторные испытания

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

Пример тестовых сценариев —

  • Убедитесь, что нет никаких сбоев, когда у клиента есть голосовой чат со службой поддержки.

Убедитесь, что нет никаких сбоев, когда у клиента есть голосовой чат со службой поддержки.

Тестирование производительности

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

Пример тестовых сценариев —

  • Убедитесь, что проверка доступного рейса занимает только разумное количество времени.

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

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

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

Стресс-тестирование

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

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

  • Выполняйте одни и те же операции снова и снова.

  • Выполняйте повторные операции на разных скоростях — очень быстро или очень медленно.

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

  • Случайно отправлять экранные нажатия и нажатия клавиш в вашем приложении.

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

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

Выполняйте одни и те же операции снова и снова.

Выполняйте повторные операции на разных скоростях — очень быстро или очень медленно.

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

Случайно отправлять экранные нажатия и нажатия клавиш в вашем приложении.

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

Пример тестовых сценариев —

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

Тестирование безопасности

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

Один из способов тестирования сценариев, связанных с безопасностью, заключается в маршрутизации данных вашего мобильного устройства через прокси-сервер, такой как OWASP Zed Attack Proxy, и поиске уязвимостей.

Пример тестовых сценариев —

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

  • Убедитесь, что сеанс автоматически истекает, если он остается неактивным в течение более 15 минут.

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

Убедитесь, что сеанс автоматически истекает, если он остается неактивным в течение более 15 минут.

Тестирование утечки памяти

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

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

Пример тестовых сценариев —

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

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

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

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

Тестирование энергопотребления

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

Тест энергопотребления может быть выполнен вручную; Также на рынке есть несколько бесплатных инструментов, таких как Trepn Profiler, Power Tutor и Nokia Energy Profiler. Это приложения, которые могут отображать энергопотребление в реальном времени на смартфоне или планшете.

Пример тестовых сценариев —

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

  • Держите мобильное приложение в идеальном состоянии; убедитесь, что нет энергопотребления, когда нет активности для приложения.

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

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

Тестирование прерываний

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

  • Входящие и исходящие SMS и MMS
  • Входящие и исходящие звонки
  • Входящие уведомления
  • Удаление батареи
  • Вставка и удаление кабеля для передачи данных

Пример тестовых сценариев —

  • Убедитесь, что проверка доступности рейса приостановлена ​​и возобновлена ​​после получения входящего вызова.

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

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

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

Юзабилити-тестирование

Юзабилити-тестирование оценивает приложение на основе следующих трех критериев для целевой аудитории:

  • Эффективность . Точность и полнота, с которой указанные пользователи могут достичь определенных целей в конкретной среде.

  • Эффективность — ресурсы, затраченные на точность и полноту достигнутых целей.

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

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

Эффективность — ресурсы, затраченные на точность и полноту достигнутых целей.

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

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

Пример тестовых сценариев —

  • Проверка доступности рейса должна быть на главной странице.
  • Рекламная реклама не должна отображаться в середине контента.

Тестирование установки

Тестирование установки подтверждает, что процесс установки проходит без каких-либо проблем.

Пример тестовых сценариев —

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

Тестирование удаления

Основы тестирования деинсталляции могут быть сведены в одну строку: «Деинсталляция должна охватывать данные, связанные с приложением, всего за один раз».

Пример тестовых сценариев —

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

  • Если это приложение, в котором хранятся мультимедийные файлы (например, Whatsapp или Facebook), сохраните файлы даже после удаления приложения.

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

Если это приложение, в котором хранятся мультимедийные файлы (например, Whatsapp или Facebook), сохраните файлы даже после удаления приложения.

Тестирование обновлений

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

Пример тестовых сценариев —

  • Убедитесь, что приложение успешно работает после автоматического обновления.
  • Убедитесь, что процесс обновления отображается правильно.

Сертификационное тестирование

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

Пример тестовых сценариев —

  • Убедитесь, что приложение придерживается политики телефонов iOS при установке на iPhone.

  • Убедитесь, что приложение придерживается политики телефонов Android при установке на Android.

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

Убедитесь, что приложение придерживается политики телефонов Android при установке на Android.

Мобильное тестирование — пользовательский интерфейс

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

  • Выравнивание кнопок отсутствует.
  • Текст обрезается.
  • Управление календарем сокращается.

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

Первая область для изучения в вашем плане тестирования — это пользовательский интерфейс. Ваша работа в качестве тестировщика — подтвердить, что ваше приложение соответствует определенным ожиданиям, таким как —

  • Общая цветовая гамма / тема устройства
  • Стиль и цвет значков
  • Индикаторы прогресса при загрузке страниц
  • Меню и как они вызываются и типичные элементы, которые они содержат
  • Общая отзывчивость приложений на этом устройстве

Давайте обсудим больше об основах тестирования мобильного интерфейса.

Ориентация экрана / Разрешение

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

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

  • 640 × 480
  • 800 × 600
  • 1024 × 768
  • 1280 × 800
  • 1366 × 768
  • 1400 × 900
  • 1680 × 1050

Доступные инструменты

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

  • Расширение Google Chrome
  • Screenfly
  • Стек браузера

Давайте поймем немного больше об этих инструментах и ​​их полезности.

Расширение Google Chrome

Это бесплатная функция, доступная в браузере Google Chrome. Мы дали здесь пошаговое объяснение того, как тестировать мобильный интернет с расширением Google Chrome —

Шаг 1 — Откройте тестируемый веб-сайт в «браузере Google Chrome».

Шаг 2 — Нажмите F12. Откроется окно инструмента разработчика, как показано на следующем снимке экрана.

Окно инструментов разработчика

Шаг 3 — Щелкните значок мобильного устройства. Смотрите следующий скриншот.

Значок мобильного устройства

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

Проверка пользовательского интерфейса

Screenfly

Screenfly — это бесплатный и простой в использовании инструмент. Чтобы использовать это, вам просто нужно ввести Quirktools в вашем веб-браузере. Вы увидите следующий экран.

Screenfly

Войдите на тестируемый веб-сайт и нажмите « Перейти» . Выберите мобильное устройство, на котором вы хотите просмотреть веб-сайт.

Выберите мобильное устройство

BrowserStack

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

Сенсорные экраны

Мультитач против одного сенсорного экрана

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

Long Touch против Short Touch

Хотя не существует концепции двойного щелчка на устройствах с сенсорным экраном (хотя они могут быть, если они специально реализованы в вашем приложении), некоторые устройства, такие как смартфоны Android, различают длинные касания и короткие касания. Нажатие и удерживание элемента вызовет контекстное меню в середине экрана, а короткий щелчок по тому же элементу автоматически выполнит первое действие в этом контекстном меню.

Размер кнопки и положение

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

Мягкие и твердые клавиши

Мягкие клавиатуры

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

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

  • Включает ли первый слой программной клавиатуры горячие клавиши «@» и «.com», если выделенное поле предназначено для ввода адресов электронной почты?

  • Можно ли легко распустить и повторно отобразить программную клавиатуру?

  • Могут ли программные и жесткие клавиатуры использоваться взаимозаменяемо (если устройство имеет оба)?

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

Включает ли первый слой программной клавиатуры горячие клавиши «@» и «.com», если выделенное поле предназначено для ввода адресов электронной почты?

Можно ли легко распустить и повторно отобразить программную клавиатуру?

Могут ли программные и жесткие клавиатуры использоваться взаимозаменяемо (если устройство имеет оба)?

Жесткие ключи

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

Трекболы, трек колеса и сенсорные панели

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

Мобильное тестирование — планирование и инструменты

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

Подготовка к тестированию мобильных устройств

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

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

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

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

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

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

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

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

Инструменты управления устройством

Управление мобильными устройствами (MDM) — это тип программного обеспечения безопасности, которое используется в ИТ для мониторинга, управления и защиты мобильных устройств сотрудников, которые развернуты у нескольких поставщиков мобильных услуг и в нескольких мобильных операционных системах, используемых в организации.

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

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

Товары BlackBerry MDM Citrix MDM Dell MDM IBM MDM MobileIron MDM СОТИ МДМ
Android 2.3+ да да да 2,3 через ток да
IOS 5.0+ да да да 4.0 через текущий да
телефон с операционной системой Виндоус Нет для BES10 (WP 8+ для BES12) да да да 7 через ток да
BlackBerry Да, BBOS, BlackBerry 10 да нет да 10 (через ActiveSync) нет
Symbian нет да нет да нет нет
ОС Windows нет да да да 8.1 RT / Pro нет
Mac OS X нет Скоро будет да да Лев, Горный Лев да
Другой нет Windows Mobile Никто Office 365, Gmail, Lotus Никто Windows Mobile, CE, Встроенный
Настроить / отключить WiFi да да да да да да
Шифрование устройства да да Да, тип устройства зависит да да да
Шифрование электронной почты да да Да, тип устройства зависит да да да
Многофакторная аутентификация да да нет да да да
Обнаружение вредоносного ПО нет нет нет да Да с партнерской интеграцией да
Брандмауэр да нет нет да Да с партнерской интеграцией да
Отделение пользовательских данных от корпоративных данных да да да да да да

Мобильное тестирование — аппаратная перспектива

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

Компоненты оборудования

Если вы берете любой мобильный телефон, в основном он будет состоять из следующих частей.

Монтажная плата

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

Монтажная плата

Сенсорный экран

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

Существует два популярных типа сенсорных экранов —

  • Резистивный сенсорный экран — имеет два слоя (разделенных небольшим зазором), которые образуют наложение поверх экрана. Когда палец помещается в любую точку на экране, они образуют контакт и получают координаты. Они относительно недороги и справедливо встречаются на большинстве бюджетных телефонов. Недостатком является то, что для регистрации прикосновения требуется определенное давление. Со временем на экране появляется некоторая степень повреждения.

  • Емкостный сенсорный экран — весь экран покрыт емкостным веществом, которое удерживает определенное количество электрического заряда. Когда проводящий объект, такой как палец, помещается на экран, в этой точке происходит изменение емкости, и, таким образом, получаются координаты. Емкостные сенсорные экраны плохо реагируют в холодном климате, где человеческий палец не вызывает изменения емкости, поэтому для таких сценариев рекомендуется стилус. Кроме того, существуют сенсорные экраны с сенсорным экраном, на которых можно точно определить практически все пальцы. Это привело к увеличению количества жестов, которые можно выполнять на сенсорном экране.

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

Емкостный сенсорный экран — весь экран покрыт емкостным веществом, которое удерживает определенное количество электрического заряда. Когда проводящий объект, такой как палец, помещается на экран, в этой точке происходит изменение емкости, и, таким образом, получаются координаты. Емкостные сенсорные экраны плохо реагируют в холодном климате, где человеческий палец не вызывает изменения емкости, поэтому для таких сценариев рекомендуется стилус. Кроме того, существуют сенсорные экраны с сенсорным экраном, на которых можно точно определить практически все пальцы. Это привело к увеличению количества жестов, которые можно выполнять на сенсорном экране.

Карта памяти

Карты памяти бывают разных размеров и емкостей. Они широко используются в качестве устройства хранения данных для хранения цифровой информации.

Карта памяти

Сим-карта

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

Сим-карта

аккумулятор

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

аккумулятор

UDID для iOS

Каждый iPhone или iPod Touch имеет уникальный идентификатор устройства (UDID), который представляет собой последовательность из 40 букв и цифр, характерную для вашего устройства. Это как серийный номер, но гораздо сложнее угадать. Это будет выглядеть примерно так — 2b6f0cc904d137be2e1730235f5664094b831186.

Как найти вас UUID?

  • Подключите устройство iOS к компьютеру.
  • Откройте iTunes.
  • В iTunes нажмите на название устройства в разделе «Устройства» в столбце слева.
  • Нажмите один раз на серийный номер устройства в главном разделе окна.
  • Серийный номер должен измениться на UDID устройства.

UUID

Профиль обеспечения для iOS

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

Как создать профиль обеспечения для iOS?

  • Запустите Google Chrome, Mozilla Firefox или Safari.

  • В iOS Dev. Центр, нажмите Сертификаты, идентификаторы и профили.

  • На панели «Приложения iOS» щелкните «Подготовка профилей».

  • Нажмите +.

  • Выберите iOS App Development и нажмите «Продолжить».

  • Выберите идентификатор приложения, чтобы связать его с профилем обеспечения, и нажмите «Продолжить».

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

  • Выберите один или несколько сертификатов для разработки для включения в профиль обеспечения и нажмите «Продолжить».

  • Только сертификаты для разработки перечислены.

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

  • Введите имя для профиля и нажмите «Создать».

  • (Необязательно) Нажмите «Загрузить», чтобы загрузить профиль обеспечения.

Запустите Google Chrome, Mozilla Firefox или Safari.

В iOS Dev. Центр, нажмите Сертификаты, идентификаторы и профили.

На панели «Приложения iOS» щелкните «Подготовка профилей».

Нажмите +.

Выберите iOS App Development и нажмите «Продолжить».

Выберите идентификатор приложения, чтобы связать его с профилем обеспечения, и нажмите «Продолжить».

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

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

Только сертификаты для разработки перечислены.

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

Введите имя для профиля и нажмите «Создать».

(Необязательно) Нажмите «Загрузить», чтобы загрузить профиль обеспечения.

Как добавить свой профиль обеспечения в AppBuilder?

  • Нажмите значок зубчатого колеса и выберите Параметры.

  • Выберите iOS → Предоставление профилей.

  • Нажмите Импорт.

  • Найдите место, где хранится файл мобильного обеспечения для вашего профиля обеспечения, выберите его и подтвердите импорт.

Нажмите значок зубчатого колеса и выберите Параметры.

Выберите iOS → Предоставление профилей.

Нажмите Импорт.

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

Параметры устройства и настройки

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

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

В списке типов выберите «Реклама и расширения» и выберите тип рекламы, которую вы хотите обновить. Выберите одно или несколько объявлений. В разделе «Настройки устройства» на панели редактирования выберите «Мобильный» или «Все».

Тестирование мобильных устройств — Типы

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

Сетевые соединения

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

Sr.No. Описание
1 Работает ли приложение согласно спецификации, если подключено к интернету через Wi-Fi?
2 Работает ли приложение согласно спецификации, если подключено к интернету через 3G?
3 Работает ли приложение согласно спецификации, если подключено к интернету через 2G?
4 Работает ли приложение в соответствии со спецификацией приложения вне сети?
5 Приложение возобновляет работу, когда оно возвращается в сеть, вне зоны действия сети?
6 Транзакции обновления обрабатываются правильно после восстановления соединения.
7 Работает ли приложение по-прежнему корректно при подключении или иным образом подключается к другому устройству?
8 Что произойдет, если приложение переключается между сетями (Wi-Fi, 3G, 2G)?
9 Использует ли приложение стандартные сетевые порты (Mail: 25, 143, 465, 993 или 995 HTTP: 80 или 443 SFTP: 22) для подключения к удаленным службам, поскольку некоторые поставщики блокируют определенные порты.

SD Card Взаимодействия

В следующей таблице приведен контрольный список проверки основных функций взаимодействия SD-карты с мобильным телефоном.

Sr.No. Описание
1 Можно ли установить приложение на устройство?
2

Работает ли приложение, как задумано / желательно, при входящем звонке?

3 Работает ли приложение как задумано / желательно, если есть входящее СМС?
4 Работает ли приложение как задумано / желательно, если подключено зарядное устройство?
5 Работает ли приложение, как задумано / желательно, если зарядное устройство отключено?
6 Работает ли приложение как задумано / желательно, если устройство переходит в спящий режим
7 Работает ли приложение как задумано / желательно, если устройство выходит из спящего режима
8 Работает ли приложение как задумано / желательно, если устройство возобновляет работу с экрана блокировки?
9 Работает ли приложение как задумано / желательно, если устройство наклонено?
10 Работает ли приложение как задумано / желательно, если устройство встряхнуло?
11 Работает ли приложение так, как задумано / желательно, если локальное сообщение поступает из другого приложения (например, напоминания календаря, задача и т. Д.)?
12 Работает ли приложение так, как задумано / желательно, если push-сообщение исходит от другого приложения (например, упоминания в твиттере, сообщения WhatsApp, приглашения в wordfeud и т. Д.).
13 Правильно ли приложение взаимодействует с датчиком GPS (включить / выключить, получить данные GPS)?
14 Функциональность всех кнопок или клавиш на устройстве определена для этого приложения?
15 Убедитесь, что кнопки или клавиши, которые не имеют определенной функции, не имеют неожиданного поведения в приложении при активации.
16 Если на устройстве имеется настоящая кнопка «назад», то переводит ли кнопка «назад» пользователя на предыдущий экран?
17 Если на устройстве имеется настоящая кнопка «меню», отображает ли кнопка меню меню приложения?
18 Если на устройстве имеется настоящая кнопка «Домой», возвращает ли кнопка «Домой» пользователя на домашний экран устройства?
19 Если на устройстве имеется настоящая кнопка «поиск», то дает ли это пользователю какой-либо вид поиска в приложении?
20 Работает ли приложение так, как задумано / желательно, при нажатии на сообщение «Низкий заряд батареи»
21 Работает ли приложение как задумано / желательно, если звук на устройстве выключен?
22 Работает ли приложение как задумано / желательно, если устройство находится в режиме полета?
23 Можно ли удалить приложение с устройства?
24 Работает ли приложение как ожидается после переустановки?
25 Можно ли найти приложение в магазине приложений? (Проверьте после запуска)
26 Может ли приложение переключаться на другие приложения на устройстве с помощью многозадачности, как это было запланировано / желательно?
27 Работают ли все положения сенсорного экрана (кнопки) при использовании защитной пленки.

Работает ли приложение, как задумано / желательно, при входящем звонке?

Тестирование Bluetooth

Устройства Bluetooth могут общаться только в радиусе 10 метров. Такими устройствами могут быть клавиатуры, мышь, беспроводные наушники и т. Д. В следующей таблице представлен контрольный список тестов Bluetooth, которые можно выполнить:

Sr.No. Описание
1 Пользователь может искать все доступные устройства в диапазоне.
2 Как передача данных, так и передача голоса могут быть отправлены с использованием сетей малого радиуса действия.
3 Как данные, так и голосовые передачи могут быть получены с использованием сетей малого радиуса действия.
4 Пользователь может отключиться в любое время.
5 При закрытии Bluetooth попросите отключить существующие соединения.
6 Максимальная дальность Bluetooth составляет 10 метров.
7 С помощью мобильного телефона вы можете отправлять фотографии, видео, обмениваться визитными карточками, а также передавать файлы на свой компьютер.
8 (Устройство сопряжено). Это сообщение используется для подтверждения того, что пользователь успешно подключил два устройства Bluetooth.
9 Недоступный для обнаружения режим — устройство, которое не будет отвечать на запросы на обнаружение.
10 Недоступный для обнаружения режим — устройство, которое не будет отвечать на запросы на обнаружение.
11 В режиме без платы, устройство, которое не принимает сопряжение, называется в режиме без платы.
12 Пароль, пароль — это пользовательский пароль, необходимый для подключения к устройству с любого другого устройства. Настоятельно рекомендуется использовать парольные ключи везде, где это возможно, чтобы избежать несанкционированного доступа к вашим устройствам Bluetooth.
13 Аутентификация — процесс проверки подлинности другого конца канала связи. В технологии Bluetooth это достигается процессом аутентификации на основе паролей и сопряжения.
14 Устройства не найдены, это сообщение об ошибке, которое может появиться, если при поиске других устройств в радиусе действия ничего не найдено.
15 Режим ожидания, устройство находится в режиме ожидания, когда оно не имеет установленных связей с другими устройствами. В этом режиме устройство может обнаружить другие устройства.
16 Тестирование известного устройства, устройство, о котором уже известно другое устройство. Либо устройства были сопряжены в прошлом, либо сохранена некоторая информация об известных устройствах.

Тестирование Wi-Fi

Тестирование вашего мобильного телефона WiFi-соединение — отличный способ убедиться, что ваш интернет работает на скорости, обещанной вашим поставщиком услуг, но вы не ограничены в проведении этих тестов на своем настольном компьютере. Тестирование WiFi мобильного телефона — это идеальный способ проверить мощность сигнала WiFi в различных местах в вашем доме или офисе. Ниже приведен контрольный список тестирования Wi-Fi для мобильного устройства.

Sr.No. Описание
1 Работает ли приложение согласно спецификации, если подключено к интернету через Wi-Fi?
2 Работает ли приложение в соответствии со спецификацией приложения вне сети?
3 Приложение возобновляет работу, когда оно возвращается в сеть, находясь вне зоны действия сети?
4 Что произойдет, если приложение переключается между сетями (Wi-Fi, 3G, 2G)
5 Использует ли приложение стандартные сетевые порты (Mail: 25, 143, 465, 993 или 995 HTTP: 80 или 443 SFTP: 22) для подключения к удаленным службам, поскольку некоторые поставщики блокируют определенные порты.

Как запустить тест скорости WiFi на мобильном телефоне на смартфоне

Запуск теста скорости WiFi на вашем смартфоне — простая задача. Наиболее удобными являются тесты скорости, которые запускаются в мобильном браузере вашего смартфона. Просто следуйте простым подсказкам на экране, чтобы начать тестирование. Если онлайн-тест не сохраняет ваши результаты, сделайте снимок экрана после завершения теста, чтобы получить историю.

Некоторые тесты доступны в виде приложений для платформ iOS и Android. Чтобы использовать их, загрузите приложение, которое вы хотите. Затем следуйте инструкциям для запуска теста и сохранения результатов.

Инструменты для проведения теста скорости

Тест скорости SpeedSmart Wi-Fi и мобильная сеть Speedtest — он совместим с Apple iPhone и iPad. Это платное приложение. SpeedSmart — это лучшая утилита для тестирования скорости iOS для оценки вашего сотового соединения (3G, 4G и LTE) и Wi-Fi на всех ваших устройствах iOS. Глобальная сеть серверов и интеллектуальный метод проверки скорости обеспечивают точные результаты.

Тест скорости Wi-Fi

Тест скорости WiFi — он совместим с телефонами Android. Это платный инструмент. С помощью этого инструмента вы можете проверить скорость вашей локальной сети (LAN). Тестирование может проводиться по беспроводной (WiFi) или проводной сети.

Локализация и глобализация

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

Sr.No. Описание
1 Текст переведен.
2 Переводы соответствуют стандартам носителей языка в отношении грамматики и точности терминологии.
3 Размеры диалоговых окон должным образом изменяются, а текст диалога переносится в соответствии с правилами языка пользовательского интерфейса.
4 Переведенные диалоговые окна, строки состояния, панели инструментов и меню размещаются на экране с разным разрешением. Они не оборачиваются и не обрезаются.
5 Ускорители меню и диалогов уникальны.
6 Визуальный макет соответствует макету родного издания. Например, элементы диалога находятся в правильном порядке табуляции.

Тестирование базы данных

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

SQLite — это легковесная база данных, которая обычно используется в Android и других операционных системах. Чтобы просмотреть данные в SQLite, вам может потребоваться получить root права на устройство или вы можете использовать эмуляторы для тестирования. В Android Playstore есть несколько инструментов, которые помогут вам извлечь данные из этой базы данных.

Следующие типы тестов должны стать частью тестирования вашей мобильной базы данных —

  • Проверка базы данных.
  • Тестирование интеграции баз данных.
  • Тестирование производительности базы данных.
  • Процедура и функциональное тестирование.
  • Триггерное тестирование.
  • Тестирование операций CRUD (Создать / Читать / Обновить / Удалить), чтобы убедиться, что они будут работать с базой данных.
  • Проверка того, что изменения базы данных отображаются правильно в пользовательском интерфейсе приложения.
  • Поиск и индексация функций тестирования.

Тестирование восстановления

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

Тестирование восстановления — это проверка того, насколько хорошо приложение может восстанавливаться после сбоев, сбоев оборудования и других подобных проблем. Ниже приведен контрольный список для тестирования Восстанавливаемости.

Sr.No Описание
1 Адекватное резервное копирование данных сохраняется.
2 Резервные данные хранятся в безопасном месте.
3 Процедуры восстановления документированы.
4 Весь медиафайл был восстановлен из точки восстановления
5 Все контакты восстановлены
6 Все приложения были успешно восстановлены

Параллельное тестирование

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

Юзабилити-тестирование

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

Юзабилити-тестирование

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

Ниже приведен общий контрольный список для тестирования GUI.

Sr.No. Описание
1 Можно ли установить приложение на устройство?
2 Работает ли приложение, как задумано / желательно, при входящем звонке?
3 Работает ли приложение как задумано / желательно, если есть входящее СМС?
4 Работает ли приложение как задумано / желательно, если подключено зарядное устройство?
5 Работает ли приложение, как задумано / желательно, если зарядное устройство отключено?
6 Работает ли приложение как задумано / желательно, если устройство переходит в спящий режим.
7 Работает ли приложение как задумано / желательно, если устройство выходит из спящего режима.
8 Работает ли приложение как задумано / желательно, если устройство возобновляет работу с экрана блокировки?
9 Работает ли приложение как задумано / желательно, если устройство наклонено?
10 Работает ли приложение как задумано / желательно, если устройство встряхнуло?
11 Работает ли приложение так, как задумано / желательно, если локальное сообщение приходит из другого приложения (например, напоминания календаря, задача и т. Д.).
12 Работает ли приложение так, как задумано / желательно, если push-сообщение исходит от другого приложения (например, упоминания в Twitter, сообщения WhatsApp и т. Д.).
13 Правильно ли приложение взаимодействует с датчиком GPS (включить / выключить, получить данные GPS)?
14 Функциональность всех кнопок или клавиш на устройстве определена для этого приложения?
15 Убедитесь, что кнопки или клавиши, которые не имеют определенной функции, не имеют неожиданного поведения в приложении при активации.
16 Если на устройстве имеется настоящая кнопка «назад», то переводит ли кнопка «назад» пользователя на предыдущий экран?
17 Если на устройстве имеется настоящая кнопка «меню», отображает ли кнопка меню меню приложения?
18 Если на устройстве имеется настоящая кнопка «Домой», возвращает ли кнопка «Домой» пользователя на домашний экран устройства?
19 Если на устройстве имеется настоящая кнопка «поиск», то дает ли это пользователю какой-либо вид поиска в приложении?
20 Работает ли приложение так, как задумано / желательно, при нажатии на сообщение «Низкий заряд батареи»
21 Работает ли приложение как задумано / желательно, если звук на устройстве выключен?
22 Работает ли приложение как задумано / желательно, если устройство находится в режиме полета?
23 Можно ли удалить приложение с устройства?
24 Работает ли приложение как ожидается после переустановки?
25 Можно ли найти приложение в магазине приложений? (Проверьте после запуска)
26 Может ли приложение переключаться на другие приложения на устройстве с помощью многозадачности, как это было запланировано / желательно?
27 Работают ли все положения сенсорного экрана (кнопки) при использовании защитной пленки.

Мобильное тестирование — Обзор фреймворков

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

Структура тестирования отвечает за —

  • Определение формата, в котором можно выразить ожидания
  • Создание механизма для подключения или запуска тестируемого приложения.
  • Выполнение тестов и представление результатов

Каркасная архитектура

Общая архитектура инфраструктуры тестирования выглядит следующим образом:

Каркасная архитектура

Для автоматизации тестирования мобильных устройств нам нужна хорошая инфраструктура тестирования мобильной автоматизации. На вершине этого фреймворка мы можем построить наши тесты. Среды тестирования мобильной автоматизации могут быть разделены операционной системой мобильного устройства. В следующих главах мы обсудим два типа мобильных платформ тестирования: платформы тестирования Android и платформы тестирования iOS.

Мобильное тестирование — Android Frameworks

На рынке доступно множество платформ для тестирования Android. Давайте посмотрим на топ-5 в стеке.

  • Robotium — Robotium — это тестовая среда с открытым исходным кодом для разработки функциональных, системных и приемочных тестовых сценариев. Это очень похоже на Selenium.

  • UIAutomator — UIAutomator — это тестовая среда от Google, которая обеспечивает предварительное тестирование пользовательского интерфейса собственных приложений и игр для Android. Он имеет библиотеку Java, содержащую API для создания функциональных тестов пользовательского интерфейса, а также механизм выполнения для запуска тестов.

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

  • Calabash — Calabash — это функциональная среда тестирования, которую можно использовать как для функционального тестирования iOS, так и Android. На бумаге это должна быть одна из самых простых платформ для использования, и даже не разработчики должны иметь возможность создавать функциональные тесты, используя ее.

  • Selendroid — Selendroid является относительно новым ребенком в блоке и может быть использован для функционального тестирования ваших приложений Android. Очевидно, если вы привыкли к Selenium, Selendroid должен быть простым способом использовать ваши знания для создания функциональных тестов для Android.

Robotium — Robotium — это тестовая среда с открытым исходным кодом для разработки функциональных, системных и приемочных тестовых сценариев. Это очень похоже на Selenium.

UIAutomator — UIAutomator — это тестовая среда от Google, которая обеспечивает предварительное тестирование пользовательского интерфейса собственных приложений и игр для Android. Он имеет библиотеку Java, содержащую API для создания функциональных тестов пользовательского интерфейса, а также механизм выполнения для запуска тестов.

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

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

Selendroid — Selendroid является относительно новым ребенком в блоке и может быть использован для функционального тестирования ваших приложений Android. Очевидно, если вы привыкли к Selenium, Selendroid должен быть простым способом использовать ваши знания для создания функциональных тестов для Android.

Мобильное тестирование — IOS Frameworks

Подобно платформам тестирования Android, на рынке доступно множество платформ тестирования iOS. Здесь мы поговорим о нескольких популярных.

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

  • Calabash — Calabash — это функциональная среда тестирования, которую можно использовать как для функционального тестирования iOS, так и Android. На бумаге это должна быть одна из самых простых платформ для использования, и даже не разработчики должны иметь возможность создавать функциональные тесты, используя ее.

  • Zucchini — Zucchini — это платформа визуального функционального тестирования с открытым исходным кодом для приложений iOS, основанная на Apple UIAutomation.

  • UI Automation. Для более типичных функциональных тестов (или тестов «черного ящика»), в которых вы собираетесь писать код, имитирующий перемещение конечного пользователя по вашему приложению, существует UI Automation. Автоматизация пользовательского интерфейса предоставляется Apple и является санкционированным Apple способом проведения функционального тестирования iOS.

  • FRANK — BDD для iOS — Если вы хотите провести сквозное тестирование в iOS и хотите использовать BDD и Cucumber, не беспокойтесь — есть инструмент под названием Frank , который позволит вам создавать приемочные тесты и требования с использованием Cucumber.

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

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

Zucchini — Zucchini — это платформа визуального функционального тестирования с открытым исходным кодом для приложений iOS, основанная на Apple UIAutomation.

UI Automation. Для более типичных функциональных тестов (или тестов «черного ящика»), в которых вы собираетесь писать код, имитирующий перемещение конечного пользователя по вашему приложению, существует UI Automation. Автоматизация пользовательского интерфейса предоставляется Apple и является санкционированным Apple способом проведения функционального тестирования iOS.

FRANK — BDD для iOS — Если вы хотите провести сквозное тестирование в iOS и хотите использовать BDD и Cucumber, не беспокойтесь — есть инструмент под названием Frank , который позволит вам создавать приемочные тесты и требования с использованием Cucumber.

Сравнение между различными структурами тестирования

Тестирование фреймворков

Мобильное тестирование — Robotium Framework

Robotium — это тестовая среда с открытым исходным кодом для написания автоматических тестов «серого ящика» для приложений Android. При поддержке Robotium разработчики тестовых сценариев могут написать сценарии функций, системных тестов и приемочных тестов, охватывающие несколько направлений деятельности Android.

Robotium можно использовать как для тестирования приложений, в которых доступен исходный код, так и приложений, в которых доступен только APK-файл.

Преимущества Robotium

  • Легко написать, более короткий код. Минимальное время, необходимое для написания твердых тестовых случаев.

  • Вы можете разработать мощные контрольные примеры с минимальными знаниями о тестируемом приложении.

  • Каркас обрабатывает несколько действий Android автоматически. Читаемость тестовых случаев значительно улучшена по сравнению со стандартными инструментальными тестами.

  • Автоматическая синхронизация и задержки.

  • Автоматически следует за текущей деятельностью.

  • Автоматически находит виды.

  • Автоматически принимает свои собственные решения (например, когда прокручивать и т. Д.)

  • Никаких изменений для платформы Android.

  • Выполнение теста быстрое.

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

  • Плавно интегрируется с Maven или Ant.

Легко написать, более короткий код. Минимальное время, необходимое для написания твердых тестовых случаев.

Вы можете разработать мощные контрольные примеры с минимальными знаниями о тестируемом приложении.

Каркас обрабатывает несколько действий Android автоматически. Читаемость тестовых случаев значительно улучшена по сравнению со стандартными инструментальными тестами.

Автоматическая синхронизация и задержки.

Автоматически следует за текущей деятельностью.

Автоматически находит виды.

Автоматически принимает свои собственные решения (например, когда прокручивать и т. Д.)

Никаких изменений для платформы Android.

Выполнение теста быстрое.

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

Плавно интегрируется с Maven или Ant.

Недостатки Robotium

  • Robotium не может обрабатывать Flash или веб-компоненты.

  • Он обрабатывает только одно приложение за один раз.

  • Он не может имитировать нажатие на программную клавиатуру с помощью Robotium (необходимо ввести ‘enterText ()’ для ввода текста в поле EditText)

  • Robotium не может взаимодействовать с уведомлениями в строке состояния, т. Е. Раскрыть область уведомлений и щелкнуть указанное уведомление.

  • Может быть немного медленным, особенно на старых устройствах.

Robotium не может обрабатывать Flash или веб-компоненты.

Он обрабатывает только одно приложение за один раз.

Он не может имитировать нажатие на программную клавиатуру с помощью Robotium (необходимо ввести ‘enterText ()’ для ввода текста в поле EditText)

Robotium не может взаимодействовать с уведомлениями в строке состояния, т. Е. Раскрыть область уведомлений и щелкнуть указанное уведомление.

Может быть немного медленным, особенно на старых устройствах.

Как использовать Robotium

Шаг 1 — Необходимыми условиями использования Robotium является Java SDK (минимум 1.6). Если в вашей системе не установлена ​​Java, выполните следующие действия.

  • Загрузите JDK и JRE из Oracle Technology Network

  • Принять лицензионное соглашение.

  • Установите JDK и JRE.

  • Установите переменную среды, как показано на скриншоте ниже.

Загрузите JDK и JRE из Oracle Technology Network

Принять лицензионное соглашение.

Установите JDK и JRE.

Установите переменную среды, как показано на скриншоте ниже.

Переменная среды

Шаг 2 — Загрузите Android Studio из Android Studio

  • Дважды щелкните по exe и запустите установщик.
  • Продолжить со всеми параметрами по умолчанию.
  • Установите ANDROID_HOME.

Шаг 3 — Установите образы и инструменты Android.

  • Нажмите на SDK Manager —

SDK Manager

  • Выберите необходимый пакет. Например, если мы создаем приложение для Android 4.4.2, убедитесь, что следующие пакеты отмечены в разделе Инструменты —

    • Android SDK Tools rev 22.6.3
    • Платформа Android-инструменты ред 19.0.1
    • Android SDK Build-tools, версия 19.1

Выберите необходимый пакет. Например, если мы создаем приложение для Android 4.4.2, убедитесь, что следующие пакеты отмечены в разделе Инструменты —

Шаг 4 — Создание виртуальных устройств Android.

  • Откройте Android Studio и нажмите AVD Manager на панели инструментов. AVD позволяют нам тестировать и запускать наши приложения для Android.

AVD Manager

  • Используйте следующие настройки для Nexus5 AVD —

    • Устройство — Nexus 5 (4,95, 1080 x 1920; xxhdpi)
    • Цель — API Google x86 (Google Inc.) — Уровень API 19
    • (Убедитесь, что вы выбрали цель с Google API в названии.)
    • Процессор — Intel Atom (x86)
    • Установите флажок для использования Host GPU
    • Нажмите ОК
  • Теперь вы должны увидеть AVD, который вы создали в AVD Manager, где вы можете запустить его, удалить или создать еще один!

Используйте следующие настройки для Nexus5 AVD —

Теперь вы должны увидеть AVD, который вы создали в AVD Manager, где вы можете запустить его, удалить или создать еще один!

Шаг 5 — Файл Robotium Jar Загрузите файл Robotium Jar из RobotiumTech

Протестируйте приложение с Robotium

Чтобы протестировать приложение с Robotium, выполните следующие действия:

Шаг 1 — Создайте тестовый проект в Android Studio с именем «RobotiumTest».

Robotium Test

Выберите все параметры по умолчанию, пока не дойдете до главной страницы.

Шаг 2 — Скопируйте файл jar Robotium в папку Lib проекта.

Робот Jar Файлы

Шаг 3 — Добавьте зависимость в файл build.gradle в папке src .

androidTestCompile ‘com.jayway.android.robotium: robotium-solo-5.5.3’

Шаг 4 — Синхронизируйте Gradle.

Синхронизируйте Gradle

Шаг 5 — Создайте класс Test следующим образом —

package com.example;

import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{

   private Solo solo;

   public MyTestClass() {
      super(TestActivity.class);
   }

   public void setUp() throws Exception {
      solo = new Solo(getInstrumentation(), getActivity());
   }

   public void testCase() throws Exception {
      String vResult="TestExample";
      EditText vEditText = (EditText) solo.getView(R.id.edit1);
      solo.clearEditText(vEditText);
      solo.enterText(vEditText,"TestExample");
      solo.clickOnButton("Submit");
      assertTrue(solo.searchText(vResult));
      TextView textField = (TextView) solo.getView(R.id.txt1);
      //Assert to verify result with visible value
      assertEquals(vResult, textField.getText().toString());
   }

   @Override
   public void tearDown() throws Exception {
      solo.finishOpenedActivities();
   }
}

Шаг 6 — Сохраните все изменения. Убедитесь, что ошибок нет.

Шаг 7 — Теперь запустите тестовый пример. Если тест пройден успешно, вы должны увидеть следующий результат!

Показать результат

Мобильное тестирование — Selendroid Framework

Selendroid — это среда автоматизации тестирования для тестирования нативных и гибридных приложений Android. Тесты Selendroid написаны с использованием клиентского API Selenium Webdriver.

Преимущества Selendroid

  • Полностью совместим с протоколом проводов JSON / Selenium 3 Ready.

  • Не требуется модификация тестируемого приложения для его автоматизации.

  • Тестирование мобильного интернета с помощью встроенного приложения для просмотра драйверов Android.

  • Та же концепция для автоматизации нативных или гибридных приложений.

  • Элементы пользовательского интерфейса могут быть найдены различными типами локаторов.

  • Поддерживаются жесты: API расширенного взаимодействия с пользователем.

  • Существующие эмуляторы запускаются автоматически.

  • Selendroid поддерживает горячее подключение аппаратных устройств.

  • Полная интеграция как узел в Selenium Grid для масштабирования и параллельного тестирования.

  • Поддержка нескольких целевых API Android (от 10 до 19).

  • Встроенный инспектор для упрощения разработки тестовых случаев.

  • Selendroid может быть расширен во время выполнения с помощью ваших собственных расширений.

  • Selendroid может взаимодействовать с несколькими устройствами Android (эмуляторами или аппаратными устройствами) одновременно.

Полностью совместим с протоколом проводов JSON / Selenium 3 Ready.

Не требуется модификация тестируемого приложения для его автоматизации.

Тестирование мобильного интернета с помощью встроенного приложения для просмотра драйверов Android.

Та же концепция для автоматизации нативных или гибридных приложений.

Элементы пользовательского интерфейса могут быть найдены различными типами локаторов.

Поддерживаются жесты: API расширенного взаимодействия с пользователем.

Существующие эмуляторы запускаются автоматически.

Selendroid поддерживает горячее подключение аппаратных устройств.

Полная интеграция как узел в Selenium Grid для масштабирования и параллельного тестирования.

Поддержка нескольких целевых API Android (от 10 до 19).

Встроенный инспектор для упрощения разработки тестовых случаев.

Selendroid может быть расширен во время выполнения с помощью ваших собственных расширений.

Selendroid может взаимодействовать с несколькими устройствами Android (эмуляторами или аппаратными устройствами) одновременно.

Недостатки Selendroid

Недостаток этого инструмента в том, что он довольно медленный, и на некоторых машинах с объемом оперативной памяти менее 4 ГБ его невозможно использовать.

Как использовать Selendroid

Шаг 1 — Необходимыми условиями использования Robotium является Java SDK (минимум 1.6). Если в вашей системе не установлена ​​Java, выполните следующие действия.

  • Загрузите JDK и JRE из Oracle JavaSE

  • Принять лицензионное соглашение.

  • Установите JDK и JRE.

  • Установите переменную среды, как показано на скриншоте ниже.

Загрузите JDK и JRE из Oracle JavaSE

Принять лицензионное соглашение.

Установите JDK и JRE.

Установите переменную среды, как показано на скриншоте ниже.

Переменная среды

Шаг 2 — Загрузите Android Studio из SDK Android (это займет время из-за размера файла).

  • Дважды щелкните по exe и запустите установщик.
  • Продолжить со всеми параметрами по умолчанию.
  • Установите ANDROID_HOME.

Шаг 3 — Загрузите файлы Selenium jar и тестовое приложение с Selendroid

  • Загрузите файл jar селена и тестовое приложение.
  • Поместите его в любую папку, например D: \ SelendroidJars.

Шаг 4 — Физическое устройство с USB-кабелем.

  • Убедитесь, что устройство подключено к рабочей станции с помощью USB-кабеля.

  • Убедитесь, что режим отладки по USB (в настройках → Параметры разработчика) включен.

Убедитесь, что устройство подключено к рабочей станции с помощью USB-кабеля.

Убедитесь, что режим отладки по USB (в настройках → Параметры разработчика) включен.

Протестируйте приложение с помощью Selendroid

Чтобы протестировать приложение с помощью Selendroid, выполните следующие действия:

Шаг 1 — Установите Eclipse.

Шаг 2 — Создайте проект Java.

Шаг 3 — Добавьте загруженный файл jar Selendroid во вновь созданный проект.

Шаг 4 — Добавьте загруженные файлы Selenium jar во вновь созданный проект.

Шаг 5 — Сконфигурируйте testNG в Eclipse.

Шаг 6 — Подключите мобильные устройства к системе с помощью USB-кабеля. Установите режим отладки USB из настроек разработчика в настройках.

Шаг 7 — Запустите сервер Selendroid. Откройте командную строку, введите следующий код и нажмите Enter —

java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk

Selendroid-standalone запустит http-сервер на порту 4444 и просканирует все виртуальные устройства Android (avd), созданные пользователем (~ / .android / avd /).

Откройте веб-браузер и перейдите по адресу : http: // localhost: 4444 / wd / hub / status .

Шаг 8 — Создание проекта Java; добавьте Selendroid Standalone библиотеки, Selenium jar и библиотеки JUnit в путь сборки.

Селен Мастер

Шаг 9 — Создание пакета под Java-проектом.

Шаг 10 — Создайте класс под пакетом и напишите следующий код.

package selTest;

import io.selendroid.SelendroidDriver; 
import io.selendroid.common.SelendroidCapabilities;
import io.selendroid.standalone.SelendroidConfiguration;
import io.selendroid.standalone.SelendroidLauncher;

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 

import org.testng.Assert; 
import org.testng.annotations.AfterSuite; 
import org.testng.annotations.BeforeSuite; 
import org.testng.annotations.Test;

public class SelendroidTest {

   private WebDriver driver ;

   @BeforeSuite 
   public void setUp() throws Exception {
      SelendroidConfiguration config = new SelendroidConfiguration();
      config.addSupportedApp("selendroid-test-app-0.9.0.apk");
      SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
      selendroidServer.launchSelendroid();
	  
      SelendroidCapabilities caps = new
         SelendroidCapabilities("io.selendroid.testapp:0.9.0"); 
      driver = new SelendroidDriver(caps);
   }
   
   @Test 
   public void selendroidTest() throws Exception {
      WebElement inputField = driver.findElement(By.id("my_text_field"));
      Assert.assertEquals("true", inputField.getAttribute("enabled"));
      inputField.sendKeys("Selendroid");
      
      Assert.assertEquals("Selendroid", inputField.getText());
	  
      WebElement button = driver.findElement(By.id("buttonTest"));
      button.click();
	  
      button = driver.findElement(By.id("button2"));
      button.click();
      
      Thread.sleep(5000);
	  
      button = driver.findElement(By.id("startUserRegistration"));
      button.click();
      
      Thread.sleep(10000);
	  
      WebElement element = driver.findElement(By.id("label_username")); 
      
      String text = element.getText();
      System.out.println(text);
      element = driver.findElement(By.id("inputUsername"));
      element.sendKeys("bob");
      
      element = driver.findElement(By.id("inputEmail"));
      element.sendKeys("[email protected]"); 
      
      element = driver.findElement(By.id("inputPassword"));
      element.clear();
      element.sendKeys("test1233");
      
      element = driver.findElement(By.id("inputName"));
      element.clear(); 
      element.sendKeys("My Name ");
	  
      element = driver.findElement(By.id("input_preferedProgrammingLanguage")); 
      element.click();
      
      element = driver.findElement(By.id("text1"));
      element.click();
	  
      element = driver.findElement(By.id("input_adds"));
      element.click();
	  
      element = driver.findElement(By.id("btnRegisterUser"));
      element.click();
      
      element = driver.findElement(By.id("buttonRegisterUser"));
      element.click(); 
   }
   
   @AfterSuite 
   public void tearDown(){ 
      driver.quit(); 
   } 
}

Шаг 11 — Запустите класс с конфигурацией запуска testNG.

Мобильное тестирование — Appium Framework

Appium — это среда автоматизации тестирования с открытым исходным кодом для тестирования нативных и гибридных приложений и мобильных веб-приложений. Он управляет приложениями iOS и Android, используя протокол WebDriver.

Преимущества Appium

  • Это бесплатно и (в основном) с открытым исходным кодом.

  • У него очень хорошо поддерживается и активная группа Google.

  • Это в спецификации Selenium 3, так что должно быть будущее.

  • Он поддерживает как Android, так и iOS.

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

Это бесплатно и (в основном) с открытым исходным кодом.

У него очень хорошо поддерживается и активная группа Google.

Это в спецификации Selenium 3, так что должно быть будущее.

Он поддерживает как Android, так и iOS.

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

Недостатки Аппиума

  • Нет поддержки для интеллектуальных ожиданий.
  • На iOS вы можете выполнить только один тест за один раз для Mac.
  • Ограниченная поддержка жестов.
  • Ограниченная поддержка Android <4.1

Как использовать Appium

Шаг 1 — Необходимыми условиями использования Appium является Java SDK (минимум 1.6). Если в вашей системе не установлена ​​Java, выполните следующие действия.

  • Загрузите JDK и JRE из Oracle JavaSE

  • Принять лицензионное соглашение.

  • Установите JDK и JRE.

  • Установите переменную среды, как показано на скриншоте ниже.

Загрузите JDK и JRE из Oracle JavaSE

Принять лицензионное соглашение.

Установите JDK и JRE.

Установите переменную среды, как показано на скриншоте ниже.

Переменная среды

Шаг 2 — Загрузите Android Studio из SDK (это займет время из-за размера файла).

  • Дважды щелкните по exe и запустите установщик.
  • Продолжить со всеми параметрами по умолчанию.
  • Установите ANDROID_HOME.

Шаг 3 — Установите образы и инструменты Android.

  • Нажмите на SDK Manager —

SDK Manager

  • Выберите необходимый пакет. Например, если мы создаем приложение для Android 4.4.2, убедитесь, что следующие пакеты отмечены в разделе Инструменты —

    • Android SDK Tools rev 22.6.3
    • Платформа Android-инструменты ред 19.0.1
    • Android SDK Build-tools, версия 19.1

Выберите необходимый пакет. Например, если мы создаем приложение для Android 4.4.2, убедитесь, что следующие пакеты отмечены в разделе Инструменты —

Шаг 4 — Создание виртуальных устройств Android —

  • Откройте Android Studio и нажмите AVD Manager на панели инструментов. AVD позволяют нам тестировать и запускать наши приложения для Android.

Откройте Android Studio и нажмите AVD Manager на панели инструментов. AVD позволяют нам тестировать и запускать наши приложения для Android.

AVD Manager

  • Используйте следующие настройки для Nexus5 AVD —

    • Устройство: Nexus 5 (4,95, 1080 x 1920; xxhdpi)

    • Цель: API Google x86 (Google Inc.) — уровень API 19

    • Убедитесь, что вы выбрали цель с Google API в названии.

    • Процессор: Intel Atom (x86)

    • Установите флажок для использования Host GPU

    • Нажмите ОК.

  • Теперь вы должны увидеть AVD, который вы создали в AVD Manager, где вы можете запустить его, удалить или создать еще один!

Используйте следующие настройки для Nexus5 AVD —

Устройство: Nexus 5 (4,95, 1080 x 1920; xxhdpi)

Цель: API Google x86 (Google Inc.) — уровень API 19

Убедитесь, что вы выбрали цель с Google API в названии.

Процессор: Intel Atom (x86)

Установите флажок для использования Host GPU

Нажмите ОК.

Теперь вы должны увидеть AVD, который вы создали в AVD Manager, где вы можете запустить его, удалить или создать еще один!

Шаг 5 — Загрузите файлы jar из Appium из Appium

Протестируйте приложение с помощью Appium

Чтобы протестировать приложение с Appium, выполните следующие действия:

Шаг 1 — Создайте тестовый проект в Android Studio с именем «RobotiumTest».

Robotium Test

Выберите все параметры по умолчанию, пока не дойдете до главной страницы.

Шаг 2 — Добавьте банки Appium в ваш проект. Нажмите Project → App → скопировать все банки в lib. Выберите скопированные банки, кроме Selenium, Java-клиента и Junit Jar, затем щелкните по нему правой кнопкой мыши и выберите «Добавить как библиотеку».

Шаг 3 — Нажмите на build.gradle в приложении. Вы увидите все добавленные библиотеки, как показано на следующем снимке экрана.

Build Gradle

Шаг 4 — Теперь создайте класс Java, как показано ниже —

AppiumDriver driver;
@Before
public void testCaseSetup()throws Exception {
   //service.start();
   //reader.readFile();

   DesiredCapabilities cap = new DesiredCapabilities();
	
   cap.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
   cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
   cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
   cap.setCapability(MobileCapabilityType.APP, "c://apk//sample.apk");
	
   driver = new AndroidDriver<MobileElement>("http://127.0.0.1:4444/wd/hub",cap);
}

@Test
public void testcase1()throws Exception {
   driver.findElementByID("Example").click();
   Asser.assertTrue(driver.findElementByID("Example").isDisplayed));
}

@After
public void testCaseTearDown() {
   driver.quit();
}

Шаг 5 — Запуск тестового случая.

  • Нажмите на вариант сборки и выберите Unit Testing.
  • Запустите сервер Appium с указанным портом «4444».
    • Загрузите Appium для Windows отсюда.
    • Дважды щелкните на .exe и установите Appium.
    • Нажмите на иконку, чтобы открыть пользовательский интерфейс.
    • При необходимости измените порт, как показано ниже.
    • Нажмите кнопку Play, чтобы запустить сервер.

Запуск теста

  • Подключите устройство с включенной отладкой по USB или запустите эмулятор.
  • Щелкните правой кнопкой мыши тестовый класс и выберите «Выполнить».

Мобильное тестирование — Zucchini Framework

Zucchini — это новая среда тестирования, использующая домен-специфический язык в стиле BDD (DSL). Одним из основных направлений является упрощение приемочных испытаний, написанных с использованием Selenium.

Это не замена JBehave или Robot Framework, как вы увидите позже. Здесь мы дадим вам представление о концепциях цуккини, описывая пример шаг за шагом.

Как установить Цуккини

Предварительными условиями для установки Zucchini является XCode 4.2. Кроме того, требуется несколько инструментов командной строки, таких как brew update && brew install imagemagick && brew install coffee-script.

драгоценный камень установить цуккини-иос

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

Начните с создания эшафот проекта

цуккини сгенерировать —project / path / to / my_project

Создайте эшафот для вашей первой функции

цуккини сгенерировать —feature / path / to / my_project / features / my_feature

Начните взламывать, изменив функции / my_feature / feature.zucchini и функции / поддержка / экраны / welcome.coffee .

Кроме того, вы можете ознакомиться с демонстрационным проектом zucchini, в котором представлена ​​простая в изучении установка Zucchini на примере Apple CoreDataBooks.

Добавьте ваше устройство в features / support / config.yml .

Утилита udidetect пригодится, если вы планируете время от времени добавлять устройства — udidetect -z .

ZUCCHINI_DEVICE = «Мое устройство», запустите цуккини / путь / к / my_feature

Запуск на симуляторе iOS. Мы настоятельно рекомендуем вам запускать функции Zucchini на реальном оборудовании. Однако вы можете запустить их на iOS Simulator, если нужно.

Прежде всего, измените ваш файл functions / support / config.yml, указав полный путь к вашему скомпилированному приложению. Например,

Приложение: /Users/vaskas/Library/Developer/Xcode/DerivedData/CoreDataBooks-ebeqiuqksrwwoscupvxuzjzrdfjz/Build/Products/Debug-iphonesimulator/CoreDataBooks.app

Во-вторых, добавьте запись «iOS Simulator» в раздел «Устройства» (UDID не требуется) и убедитесь, что вы указали фактическое значение «screen» на основе настроек вашего iOS Simulator —

Запустите это как —

ZUCCHINI_DEVICE = «Симулятор iOS», прогон цуккини / путь / к / my_feature