Хорошее название бага понятно любому:

  • менеджеру, плохо знающему техническую часть проекта;

  • джуниору, который только пришел в проект;

  • разработчику (зачем мне это чинить?)

Для этого оно должно отвечать на 3 главные вопроса: Что? Где? Когда?

И в этой статье я хочу разобрать каждый из них подробнее.

Что?

Что именно не работает?

Не все картинки отображаются корректно

Картинка с котиком на главной уехала за пределы экрана

Что значит «не все картинки»? На главной их может быть с десяток. Они все сейчас отображаются некорректно? Или половина? Или все, кроме одной? Самый разный приоритет будет у задач. И мне надо понимать, что именно сломалось — все сразу или одна конкретная картинка.

Что произошло?

Вопрос «Что» отвечает сразу за два вопроса — что сломалось и как именно (что произошло?)

Не все картинки отображаются корректно

Картинка с котиком на главной уехала за пределы экрана

Что значит «не отображаются корректно»? Варианты снова самые разные. Картинки расплющило, они отображаются в плохом разрешении, их вообще нет, вместо них крестики. Так что именно происходит?

Если не разделять эти случаи, то потом будете искать именно «картинки не отображаются» и придется заходить внутрь каждой задачи с одним и тем же заголовком «отображаются некорректно».


Где?

Где именно проблема? В каком месте или компоненте продукта?

Не все картинки отображаются корректно

Картинка с котиком на главной уехала за пределы экрана

Совершенно разные баги получаются. Например, если у нас опечатка на главной странице сайта — это надо срочно исправить. А если где-то на 30 странице пользовательского соглашения, которое никто никогда не открывал, то пусть еще поживет, некритично.

Аналогично с картинками — ну уезжает картинка за пределы экрана где-то там, в старых отчетах, которые никто не использует давно, ну и что? Другое дело, если проблема на главной странице сайта.

Если проблема в каком-то конкретном компоненте, то есть два разных способа ее описания:

  1. Сначала указать компонент, а потом описать проблему

  2. Просто описать проблему, а компонент указать в отдельном поле

Мне больше импонирует второй вариант, сравните:

Подсказки. Предлагать вариант с исправленной опечаткой в ФИО

Предлагать подсказки с исправленной опечаткой в ФИО

С одной стороны, первый вариант очень удобен. Потому что если я делаю поиск по «ФИО» в баг-трекере, то я сразу по первой части заголовка вижу, где проблема:

  • Подсказки

  • Обработка

  • Загрузка

  • Отчеты

  •   ...

Но... Обычно в баг-трекере есть отдельное поле «Компонент», так зачем дублировать его в названии? Если нужен конкретный компонент, можно указать его в настройках поиска.

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

Однако тут дело привычки. И, разумеется, все зависит от компании, в которой вы работаете. Если вы пришли в команду, а у них принято в начале писать доп. инфу:

  • Компонент, где обнаружена проблема.

  • Стенд, на котором ее нашли (DEV, TEST, YOUR_NAME…).

  • Браузер.

  •  ...

Не надо махать шашкой и кричать, что это неудобно. Делайте так, как удобно команде.

Если в команде еще нет устоявшихся правил, рекомендую попробовать название писать «кратко, но емко» и без лишних знаков препинания. А всю доп инфо располагать в соответствующих полях. 

А дальше уже посмотрите, насколько это вам удобно или нет. Может быть, выработаете свой стиль. Главное — чтобы заголовок был понятным и показывал команде всю нужную информацию!


Когда?

Когда проблема проявляется? Всегда или при конкретных условиях?

Отчет падает с ошибкой

Отчет падает с ошибкой 500, если месячный баланс равен 0

Другой пример:

Не все картинки отображаются корректно

Картинка с котиком на главной уехала за пределы экрана

Так как в исправленном варианте названия ничего не отвечает на вопрос «когда» — подразумевается, что она ВСЕГДА уезжает. А вот если мы локализовали, что проблема только при некоторых условиях:

  • Браузер IE 7 и младше

  • Ширина браузера менее 500 пикселей

  •  ...

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

