Тестирование мобильных приложений — весьма актуальная тема. Число приложений, доступных для скачивания в интернет магазинах весьма впечатляет: приложений Android насчитывается 1,5 млн; в Apple Store их 1,4 млн. Уровень фрагментации устройств также поражает воображение: в августе прошлого года гаджетов на платформе Android было 24,093. Чтобы сделать хорошее приложение количество устройств для тестирования должно быть как можно большим.

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

  • Юзабилити
  • Функциональность
  • Производительность
  • Крайние случаи

Еще один важный аспект тестирования мобильных приложений — целевые устройства (устройства, отобранные для тестирования на них приложений), их должно быть как минимум 20. Эти устройства выбирают исходя из того, в каком географическом регионе они больше распространены. Учитывается и такой параметр, как размер экрана, разновидность операционной системы и ее версия. Как можно видеть, тестированию предшествует немалая предварительная работа.

Начиная тест, необходимо порядка 50 случаев использования (use case) для каждой из платформ (Android и iOS). С их помощью можно выяснить, были ли соблюдены вышеупомянутые стандартные требования. Другими словами, приложение исследуется на предмет того, как пользователи могут с ним обращаться. Описание таких случаев должно быть достаточно масштабным, чтобы можно было обнаружить как можно больше багов.

Различные тесты уместны на разных этапах жизненного цикла приложения.

Тестирование мобильных приложений

Как уже упоминалось выше, существуют два подхода: ручное тестирование и автоматизированное.

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

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

Тестирование приложений это непрерывный процесс

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

Автоматизация применяется для регрессионного тестирования, еnd-to-end и интеграций и т.д.

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

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

В числе возможных минусов — необходимость наличия начальных инвестиций и технических знаний.