Блог A1QA

О тестировании и качестве ПО

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

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

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

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

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

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

  • Каковы цели проекта?
  • Какая у продукта целевая аудитория?
  • Каковы технологические особенности приложения?

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

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

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

От чего зависит выбор устройств? Ключевых факторов несколько:

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

Рассмотрим каждый из пунктов отдельно.

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

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

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

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

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

Самые популярные модели смартфонов 2016 в США по DeviceAtlas

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поделиться статьей: