Вы разработали мобильное приложение и выложили в сторы. Но почему-то в отзывах пользователи гневаются, а вы недополучаете прибыль. Как так? Где допущена ошибка? Ведь вы все продумали и записали в техзадании.
Дело в том, что пользователи могут взаимодействовать с мобильным приложением не так, как мы ожидали. Или так как мы ожидали, но результаты нас не устраивают — мы хотим лучше и больше.
Первый шаг к решению проблемы — тестирование.
[Тестирование должно сопровождать каждый этап разработки. То есть, на выходе продукт должен быть оттестирован сверху до низу. Однако не стоит думать, что после релиза о тестировании можно забыть. О, нет! Поведение живых пользователей сложно имитировать, часто они взаимодействуют с приложением непредсказуемо. Поэтому узнать о некоторых проблемах приложения можно только «в бою».]
Способов протестировать приложение достаточно много.
Любой вид тестирования приложения необходим. Важно лишь понимать, с какой целью вы проводите то или иное тестирование, и что вы собираетесь сделать с результатом. Если просто провести тест и положить результат на полку — то лучше отказаться от этой затеи. Так как это пустая трата времени и сил.
Добавим, что любое тестирование включает в себя:
1. Планирование теста (тут мы исходим из целей).
2. Проектирование теста (здесь мы выбираем или разрабатываем инструменты, скрипты, сценарии и прочее для проведения теста).
3. Выполнение теста (собственно приводим задуманное в действие, используя все необходимые ресурсы, которые заранее подготовили).
4. Анализ результатов (а что делать дальше, чтобы исправить ошибки?
Логичным завершением тестирования должно быть исправление ошибок в мобильном приложении или доработка приложения.
Итак, теперь давайте разберемся, какие виды тестирования приложений существуют и для чего их нужно проводить обязательно.
Для чего нужно?
Чтобы проверить, правильно ли функционирует приложение (то есть так, как мы задумали и как прописано в техническом задании). Для разработчиков работа приложения может быть очевидной, но именно этот тест покажет, правильно ли поняли исполнители, чего хотел заказчик. Все «хотелки» заказчика ищем в хорошо составленном и согласованном тз. По нему же и проводим тестирование (создаем кейсы).
Включает в себя тестирование транзакций (функции приложения в действии) и пользовательского опыта (взаимодействие пользователя с интерфейсом приложения).
В чем суть?
Проводить такое тестирование можно тогда, когда у вас уже есть приложение или его прототип. Процесс тестирования строится на проверке кейсов. Чтобы правильно определить, какие кейсы необходимо проверить, важно понимать бизнес-функциональность приложения (игровое, образовательное, банкинг, соцсеть и т.д.), а также кто является целевой аудиторией. Немаловажно учесть, по какому каналу приложение будет распространяться: через сторы или напрямую к пользователям (например, если это корпоративное приложение).
Все эти данные помогут составить правильные (жизненные) кейсы.
Что такое кейс?
В данном случае это сценарий поведения пользователя в приложении. По сути, тестировщик берет кейс и проходит путь пользователя в приложении.
Сценариев функционального тестирования довольно много. Например:
Можно конкретный пример?
Допустим, пользователю нужно зарегистрироваться и авторизоваться в приложении. Возможны варианты авторизации с паролем и через соцсети.
Позитивный сценарий: пользователь регистрируется в системе, затем может авторизоваться любым удобным для него способом. Его данные корректно заполнены в профиле.
Негативные сценарии: пользователь пытается зарегистрироваться повторно на тот же email, хочет авторизоваться в системе с неправильным паролем.
Часто к функциональному тестированию относят проверку пользовательского интерфейса: совпадение экранов с мокапами, проверка работы пользовательских жестов (свайпов, мультитачей), проверка состояний элементов (корректное сворачивание списков, изменение цвета кнопок).
Для чего нужно?
Цель — проверить, корректно ли функционирует приложение при разном количестве пользователей и при переходе из Wi-Fi в мобильную сеть. Найти участки приложения, которые могут тормозить его работу. Убедиться, что приложение не съедает всю батарею смартфона. Важность этого тестирования переоценить невозможно — если приложение не справится и начнет тормозить или вовсе вылетать, разработчики получат дозу пользовательского гнева в карму.
В чем суть?
Нагрузочное тестирование проходит в автоматическом режиме путем имитации действий нужного количества пользователей.
Как проводится?
Первый этап нагрузочного тестирования — сбор информации о системе. Нужно знать среднее и максимальное количество пользователей, нормальное и максимальное время ответа приложения и т.п.
Второй этап — создание моделей загрузки (проблемные участки можно потенциально увидеть уже тут).
Третий — собственно запуск тестов.
Для чего нужно?
Конфигурационное тестирование показывает, корректно ли работает мобильное приложение (а именно, его клиентская часть) на разных устройствах.
В чем суть?
Обычно перед конфигурационным тестированием готовится матрица покрытия, куда заносят все нужные конфигурации. Далее конфигурации приоретизируют и проверяют в первую очередь важные варианты. Потому как проверить функционирование и отображение на всех устройствах и при всех условиях практически невозможно — мы должны понять, чем можно пожертвовать, а лучше, как найти оптимальный компромисс. Для этого и нужны приоритеты конфигураций.
Приоритеты берутся не с потолка и не подстраиваются под возможности и интересы разработчиков, а обуславливаются нуждами конечных пользователей. Например, если мы определили, что наше кроссплатформенное приложение в подавляющем большинстве все же будут использовать владельцы смартфонов на Android — то ставим их в приоритет.
Затем поэтапно проверяем все конфигурации. Так как другие пользователи тоже хотят получить качественный продукт.
Как проводится?
Приложение тестируют в соответствии с техническим заданием:
Для чего нужно?
Собирая данные пользователей, вы обязаны обеспечить их безопасность. Но приложение не становится безопасным от рождения, таким его делают специально. Тестирование же помогает понять, все ли мы сделали, чтобы защитить данные (и не только пользовательские) от угроз. То есть по сути, проверяется устойчивость приложения к различным угрозам безопасности: DoS-атакам, вирусам, воровству данных.
В чем суть?
Процесс тестирования безопасности приложения сложен и многогранен. Для различных целей используются разные методы: от экспертных аудитов до имитации действий злоумышленников автоматизированным путем.
Как проводится?
Варианты сценариев тестирования:
Для чего нужно?
Юзабилити — это свойство интерфейса, которое либо помогает взаимодействию пользователей с приложением, либо затрудняет его. С одним интерфейсом мы ладим легко и непринужденно — от взаимодействия с другим испытываем раздражение и не достигаем нужной цели (либо достигаем с трудом).
Тестирование помогает выяснить, как пользователи взаимодействуют с приложением. Понять заранее поведение и эмоции пользователя трудно. Даже если у вас есть здравый смысл и логика (два столпа юзабилити). Все потому что вы видите приложение иным взглядом: вам все понятно, вы давно «в теме». А вот пользователи видят его впервые.
В чем суть?
Проверка юзабилити может проводиться различными методами. Это отдельный пласт тестирований мобильных приложений, сайтов и сервисов.
Например, это могут быть:
В нашей команде трудятся опытные тестировщики, которые найдут слабые стороны в приложении, и разработчики, которые сделают из слабых сторон сильные. Обращайтесь, мы поможем! Пишите на info@punicapp.com.