Обеспечиваем качество мобильных приложений. Шаг 1: Разработка стратегии тестирования

31 января 2017
Дата публикации
Обеспечиваем качество мобильных приложений. Шаг 1: Разработка стратегии тестирования
  • Тестирование ПО
  • Тестирование мобильных приложений
Компания «Точка качества» занимается обеспечением качества разнообразных программных продуктов, в том числе тестирование мобильных приложений.

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

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

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

Первый шаг разработки стратегии – анализ продукта и получение ответов на следующие вопросы:

  • Каковы цели проекта?
  • Какая у продукта целевая аудитория?
  • Каковы технологические особенности приложения?
Ответы на эти вопросы помогут оценить объем будущих работ и подобрать наиболее подходящих специалистов.

На чем тестировать?

Получив ответы на эти вопросы, выбираем устройства для тестирования. Это и есть второй шаг формирования стратегии тестирования.

От чего зависит выбор устройств? Ключевых факторов несколько:
  • Пожелания заказчика;
  • Целевые рынки приложения;
  • Предполагаемая целевая аудитория;
  • Особенности самого приложения (минимальная и максимальная поддерживаемая версия ОС, требования приложения к «железу», если такие имеются);
  • Сроки и бюджет проекта.
Рассмотрим каждый из пунктов отдельно.

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

Следующий фактор – это целевой рынок. Если приложение рассчитано на Китай, то стоит уделить внимание китайским смартфонам Xiaomi и Meizu. В Европе популярны Samsung, в США – девайсы от Google (Nexus), Apple и HTC. Однако догадками тут не обойтись. Только статистика поможет сделать правильный выбор.

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

Наиболее популярные ресурсы: Antutu, Akamai, DeviceAtlas, Futuremark и т.д.

Например, согласно DeviceAtlas, самые популярные устройства в Северной Америке за 2016 год выглядят так:

Рисунок1.webp

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

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

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

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

Чаще всего такие вопросы связаны с выбором устройств (зачем тестировать на нескольких девайсах, а не на одном самом популярном, или почему вам может потребоваться больше 10 минут на то, чтобы «прокликать» приложение).

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

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

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

Под типом устройства мы понимаем телефоны, планшеты, различные носимые устройства. Каждый тип устройства должен быть представлен различными разрешениями экрана и версиями операционной системы. Чаще всего различные специфические дефекты могут зависеть именно от версии ОС, поэтому стоит заложить, по крайней мере, две последние версии iOS (на сегодняшний день iOS 10 и iOS 9) и три для Android (4, 5, 6). Также не стоит забывать и про бета-версии операционных систем. Если возможно, также включите их в тесты.

Что спросить у заказчика до начала тестирования?

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

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

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

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

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