тестировщик

Как тестировать мобильное приложение

Вы разработали мобильное приложение и выложили в сторы. Но почему-то в отзывах пользователи гневаются, а вы недополучаете прибыль. Как так? Где допущена ошибка? Ведь вы все продумали и записали в техзадании.
Дело в том, что пользователи могут взаимодействовать с мобильным приложением не так, как мы ожидали. Или так как мы ожидали, но результаты нас не устраивают — мы хотим лучше и больше.
Первый шаг к решению проблемы — тестирование.

[Тестирование должно сопровождать каждый этап разработки. То есть, на выходе продукт должен быть оттестирован сверху до низу. Однако не стоит думать, что после релиза о тестировании можно забыть. О, нет! Поведение живых пользователей сложно имитировать, часто они взаимодействуют с приложением непредсказуемо. Поэтому узнать о некоторых проблемах приложения можно только «в бою».]

Способов протестировать приложение достаточно много.
Любой вид тестирования приложения необходим. Важно лишь понимать, с какой целью вы проводите то или иное тестирование, и что вы собираетесь сделать с результатом. Если просто провести тест и положить результат на полку — то лучше отказаться от этой затеи. Так как это пустая трата времени и сил.
Добавим, что любое тестирование включает в себя:
1. Планирование теста (тут мы исходим из целей).
2. Проектирование теста (здесь мы выбираем или разрабатываем инструменты, скрипты, сценарии и прочее для проведения теста).
3. Выполнение теста (собственно приводим задуманное в действие, используя все необходимые ресурсы, которые заранее подготовили).
4. Анализ результатов (а что делать дальше, чтобы исправить ошибки?
Логичным завершением тестирования должно быть исправление ошибок в мобильном приложении или доработка приложения.

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

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

Для чего нужно?
Чтобы проверить, правильно ли функционирует приложение (то есть так, как мы задумали и как прописано в техническом задании). Для разработчиков работа приложения может быть очевидной, но именно этот тест покажет, правильно ли поняли исполнители, чего хотел заказчик. Все «хотелки» заказчика ищем в хорошо составленном и согласованном тз. По нему же и проводим тестирование (создаем кейсы).
Включает в себя тестирование транзакций (функции приложения в действии) и пользовательского опыта (взаимодействие пользователя с интерфейсом приложения).

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

Что такое кейс?
В данном случае это сценарий поведения пользователя в приложении. По сути, тестировщик берет кейс и проходит путь пользователя в приложении.
Сценариев функционального тестирования довольно много. Например:

  •  проверка корректности работы полей
  •  проверка логики переходов по экранам
  •  проверка корректности работы всех кнопок
  •  проверка корректности взаимодействия с соцсетями
  •  проверка поддержки транзакций через системы онлайн-оплаты
  •  проверка корректности установки приложения и его работы на всех предусмотренных устройствах
    В каждом случае нужно проверять позитивные и негативные кейсы. Кейс считается позитивным, если пользователь успешно достигает своей цели. Негативным — если на каком-то этапе приложение должно выдавать ошибку (то есть пользователь использует приложение неправильно). Ведь мы понимаем, что жизнь не сказка, и часто пользователи действуют «не по правилам».

Можно конкретный пример?
Допустим, пользователю нужно зарегистрироваться и авторизоваться в приложении. Возможны варианты авторизации с паролем и через соцсети.
Позитивный сценарий: пользователь регистрируется в системе, затем может авторизоваться любым удобным для него способом. Его данные корректно заполнены в профиле.
Негативные сценарии: пользователь пытается зарегистрироваться повторно на тот же email, хочет авторизоваться в системе с неправильным паролем.

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

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

Для чего нужно?
Цель — проверить, корректно ли функционирует приложение при разном количестве пользователей и при переходе из Wi-Fi в мобильную сеть. Найти участки приложения, которые могут тормозить его работу. Убедиться, что приложение не съедает всю батарею смартфона. Важность этого тестирования переоценить невозможно — если приложение не справится и начнет тормозить или вовсе вылетать, разработчики получат дозу пользовательского гнева в карму.

В чем суть?
Нагрузочное тестирование проходит в автоматическом режиме путем имитации действий нужного количества пользователей.

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

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

Для чего нужно?
Конфигурационное тестирование показывает, корректно ли работает мобильное приложение (а именно, его клиентская часть) на разных устройствах.

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

Как проводится?
Приложение тестируют в соответствии с техническим заданием:

  •  на различных гаджетах: планшеты, смартфоны, декстоп и др.
  •  в разных конфигурациях: типы процессора, разрешение экрана, оперативная память
  •  на разных версиях операционных систем iOS, Android
  •  в разных типах сети: GSM, Wi-Fi

Тестирование безопасности мобильного приложения

Для чего нужно?
Собирая данные пользователей, вы обязаны обеспечить их безопасность. Но приложение не становится безопасным от рождения, таким его делают специально. Тестирование же помогает понять, все ли мы сделали, чтобы защитить данные (и не только пользовательские) от угроз. То есть по сути, проверяется устойчивость приложения к различным угрозам безопасности: DoS-атакам, вирусам, воровству данных.

В чем суть?
Процесс тестирования безопасности приложения сложен и многогранен. Для различных целей используются разные методы: от экспертных аудитов до имитации действий злоумышленников автоматизированным путем.

Как проводится?
Варианты сценариев тестирования:

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

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

Для чего нужно?
Юзабилити — это свойство интерфейса, которое либо помогает взаимодействию пользователей с приложением, либо затрудняет его. С одним интерфейсом мы ладим легко и непринужденно — от взаимодействия с другим испытываем раздражение и не достигаем нужной цели (либо достигаем с трудом).
Тестирование помогает выяснить, как пользователи взаимодействуют с приложением. Понять заранее поведение и эмоции пользователя трудно. Даже если у вас есть здравый смысл и логика (два столпа юзабилити). Все потому что вы видите приложение иным взглядом: вам все понятно, вы давно «в теме». А вот пользователи видят его впервые.

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

  1.  Экспертный анализ — используются накопленные знания о пользовательском опыте. Некоторые очевидные ошибки можно исправить с помощью этого метода.
  2.  Тестирование с помощью веб-аналитики — сервисы веб-аналитики дадут понимание, что где-то, на определенных экранах есть проблема. Также можно понять, какой путь выбирают пользователи. Но этот вид анализа не даст понимания, что именно мешает пользователям совершать все больше конверсий. Хотя отчасти ответ на этот вопрос могут дать записи вебвизора Яндекс Метрики (только для сайтов).
  3.  Тестирование с участием живых пользователей с помощью специальных сервисов. Найти эти сервисы можно в интернете. За плату «нанятые» пользователи будут следовать вашим заданиям, а вы получите записи их действий на экране. А это поможет понять, насколько удобен интерфейс «в действии».
  4.  Живое тестирование. С приглашением пользователей вашей целевой аудитории (иногда возможно пригласить клиентов конкретной компании, для кого и создавалось приложение). Подробнее о таком тестировании мы уже писали статью.

Подытожим: как провести тестирование с пользой для дела?

  1. Ставим цель: что нас беспокоит, что не устраивает в работе приложения. Основываемся на техническом задании, затем на отзывах пользователей, на собственных ощущениях, что «что-то не так, как нам хотелось».
  2.  Выбираем вид тестирования под цель.
  3. Находим исполнителя. Часто это может быть компания-разработчик. Он же поможет определить нужный вид тестирования.
  4.  Анализируем результаты и исправляем ошибки. В этом также поможет компания-разработчик.

В нашей команде трудятся опытные тестировщики, которые найдут слабые стороны в приложении, и разработчики, которые сделают из слабых сторон сильные. Обращайтесь, мы поможем! Пишите на info@punicapp.com.

Posted by:

Mobile News

Back to Top