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

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

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

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

Матрица платформ

Apple vs Android

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

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

В США на три компании-производителя приходится до 80% всех устройств, которыми пользуется население страны: Apple (43.5%), Samsung (28.7%), LG (8.2%). С помощью подобной статистики и демографических характеристик можно очертить список устройств, которыми по преимуществу пользуется целевая аудитория, из чего, в свою очередь, делаются выводы относительно соответствующих операционных систем.

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

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

Ход тестирования

Как правило, полномасштабное или функциональное тестирование на нескольких устройствах оказывается не очень практичным или рентабельным. Обычно на одном или нескольких приоритетных устройствах проводят все тесты, а затем делают тест «на дым» (smoke test) на дополнительных устройствах, чтобы выявить все очевидные недочеты во время работы на целевых девайсах.

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

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

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

Ручное тестирование или автоматизация  

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

Управление устройствами         

Управление устройствами

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

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

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

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

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