Если вы не указываете ответ на вопрос «Когда?» — это значит, что баг воспроизводится всегда. Или вы плохо его локализовали, что уже не очень здорово.


Итого

Хорошее название бага отвечает на 3 главные вопроса: 

  1. Что? — Что сломалось и как именно (что произошло?)

  2. Где? — Где именно проблема? В каком месте или компоненте продукта?

  3. Когда? — Когда проблема проявляется? Всегда или при конкретных условиях?

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

А это круто, особенно при поиске задачи потом — ведь в списке поиска мы видим в первую очередь название, и хочется найти “ту самую задачу” без долгих прокликиваний “зашли внутрь, нет, не оно”.

Поэтому старайтесь писать кратко, но емко. И коллеги будут вам благодарны =)

PS — больше полезных статей ищите в моем блоге по метке «полезное». А полезные видео — на моем youtube-канале  

Комментарии (10)


  1. CrazyElf
    14.12.2023 15:04

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


    1. just-a-dev
      14.12.2023 15:04

      А ещё очень часто в процессе внятного описания проблемы, материализуется и её решение.


    1. Molechka Автор
      14.12.2023 15:04

      К этому надо стремиться! Особенно если ты тестировщик =)


  1. ParaMara
    14.12.2023 15:04

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

    Да, от чёткого Что Где Когда работа программиста и менеджера станет проще и легче. Иными словами, то, что и сделало весь современный софт как минимум сомнительным с точки зрения качества, расцветёт пуще прежнего. Я, как потребитель, заинтересован в обратном.

    Не все картинки отображаются корректно

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

    Отчет падает с ошибкой

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

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


    1. iig
      14.12.2023 15:04

      Я, как потребитель

      Проходите мимо, товарищ потребитель, лекция для колхозников тестировщиков ;)

      заинтересован в обратном.

      От того, что программисты и QA будут пинать этот баг друг другу с пометками УМВР Cant reproduce, вам, как потребителю, станет сильно лучше?


      1. ParaMara
        14.12.2023 15:04

        От того, что программисты и QA будут пинать этот баг друг другу с пометками УМВР Cant reproduce, вам, как потребителю, станет сильно лучше?

        Да, станет сильно лучше. Но не сразу, а после того как обнаружится первая личность которая неожиданно часто can reproduce, а остальным, ранее и напрасно вошедшим в IT, личностям это отольётся.


        1. iig
          14.12.2023 15:04

          Можно ещё пороть. И децимации устраивать. Качество взлетит до неимоверных высот ;)


          1. ParaMara
            14.12.2023 15:04

            Спасибо за ответ. Понял я его так.

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

            Но это, увы, пороть и децимации не отменяет. К сожалению, в любой массовой профессии эти неприятности необходимы, ужасный антиутопический закон 20/80 в действии. Кстати, тот же закон, но уже со стороны массового потребителя, объясняет почему ЭТО у кодеров прокатило.

            Я понимаю, что стандартной реакцией на неприятные факты на Хабре является прятание головы в песок (даже стоя на асфальте когда) и привлечение к себе удачи путём понижения чужой кармы (что говорит о непонимании понятия кармы). Флаг в руки, но будущее в котором нещадно пороты будете - приближается.


            1. iig
              14.12.2023 15:04

              Вы как-то не так поняли ;)

              Смысл то был не в том, чтобы пороть, а в том, чтобы те, кого пороть не нужно, могли проявить себя.

              Что мешает им себя проявлять?

              Но это, увы, пороть и децимации не отменяет.

              Кнут без пряника работает, но недолго.

              почему ЭТО у кодеров прокатило

              Это прокатило у всех. Везде масса дешевых вещей невысокого качества. А знаете почему? Потому что покупают.


  1. NutsUnderline
    14.12.2023 15:04

    Я честно скажу: читать не буду. Но КДПВ - просто супер!