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

Тестирование мобильных приложений: почему это важно 
16.12.2022

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

Мы в Q-Digital уже 8 лет создаем мобильные приложения и постоянно их тестируем. Мы изучили процесс тестирования вдоль и поперек и готовы ответить на самые распространенные вопросы. Поехали!

Что это за процесс?

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

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

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

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

Тестирование точно нужно?

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

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

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

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

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

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

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

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

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

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

Есть еще забавные отличительные особенности мобильного тестирования. Например, движение во время проверки. В отличие от тестирования web-приложений проверка продуктов для смартфонов может быть мобильным в прямом смысле слова. Иногда нужно проверить поведение приложения в разных условиях — к примеру, отойти от wi-fi, чтобы посмотреть, переключается ли оно на мобильную сеть. Или дойти от работы до ближайшего кафе и проверить, отслеживает ли сервис перемещение пользователя с помощью GPS, если необходима такая функция. 

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

Какие бывают виды тестирования

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

Инсталляционное тестирование

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

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

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

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

Нагрузочное тестирование

Здесь важно убедиться, что приложение нормально работает при большом количестве пользователей, длительной работе и увеличении базы данных. Если 100 000 человек одновременно могут использовать сервис, а на 100 001 программа выдает ошибку, в настройках что-то не так, нужно это исправить. Также бывают случаи, когда при большом количестве человек загрузка начинает тормозить. Все эти недочеты нужно устранить до релиза.

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

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

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

Юзабилити-тестирование — один из самых важных этапов. Даже если все функции приложение будут работать прекрасно, плохой визуал или UX могут нарушить впечатление. Если это произойдет, вы не только потеряете пользователей, но и испортите репутацию: по данным intechnic 62% пользователей рассказывают о своем негативном опыте взаимодействия другим. 

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

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

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

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

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

Конфигурационное тестирование

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

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

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

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

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

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

Методы тестирования: автоматическое и ручное

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

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

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

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

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

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

Самые животрепещущие вопросы: цена и продолжительность тестирования

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

Также роль играет организация процессов в команде. Некоторые компании-разработчики проводят тестирование одновременно с разработкой, чтобы сократить время. Если проверка продукта начинается после разработки, она может занять около 1-2 недель, в зависимости от возможностей программы. 

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

В среднем на проверку приложения нужно заложить 20%-30% от стоимости разработки. Если разработка программного кода стоит 1 000 000 р., тестирование, на отладку и подготовку к релизу нужнобудет закладывать дополнительно  200 000-300 000 р.

Что в итоге: тестирование важно

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

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

Мы в Q-Digital не пренебрегаем тестированием и не советуем пропускать этот этап вам. Если вы подыскиваете исполнителей для тестирования или для разработки «под ключ» — обращайтесь к нам. На нашем счету — множество успешно реализованных кейсов. Чтобы заказать разработку мобильных приложений, оставьте заявку на сайте. Наш менеджер перезвонит вам для уточнения деталей.

Другие события