AzoftБлогСистемы баг-репортинга: как упростить тестирование мобильных приложений

Системы баг-репортинга: как упростить тестирование мобильных приложений

Владимир Иванов Май 5, 2016

Системы баг-репортинга: как упростить тестирование мобильных приложений

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

Процесс баг-репортинга

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

Инструменты баг-репортинга с функцией
краш-уведомлений

1. InstaBug

InstaBug встраивается в мобильное приложение и помогает пользователям и тестировщикам оставлять свои отзывы и сообщать об ошибках непосредственно из приложения.

Требования для Android:

  • min SDK 14+
  • Support v7 library

Требования для iOS:

  • Приложение должно быть связано со следующими средами разработки: AVFoundation, CoreMotion, CoreGraphics, CoreTelephony, SystemConfiguration, UIKit

Характеристики:

  • Совместимость с системами баг-трэкинга: JIRA, GitHub, Slack, Trello, Zendesk и Desk
  • Автоматическое формирование отчетов с каждым фидбэком от пользователей
  • Подробный отчёт, включая ОС телефона, логи консоли и шаги для воспроизведения бага
  • Возможность обмена сообщениями с пользователями, не покидая приложение
  • Встроенный краш-репортинг
  • Агрегирует все данные в табличный и графический вид и проводит мониторинг приложения
  • Возможность подключения проектной команды

Лицензия: Программа является платной.

2. Snaffu

Snaffu – встраиваемый в приложение инструмент баг-репортинга, который позволяет быстро находить и заводить развёрнутые баги. Отчётность о багах создается непосредственно внутри приложения.

Требования для Android:

  • min SDK 15
  • Android 5.0 для записи видео
  • Support v4 library

Требования для iOS:

  • Xcode 6

Характеристики:

  • Совместимость с системами баг-трэкинга: JIRA, Asana, PivotalTracker
  • Собственная встроенная система баг-трэкинга
  • Любой может зарепортить баг, не только участники проектной команды (если необходимо)
  • Автоматически предоставляет логи и всю информацию о девайсе
  • Возможность выделить проблему, записать видео
  • Краш-репорты – следующий репорт будет уже заполнен, т.е. приложение при запуске попросит отрепортить баг из-за которого оно упало
  • Уведомления по email
  • Работает в оффлайне и высылает репорты при появлении сети

Лицензия: Программа является платной.

3. Shaketobug

Shaketobug – библиотека баг-репортинга для Android. Позволяет пользователям приложения отправлять разработчикам сообщения об ошибках с помощью снимков юзер-интерфейса и графических пометок на сделанном снимке.

Требования:

  • Совместима со всеми версиями ОС

Характеристики:

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

Лицензия: Бесплатная программа.

4. BugshotKit

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

Требования:

  • Совместима со всеми версиями ОС

Характеристики:

  • Активируется с помощью одного из жестов, выбранного заранее. Как только обнаруживается баг, то можно одним движением открыть отчётное окно и создать скриншот с NSLog() консолью в реальном времени.

Лицензия: Бесплатная программа с возможностью финансово поддержать на добровольной основе один из проектов автора.

Инструменты краш-репортинга

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

Когда приложение запущено в продакшн без системы баг-репортинга, остаётся, как минимум, ещё один острый вопрос: что будет, если приложение упадёт в процессе использования? Разработчику важно как можно скорее узнавать о крашах и уметь быстро реагировать на них, чтобы оперативно выпускать обновления.

Можно представить такой сценарий. Приложение падает или перестает отвечать на запросы. Операционная система девайса, на котором открыто приложение, отправляет пользователю сообщение «Что-то пошло не так» и просит сделать детальное описание сбоя. Пользователь пишет отчёт и высылает его в ответ на запрос системы. Разработчик приложения получает отчёт и исправляет ошибку.

Всё это выглядит очень наивно, потому что в 99% случаев пользователь просто проигнорирует запрос и не будет тратить время на подробный отчёт о случившемся сбое. В этой ситуации разработчику ничего не остаётся, кроме как заранее предусмотреть такое развитие событий и использовать специальные инструменты краш-репортинга. При этом фиксируются только краши, не баги.

Мы выделили два наиболее популярных сегодня инструмента для автоматического формирования краш-репортов:

1. Crashlytics

Crashlytics – инструмент краш-репортинга для iOS и Android, предоставляющий подробные отчёты о происходящих сбоях в приложении и о возможных угрозах.

Требования:

  • Доступен для всех устройств и версий мобильных платформ

Характеристики:

  • Позволяет отслеживать стек, который привёл к сбою
  • Выполняет глубокий анализ приложения в разных направлениях и расставляет приоритеты по наиболее интересным строкам кода на предмет возможных угроз
  • Осуществляет поиск по всем кастомизированным данным
  • Отслеживает состояние девайсов, на которых запускается приложение
  • Предназначен и для iOS, и для Android. Может оценивать системные ошибки, которые способны привести к крашам. Например, как влияет версия мобильной платформы на возникновение сбоев
  • Приложение может быть установлено на рабочем столе разработчика со всей аналитикой и данными

Лицензия: Бесплатная программа.

2. ACRA (Automated Crash Reporting for Android)

ACRA – библиотека, которая позволяет Android приложению автоматически размещать в форме Google Doc отчеты о случающихся сбоях в работе.

Требования:

  • Минимум Android 2.2. и выше

Характеристики:

  • Позволяет разработчикам приложения получить все данные и логи происходящих сбоев, не задействовав пользователей
  • Настраиваемое взаимодействие с пользователем. Можно выбрать, как сообщить пользователю приложения о краше – по умолчанию, в виде Android отчёта, или альтернативными способами в виде диалога с пользователем и другими
  • Создаёт детализированный отчёт о случившимся сбое
  • Допускает добавление переменных или отслеженных багов в отчёт вручную
  • Позволяет отправлять отчёт об ошибках, даже если сбой еще не произошёл
  • Отчёты могут храниться в оффлайн-режиме и отправляются, когда пользователь выходит в сеть и перезапускает приложение
  • Может быть использовано с уникальным скриптом, прописанным разработчиком приложения

Лицензия: Бесплатная программа.

В начале статьи мы упоминали о том, как выглядит процесс заведения бага вручную. Он включает в себя несколько шагов, которые хотя и кажутся относительно простыми, на деле съедают массу времени. Особенно меня поймёт каждый из разработчиков, кто хоть раз в жизни слышал: «Дружище, все тестеры заняты. Заведи баг». Репортинг багов не так легко и быстро реализовать, как представляется на первый взгляд.

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

Комментарии

комментарии