How to test mobile apps

Типы мобильных приложений

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

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

Отличия видов мобильных приложений

Процесс разработки мобильных приложений особо ничем не отличается от стандартного процесса разработки. Мы так же проходим через этапы:

SO WHAT IS THE DIFFERENCE?

Если брать во внимание тестирование гибридных и нативных приложений, то есть разница к подходу тестирования. Грубо говоря, если мы работаем с нативными приложениями – то нам необходимо тестировать полный функционал и на iOS, и на Android отдельно. Если мы работаем с гибридными приложениями – то основной акцент стоит уделить тестированию нативных функций, таких как date and time pickers, доступ к фотографиям, push-уведомления, любые другие нативные функции. В данном случае, если основной функционал приложения работает на версии для iOS, то он будет работать и на версии Android.

Native vs Hybrid app: How to Make the Right Choice

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

Build (сборка) – конечный результат компиляции программы с уникальным номером версии сборки. Обычно является достаточно долгим процессом (около 40 минут) и могут возникать ошибки во время компиляции.

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

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

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

Эмуляторы/симуляторы позволяют нам:

8 Best iOS Emulators for PC in 2021 (Windows and Mac) - iGeeksBlog

WHAT TO USE

BrowserStack

Дает возможность тестировать не только мобайл вью, но и отдельно запускать приложения на симуляторах. Есть большой ряд мобильных телефонов, и разные версии операционных система. Можно так же менять локацию, делать скриншоты, сворачивать/разворачивать приложения, есть возможность использовать Dev tools, и так далее. Но есть и минусы из личного использования – при работе с мобильными приложениями иногда очень тормозит, и в данном случае сложно понять – это проблема приложения или BrowserStack.

Test mobile apps with native device features | BrowserStack Docs

Xcode

Xcode — интегрированная среда разработки (IDE) программного обеспечения для платформ macOS, iOS, watchOS и tvOS, разработанная корпорацией Apple. В основном используется разработчиками для работы над приложениями, но так как там есть встроенный эмулятор, мы можем так же использовать Xcode для тестирования.

Apple Releases Xcode 11.3 With Support for iOS 13.3, Touch Bar (2nd Gen)  Simulator, More - iClarified

Android Studio

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

Эмулятор Android Studio 3.5.2. Как просмотреть список приложений - CodeRoad

WHAT ABOUT REAL DEVICES

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

С iOS в данном случае все сложнее из-за того, что сама по себе платформа iOS более защищенная, поэтому возникают сложности с установкой тестовых билдов на iPhone. Для распределения и получения iOS билдов используют дополнительные приложения. Их очень много, некоторые из них представлены ниже:

Некоторые дистрибьюторы для приложений

TestFlight

TestFlight — готовое решение, с помощью которого разработчики могут организовать тестирование бета-версий приложений и блиц-приложений для iOS, tvOS и watchOS. Для начала работы – получения приглашения – нужен apple Id, который используется на мобильном телефоне. Так же, TestFlight является отдельным приложением, которое скачивается и где будут потом хранится ранние сборки.

Бета-тестування за допомогою TestFlight | Безкоштовний онлайн-курс від  компанії QATestLab

Crashlytics

Crashlytics – бесплатный инструмент отслеживания и анализа багов в мобильных приложениях на операционных системах iOS и Android. Так же программа помогает с дистрибуцией тестовых билдов, что позволяет тестировщикам тестировать их на реальных приложения. С получением версий для Android все проще, c iOS сложнее, так как тестировщику необходимо сообщить UDID номер разработчику, что бы он вас мог добавить в список тестировщиком и таким образом вы сможете получать уведомления о новых версиях.

Beta by Crashlytics app doesn't install - Stack Overflow

AppCenter

Visual Studio App Center — это система для автоматизации жизненного цикла приложений для iOS, Android, Windows и macOS. Она поможет подключить репозиторий, собрать проект в облаке и протестировать сразу на тысячах устройств. Затем, например, разослать приложения тестировщикам бета-версий и в магазины приложений, провести мониторинг работы в режиме реального времени, отследить отчеты о сбоях и аналитику.

Visual Studio App Centerを使って内部向けに継続的にネイティブアプリを配信する - つばくろぐ @takamii228

Rudchenko Yuliya

Автор: Rudchenko Yuliya