Виды мобильного тестирования

До начала разработки мобильных приложений важно оговорить с заказчиком какие типы устройств он хочет использовать под данное программное обеспечение. А также определиться на какой платформе будет осуществляться разработка ПО. Собирается необходимая статистика и анализ. На сайтах Android и iOS предоставлены статистики использования разных версий, актуальны в текущий момент анализа, какие именно наиболее распространенные, какие девайсы пользуются спросом у потребителей (вплоть до диагонали устройства).

Есть три типа мобильных приложений:
  • нативные;
  • гибридные;
  • веб.

Нативными приложениями считаются те, что разрабатываются на языках программирования, на которых написана сама операционная система мобильного приложения. Для Android это Kotlin или Java, для IOS - Swift или Objective-C . Такие приложения можно скачать на мобильное устройство с App Store и Google Play Market . Плюсом использования таких приложений является тесная связь с телефоном пользователя. То есть можно в приложении использовать геоположение, фото, пуш-уведомления, подключать контакты. Такие приложения могут работать и без интернет соединения.

Еще из плюсов для компаний-владельцев приложений - возможность зарабатывать на рекламе, даже если приложение бесплатное для скачивания пользователя, а также возможность рекламировать их на площадках App Store и Google Play Market. Из минусов - необходимость разработки отдельных версий для каждой платформы, что трудозатратно и по времени и по бюджету.

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

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

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

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

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

Выделяют несколько уровней тестирования:

  • компонентное (тестируются отдельные модули: вход в личный кабинет или корзина в интернет-магазине, и другие);

  • интеграционное (тестинг интеграции нескольких модулей);

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

  • приемочное тестирование (определение готовности продукта или отдельного функционала ПО к релизу - последний этап тестирования перед вводом в эксплуатацию).
Для каждого мобильного приложения составлены гайдлайны (требования к дизайну), которым требуется следовать при разработке. Их тоже можно найти на площадках App Store и Google Play Market. На заметку, на собеседовании тестировщика могут также про них спрашивать. Обязательно необходимо их изучить для подальшего использования в работе.

Существует несколько типов проверок мобильных приложений:

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

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

  3. Тестирование качества соединения интернет. Проверяем разные типы соединения, скорость, прерывания связи, изменение типа соединения, например с Wi-fi на 4g.

  4. Проверка работы с функциями телефона. Те самые возможности нативных приложений: геоположение (GPS), загрузка видео/фото, разрешение экрана, ориентация экрана (акселерометр), распознавание голосовых и жестикуляционных команд, и другие.

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

  1. Функциональное тестирование (все функции, которые заявлены в приложении, должны работать корректно);
  2. Usability;
  3. UI тестирование;
  4. Совместимость с разными устройствами и конфигурация;
  5. Тестирование безопасности данных;
  6. Тестирование на отказ и восстановление;
  7. Бета-тестирование и другие.

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

По степени важности тестируемых функций выделяют такие виды тестирования:
  1. Smoke-тестирование (с англ. дымное тестирование) - с помощью него проверяется готовность продукта к расширенному тестированию. Определяет общее состояние качества разрабатываемого программного обеспечения.
  2. Тест критического пути - проверка правильности работы приложения на типичные действия пользователя.
  3. Расширенный тест - проверка нестандартного использования приложения (ввод специальных символов, перегруз системы).
По цели тестирования выделяют следующие виды:
  1. Тестирование новой функциональности - проверка качества нового функционала, например после фикса бага и корректировки ПО;
  2. Регрессионное - повтор тестирования старых функций приложения после корректировки и замены отдельных функций на новые (проверяются только связанные функциональности);
  3. Проверка правильности исправления дефекта (Re-test).
Выше прописаны только поверхностные знания по теме "Виды мобильного тестирования". Более детально мы углубляемся на наших курсах тестировщика с нуля, говоря о тестировании простыми словами, понятными каждому, кто захочет обучиться данной профессии. Записывайтесь на следующий поток обучения, освойте досконально направление тестирования с нами!

По всем вопросам свяжитесь с нами любым удобным способом: