Подтвердить что ты не робот

Как определить приоритеты ошибок?

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

Как определяется степень тяжести/приоритетности ошибок? Существуют ли какие-либо стандарты, которые определяют, как приоритеты программного обеспечения должны определяться на основе потребностей клиентов, временных линий и других факторов?

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

Я работаю над системами центра аварийного управления, поэтому этот набор уровней ошибок немного, ну... экстремальный:

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

Это с моей головы. В случае, если вам интересно, это от самого крайнего к минимуму: -)

Ответ 4

Некоторые вещи, которые мы использовали раньше. Мы разделили рейтинг дефектов на приоритет и степень серьезности.

Тяжесть (задается отправителем при подаче дефекта)

  • Самый высокий (5): Потеря данных, возможное повреждение оборудования или отказ, связанный с безопасностью
  • Высокий (4): Утрата функциональности без разумного обходного пути
  • Средний (3): Потеря функциональности с разумным обходным способом
  • Низкий (2): Частичная потеря функции или набора функций (функция все еще удовлетворяет требованиям дизайна)
  • Самый низкий (1): косметическая ошибка

Приоритет (скорректированный с помощью разработки, управления и контроля качества при оценке дефектов)

  • Самый высокий (5): система практически не используется с этим дефектом.
  • Высокий (4): дефект окажет серьезное влияние на способность компании продавать и поддерживать эту систему.
  • Средний (3): компания потеряет деньги, если этот дефект находится в системе, но, возможно, более важно выполнить график. Исправить после выпуска.
  • Низкий (2): не задерживайте выпуск, но впоследствии устраните эту проблему.
  • Самый низкий (1): Исправить, как позволяют время и ресурсы.

Оба числа вместе создают номер приоритета риска (RPN). Просто умножьте строгость с приоритетом. Более высокий результат означает более высокий риск. 25 определяет конечную дефектную бомбу. 1 может быть сделано во время простоя или если кому-то скучно и что-то нужно делать.

Первая цель: перед выпуском должны быть исправлены дефекты с рейтингом самого высокого или высокого уровня. Вторая цель: Дефекты с RPN > 8 должны быть исправлены перед выпуском продукта.


Это, конечно, немного искусственно, но помогает дать всем сторонам (Support, QA/Test, Engineering и Product Managers) инструмент для определения приоритетов, не сдувая мнение другой стороны.

Ответ 5

"Было ли это сделано".

У меня была эта дискуссия снова и снова, по разным проектам. Мы попытались совместить приоритет с серьезностью, но урок, который я узнал: не сочетать серьезность с приоритетом!

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

Наличие серьезности и уровня приоритета очень быстро станет очень путаным, потому что:

  • при использовании чисел (от 1 до 5) никто не будет знать, что означает каждое число
  • что если проблема имеет наивысший возможный приоритет, но самая низкая степень серьезности - и я уверен, что это произойдет!
  • что, если кто-то уменьшит серьезность, нужно ли ему также уменьшить приоритет?

"Итак, что вы должны делать?":

  • Используйте только один тип индикатора для "уровня" проблемы: не имеет значения, как вы это называете.

  • Используйте числа (например, 1-5, но могут быть более или менее в зависимости от ваших потребностей), чтобы четко указать важность, но объединить с ключевым словом, чтобы он ясно, что это значит (например, "приятно иметь", "показать стоппер" ). Для некоторых людей prio 1 означает наибольший импорт, а для других 5 → - > поэтому ключевое слово указывает, что означает число.

  • Сделайте различие между "нормальной проблемой" или "красным предупреждением". В нашем случае "Red Alert" необходимо немедленно решить и немедленно ввести в эксплуатацию. Обычная проблема будет следовать нормальному тесту-развертыванию-тестированию-развертыванию. Приоритет/серьезность/однако - как-вы-вызов - он должен быть установлен только для обычных проблем и будет игнорироваться для "красных предупреждений". * > На практике "Red Alert" может стать

    "Обычный выпуск": команда поддержки обнаружили основную ошибку и создали 'Красная тревога'. Но после некоторых мы обнаружили, что данные стал "коррумпированным" в базе данных поскольку он был вставлен прямо а не через приложение. *

  • Выберите хороший инструмент, который позволит вам настроить поток; но большинство инструментов делают.

Ответ 6

Что касается стандарта, руководство IEEE по классификации аномалий программного обеспечения, хотя я не уверен, насколько широко это принято. IEEE 1044.1-1995

Ответ 7

Один из вариантов заключается в том, чтобы владелец продукта определял приоритет ошибки. Хотя существует некоторая общая интуиция о том, как "плохая" ошибка, владельцем продукта может быть ответственность за установление порядка достоверности (т.е. ошибка A должна быть исправлена ​​до ошибки B и т.д.).

