До начала разработки мобильных приложений важно оговорить с заказчиком какие типы устройств он хочет использовать под данное программное обеспечение. А также определиться на какой платформе будет осуществляться разработка ПО. Собирается необходимая статистика и анализ. На сайтах 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. На заметку, на собеседовании тестировщика могут также про них спрашивать. Обязательно необходимо их изучить для подальшего использования в работе.
Существует несколько типов проверок мобильных приложений:
- Проверка на прерывание. То есть непредвиденное прерывание сеанса мобильного приложения внешним фактором. Например, поступивший звонок во время сеанса, всплывающие уведомления (смс, оповещение и другие), отключение устройства из-за отсутствия питания, переход в другие приложения, сворачивание в трей. Важно отследить состояние сеанса по возвращению, запись информации, корректная работоспособность.
- Тестирование установки, удаления, обновления и переустановки. Проверяем сохранение данных пользователя, сохранение последнего сеанса, загрузок.
- Тестирование качества соединения интернет. Проверяем разные типы соединения, скорость, прерывания связи, изменение типа соединения, например с Wi-fi на 4g.
- Проверка работы с функциями телефона. Те самые возможности нативных приложений: геоположение (GPS), загрузка видео/фото, разрешение экрана, ориентация экрана (акселерометр), распознавание голосовых и жестикуляционных команд, и другие.
- Тестирование производительности. Приложение должно быть оптимизированным под разные платформы и не перегружать оперативную память устройства, при этом работать на одинаково хорошей скорости и не зависеть от заряда батареи. Если в телефоне установлена флеш-память, то считываемые с нее приложения или подгружаемые файлы должны работать также с хорошей скоростью и не подвисать.
Есть и дополнительные типы тестирования, не менее важные:
- Функциональное тестирование (все функции, которые заявлены в приложении, должны работать корректно);
- Usability;
- UI тестирование;
- Совместимость с разными устройствами и конфигурация;
- Тестирование безопасности данных;
- Тестирование на отказ и восстановление;
- Бета-тестирование и другие.
Чтоб облегчить работу тестировщика в каждом гайдлайне размещены чек-листы для проверки соответствия разрабатываемого программного обеспечения требованиям платформ. Их можно смело использовать в работе, выбирая из перечня все те пункты, которые необходимы. Еще до начала тестирования составляется тест-план, в котором тестировщик указывает все необходимые проверки для разрабатываемого приложения, и виды тестирования.
По степени важности тестируемых функций выделяют такие виды тестирования: - Smoke-тестирование (с англ. дымное тестирование) - с помощью него проверяется готовность продукта к расширенному тестированию. Определяет общее состояние качества разрабатываемого программного обеспечения.
- Тест критического пути - проверка правильности работы приложения на типичные действия пользователя.
- Расширенный тест - проверка нестандартного использования приложения (ввод специальных символов, перегруз системы).
По цели тестирования выделяют следующие виды: - Тестирование новой функциональности - проверка качества нового функционала, например после фикса бага и корректировки ПО;
- Регрессионное - повтор тестирования старых функций приложения после корректировки и замены отдельных функций на новые (проверяются только связанные функциональности);
- Проверка правильности исправления дефекта (Re-test).
Выше прописаны только поверхностные знания по теме "
Виды мобильного тестирования". Более детально мы углубляемся на наших
курсах тестировщика с нуля, говоря о тестировании простыми словами, понятными каждому, кто захочет обучиться данной профессии. Записывайтесь на следующий поток обучения, освойте досконально направление тестирования с нами!