Соберите проект #
Выберите интересующую вас услугу
Меня интересует...

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

    Тестирование мобильных приложений
    4 мин.

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

      Для чего нужно тестирование

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

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

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

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

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

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

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

      Проведение тест-кейсов

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

      Проверка удобства обновлений

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

      Проверка работоспособности при слабом Wi-Fi соединении

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

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

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

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

      Чтобы понимать, какие критерии предъявляет каждая операционная система к приложениям, тестировщик должен быть знаком со специальными руководствами. В случае с Android – это Material Design, а в случае с Apple – Human Interface Guidelines.

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

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

      Поскольку матрица обширна, а иметь столько устройств просто невозможно, используют эмуляторы. С их помощью можно имитировать работу мобильных устройств, обладающих различными конфигурациями параметров. Для устройств на базе iOS используется эмулятор Apple iOS, а для Android – Android Virtual Device.

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

      Когда грубые ошибки выявлены и исправлены, начинается этап бета-тестирования. На нем специалисты ищут оставшиеся баги и недочеты, которые могут негативно отразится на работоспособности итоговой версии. Здесь главными инструментами тестировщиков становятся сервисы Beta (Andriod) и TestFlight (iOS).

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

      Самые часто встречающиеся ошибки

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

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

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

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

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