Чем больше информации (четкой и краткий), которая может быть предоставлена ​​владельцу продукта, может помочь этому человеку сделать эти определения (то есть, сколько пользователей испытало ошибку, какие функции недоступны в результате ошибки и т.д.)...)

Ответ 8

  • Должно быть сделано сейчас
  • Должно быть сделано, прежде чем мы отправим
  • Незначительное раздражение (не препятствует использованию пользователем функциональности)
  • Экземпляр/сценарий удаленного/тестер-из-Мордора

Хорошо, я только что сделал это... моя точка в классификации ошибок не должна быть недельным часом + длинным ритуалом.
ИМХО, приоритет в соответствии с блок-схемой - это потраченное впустую время. Исправлены ошибки в Cat # 1 и # 2 - так быстро, как они появляются. Если вы оказались завалены ошибками, замедлитесь и задумайтесь. Отложите Cat # 3 и Cat # 4, если расписание не разрешает или переопределяет приоритеты.
Важно то, что у всех вас есть общее понимание этой серьезности и ожидаемого качества. Не позволяйте соблюдению святых стандартов X замедлить вас от доставки того, что хочет клиент... рабочее программное обеспечение.

Ответ 9

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

Уровень важности устанавливается командой поддержки (на основе ввода от клиента). Приоритет устанавливается клиентом (с помощью команды поддержки).

В отношении серьезности я использую:

1 - Блокировка/показ остановлен
2 - Основная функциональность недоступна (или фактически недоступна), нет практической работы вокруг возможных
3 - Основная функциональность недоступна (или...), обойти возможные варианты 4 - Незначительная функциональность недоступна (или фактически недоступна), нет работы вокруг возможных
5 - Незначительная функциональность недоступна (или...), обойти возможные варианты 6 - Косметический или другой тривиальный

Тогда для приоритета я просто использую High, Medium, Low, но ничего из 3 - 5 уровней работает (намного больше, чем просто сверху).

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

Вообще говоря, я бы не выпустил ни с какими проблемами с высоким приоритетом, ни с проблемами среднего приоритета с серьезностью 1 - 4. Очевидно, что в идеальном мире вы все исправите, но мне никогда не посчастливилось иметь этот вариант.

Ответ 10

  • Тестер сообщает, что сломано
  • Разработчик оценивает, сколько работы будет исправлено.
  • Клиент решает деловую ценность, то есть приоритет.

Ответ 11

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

Ответ 12

Я использую следующие категории как для функций, так и для ошибок:

  • Showstopper, программа (или основная функция) не будет работать
  • Должно быть, значительная часть клиентов будет обеспокоена этим
  • Было бы, некоторые клиенты будут обеспокоены.
  • Приятно, что некоторые клиенты хотят этого.

Обычно вы планируете исправлять 1, 2 и 3, но 3 часто откладывается до следующего выпуска из-за ограничений по времени.

Ответ 13

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

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

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

Ответ 14

Я думаю, что это масштаб, который мы использовали на предыдущей работе:

  • Вызывает потерю файлов или нестабильность системы.
  • Сбой программы.
  • Функция не работает.
  • Функция не работает, но есть обходные пути.
  • Косметическая проблема.
  • Запрос на улучшение.

Иногда это злоупотребляло - если функция была настолько плохо разработана, что кто-то не мог понять, как ее использовать, это было классифицировано как 6, и она никогда не исправлялась.

Ответ 15

Я согласен с людьми FogBugz в том, что это должно быть очень просто: http://fogbugz.stackexchange.com/info/352/priority-vs-severity

Я составил эту схему, которую мне легко запомнить:

  • pS: секунды, например, сервер горит.
  • pM: минутный вопрос, например, что-то сломано
  • pH: часы вещества, то есть не ложитесь спать, пока это не будет сделано.
  • pd: количество дней, то есть нормальный приоритет
  • pw: недельный вопрос, т.е. более низкий приоритет
  • pm: месяцы материя, т.е. не спешите
  • py: летняя материя, т.е. может быть/когда-нибудь, т.е. список желаний

Это примерно соответствует схеме Debian: http://www.debian.org/Bugs/Developer#severities

Мне это нравится, потому что он прямо сочетает приоритет и степень серьезности в одном поле, которое легко установить для.

PS: Вы также можете выбрать промежуточные моменты, например "pMH", между "минутами" и "часами". Или "pHd" находится между "часами" и "днями" - грубо говоря, "не буквально тяните за него все, кроме как ничего не работая, пока это не закончится".