В ходе работы с дефектами часто сталкиваешься с тем, что приходится обращать внимание инженеров на необходимость более четкой формулировки summary дефекта. Причем, со временем это повторяется снова и снова. Та же ситуация наблюдается на интервью с соискателями на должность инженера по тестированию. Многие компании уделяют этому недостаточно внимания, но в сколь-нибудь большом проекте это может стать проблемой требующей решения.
Так почему же мы снова и снова пишем неправильные summary?
Во первых, нет четко сформулированного правила построения summary. Все знают что оно должно быть коротким и понятным и настроить человека, читающего его на правильное восприятие собственно описания самого дефекта. Многие соглашаются с тем, что оно должно быть уникальным, чтобы облегчить поиск дубликатов, которые в свою очередь, есть признак потерь продуктивности работы команды, но при этом все задаются вопросом, а какова тогда должна быть степень уникальности. В общем случае дубликаты могут рождаться по трем основным причинам:
Во вторых, если правила построения summary сложны и нечетки - они так или иначе в рутинном потоке заданий инженерами частично или полностью забываются.
Есть разные способы построения summary на сегодня. Вот, к примеру, два из них.
Первый способ:
Второй способ:
Напишите описание дефекта по следующей схеме:
Я предлагаю другой способ или так называемый принцип "Где? Что? Когда?". Именно в таком порядке, не путайте с названием популярной телепередачи :)
В чем этот принцип состоит?
Составьте предложение, в котором факты дефекта изложены в следующей последовательности:
В таком виде незнакомые дефекты удобнее сортировать по summary как показывает практика (ведь, скорее всего, именно среди дефектов других инженеров будет производиться поиск дубликатов). Если вы другого мнения - придумайте свою последовательность, но она должна стать единой для всех без исключения членов проекта, иначе вы не добьетесь необходимого результата.
Вот пример такого summary.
Допустим, у Вас есть диалог "Преобразовать данные" с кнопкой "Преобразовать".
И при нажатии этой кнопки появляется сообщение об ошибке "Ошибка №...".
Тогда summary дефекта будет состоять из следующих частей:
Диалог "Преобразовать данные" показывает сообщение об ошибке при нажатии кнопки "Преобразовать"
Все остальные детали должны быть указаны в описании дефекта.
Так почему же мы снова и снова пишем неправильные summary?
Во первых, нет четко сформулированного правила построения summary. Все знают что оно должно быть коротким и понятным и настроить человека, читающего его на правильное восприятие собственно описания самого дефекта. Многие соглашаются с тем, что оно должно быть уникальным, чтобы облегчить поиск дубликатов, которые в свою очередь, есть признак потерь продуктивности работы команды, но при этом все задаются вопросом, а какова тогда должна быть степень уникальности. В общем случае дубликаты могут рождаться по трем основным причинам:
- Summary дефектов в большинстве своем нечетки. Это приводит к тому, что при поиске дубликатов своего дефекта инженер не может распознать дефект по summary и вынужден часто читать описание каждого подобного дефекта, что серьезно увеличивает время создания каждого отдельного дефекта в базе. Поэтому, скорее всего, он не будет перечитывать описание тщательно, чтобы не снижать свою продуктивность.
- Инженеры еще недостаточно хорошо освоили сам продукт и связанную с ним предметную область, поэтому создают дефекты с различными неполными описаниями, но имеющими один и тот же источник.
- Неправильное планирование тестирования (например когда области тестирования 2-х независимых инженеров сильно перекрываются, а поиск дубликатов к тому же затруднен причиной № 1).
Во вторых, если правила построения summary сложны и нечетки - они так или иначе в рутинном потоке заданий инженерами частично или полностью забываются.
Есть разные способы построения summary на сегодня. Вот, к примеру, два из них.
Первый способ:
- Напишите сначала описание дефекта.
- Посмотрите на него внимательно и выделите из него ключевые моменты.
- Попробуйте сложить эти ключевые моменты вместе.
Второй способ:
Напишите описание дефекта по следующей схеме:
- Шаги воспроизведения
- Ожидаемый результат
- Полученный результат
Я предлагаю другой способ или так называемый принцип "Где? Что? Когда?". Именно в таком порядке, не путайте с названием популярной телепередачи :)
В чем этот принцип состоит?
Составьте предложение, в котором факты дефекта изложены в следующей последовательности:
- Где?: В каком месте интерфейса пользователя или архитектуры программного продукта находится проблема. Причем, начинайте предложение с существительного, а не предлога.
- Что?: Что происходит или не происходит согласно спецификации или вашему представлению о нормальной работе программного продукта. При этом указывайте на наличие или отсутствие объекта проблемы, а не на его содержание (его указывают в описании). Если содержание проблемы варьируется, все известные варианты указываются в описании.
- Когда?: В какой момент работы программного продукта, по наступлению какого события или при каких условиях проблема проявляется.
В таком виде незнакомые дефекты удобнее сортировать по summary как показывает практика (ведь, скорее всего, именно среди дефектов других инженеров будет производиться поиск дубликатов). Если вы другого мнения - придумайте свою последовательность, но она должна стать единой для всех без исключения членов проекта, иначе вы не добьетесь необходимого результата.
Вот пример такого summary.
Допустим, у Вас есть диалог "Преобразовать данные" с кнопкой "Преобразовать".
И при нажатии этой кнопки появляется сообщение об ошибке "Ошибка №...".
Тогда summary дефекта будет состоять из следующих частей:
- Где?: Диалог "Преобразовать данные"
- Что?: показывается сообщение об ошибке
- Когда?: при нажатии кнопки "Преобразовать"
Диалог "Преобразовать данные" показывает сообщение об ошибке при нажатии кнопки "Преобразовать"
Все остальные детали должны быть указаны в описании дефекта.
Спасибо, интересная статья!
ОтветитьУдалитьСобственно, у тебя тут изложены общие принципы, по которым составляются заголовки для любых текстов - Subject для писем, заголовок поста в блоге, название главы в книге... Естественно, заточенные под дефекты. Описание дефекта - текст, summary - заголовок. Заточка инструмента (которым лично я пользуюсь и для многих других целей) под конкретный контекст - дело нужное.
Хочу поинтересоваться твоим мнением по поводу разделения продукта на области с назначением ответственным за каждую область отдельного инженера. Что, все так делают? И если инженер видит баг (даже, положим, критический баг) в другой области - это повод для него закрыть на этот баг глаза, либо это повод обвинить "хозяина" области в том, что он не нашёл баг первым?
Желаю твоему блогу быть популярным и интересным :)
Алексей.
Замечательная статья "Где?Что?Когда?".
ОтветитьУдалитьПри том что у меня опыт тестирования уже перевалил 6 лет, я с удовольствием возьму на вооружение рекомендации и обязательно включу данную информацию в обучение персонала компании.
t-gra,
ОтветитьУдалитьНа самом деле, принцип, описанный здесь, подходит только для заголовков, которые можно сформулировать в форме подобного утверждения. На практике же заголовки писем и главы книг куда более разнообразны, поэтому применимость данной формулы ограничивается стилем изложения и назначением текста. Но, при большом желании, для более общих целей данную формулу можно расширять вплоть до уровня конечной грамматики ;) т.к. область применения самой идеи, как ты уже отметил, конечно же намного шире чем summary дефектов.
Спасибо за статью.!
ОтветитьУдалить