Использование системы отслеживания ошибок QGIS

Материал из GIS-Lab
Версия от 20:03, 19 января 2012; Voltron (обсуждение | вклад) (Started: Using QGIS bugtracker)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Эта статья является кратким руководством по использованию системы отслеживания ошибкок (багтрекера, от англ. bug tracking system) Quantum GIS. В первую очередь она предназначена для пользователей, которые хотят оказать посильную помощь разработчикам и сделать QGIS лучше.

Общие сведения

Багтрекер это система, позволяющая вести учет ошибок, найденных в программном продукте, а также пожеланий пользователей. Quantum GIS использует в качестве багтрекера Redmine — открытую систему управления проектами, написанную на Ruby. Расположен багтрекер по адресу http://hub.qgis.org/.

Просматривать записи в redmine могут все желающие, но для полноценного использования системы необходимо зарегистрироваться. Так как QGIS является одним из проектов OSGeo, для входа в redmine используется OSGeo ID (регистрационная форма).

После получения OSGeo ID открываем страницу http://hub.qgis.org/ и в правом верхнем углу жмем на ссылку «Войти». После ввода своих регистрационных данных мы попадем в систему.

Сначала стоит озаботиться настройкой своей учетной записи: переходим по ссылке «My account» в правом верхнем углу, на открывшейся странице заполняем поля формы:

  • Firstname
  • Lastname
  • Email (на указанную почту будут приходить уведомления)

Здесь же можно указать предпочитаемый язык интерфейса (используется только после авторизации в системе), временную зону и порядок отображения записей. Рекомендуется установить отправку оповещений хотя бы в режим «Only for things I watch or I'm involved in», что позволит оперативно реагировать на изменения и комментарии.

Общение в багтрекере ведется на английском языке. 

Сообщаем об ошибке

Итак, в процессе работы обнаружена какая-то ошибка (или нам кажется, что это ошибка). Сначала нужно убедиться, что ошибка воспроизводится:

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

В процессе, по возможности, собираем доступную отладочную информацию, предшествующую возникновению ошибки (отладочные сообщения в консоли, сообщения из окна Message Log в последних версия QGIS). Если есть возможность, лучше проверять на последней версии, так называемый master (он же trunk), или использовать последнюю ночную сборку. Также имеет смысл проверить и последнюю «стабильную версию» (на момент написания статьи это 1.7.3)

Далее, проверяем, а не сообщал ли о ней кто-то еще: открываем в браузере страницу http://hub.qgis.org/projects/quantum-gis/issues и при помощи фильтров пытаемся найти нашу ошибку. Также можно выполнять поиск по ключевым словам http://hub.qgis.org/search/index/

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

  • авторизуемся в багтрекере при помощи своего OSGeo ID
  • переходим к проекту Quantum GIS Desktop
  • открываем страницу добавления нового сообщения «New Issue»
  • заполняем форму

При заполнении формы нужно обращать внимание на следующие моменты:

  • в поле Tracker указывается тип сообщения: ошибка (Bug)
  • в поле Subject — короткое и ясное описание ошибки
  • Description — развернутое описание ошибки с указанием последовательности действий для воспроизведения, версиями используемого ПО, платформы (ОС) и любой другой полезной информации
  • в поле Priority указывается предполагаемая важность ошибки (в последствии может быть изменена администраторами). Сейчас используется такая классификация:
    • Low — ошибка не мешающая повседневному использованию QGIS, и, вероятно, легко исправляющаяся
    • Normal — значение по умолчанию, применяется к большинству сообщений об ошибках и запросам нового функционала
    • High — ошибка оказывающая значительное влияние на удобство использования в некоторых случаях, в то же время не мешающая использовать QGIS для других задач
    • Urgent — делает использование QGIS практически невозможным или приводит к потере данных
    • Immediate — делает использование QGIS полностью не возможным или приводит к полной потере данных
  • Component ­— здесь указывается подсистема, в которой возникает ошибка
  • Affected version — если ошибка возникает в какой-то определенной версии QGIS, стоит указать эту версию (по умолчанию master). Т.к. поле пока не позволяет указывать несколько версий одновременно, указывайте самую старую проверенную версию, а в поле Description перечислите все проверенные
  • Target version — здесь указывается к выходу какой, по вашему мнению, версии QGIS данная ошибка должна быть исправлена. Но это не значит, что она обязательно будет исправлена к выходу именно этой версии
  • Platform и Platform version — соответственно название и версия используемой ОС
  • флаг Patch supplied устанавливается, если вы исправили ошибку самостоятельно и приложили к сообщению патч, исправляющий эту ошибку
  • флаг Causes crash or corruption устанавливается, если ошибка приводит к падению QGIS или потере данных
  • Assigned to — если вы знаете кто отвечает за данную подсистему, можете указать разработчика в этом поле
  • поле Files используется для загрузки дополнительных данных (тестовый набор данных, скриншоты, патчи и т.д.)

Перед отправкой сообщения проверьте форматирование, воспользовавшись кнопкой «Preview».

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

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

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

Оставляем пожелание

Если для полного счастья вам не хватает какой-то функции или возможности, об этом тоже стоит сообщать разработчикам. Для этого используется все тот же багтрекер и та же страница «New Issue». Незначительные отличия только в заполнении формы:

  • в поле Tracker указывается тип сообщения: запрос нового функционала (Feature)
  • Subject — короткое и ясное описание недостающей функции
  • Description — развернутое описание

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

Bounty

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

Bounty (премия) это некоторое вознаграждение, которое вы готовы выплатить разработчику, исправившему ошибку или реализовавшему функционал. Работает это следующим образом:

  • если соответсвующая ошибка уже есть в трекере, то ее необходимо отредактировать, установив поле Tracker в Bounty. Или же сразу создать сообщение такого типа
  • в поле Bounty value in euros указывается размер вознаграждения
  • ссылка на тикет добавляется на страницу http://hub.qgis.org/wiki/quantum-gis/Bugs

Также стоит связаться с Paolo Cavalini, который поможет в правильной организации процесса.

Ccылки

  1. How to report bugs
  2. Squash bugs for money