Дополнительно
Разница между дефектом и ошибкой в тестировании?
В чем разница между дефектом и ошибкой?
35
10
В чем разница между дефектом и ошибкой?
Дефект - это отклонение от требований
То есть: дефект не обязательно означает наличие ошибки в коде, это может быть функция, которая не была реализована, но определена в требованиях к программному обеспечению.
Со страницы Википедии, посвященной тестированию программного обеспечения:
Цитирую Илин Бернштейн из книги Практическое тестирование программного обеспечения (рекомендуется), которая отталкивается от определения в "Сборнике стандартов IEEE по программной инженерии" (1994) и "Стандартном глоссарии IEEE по терминологии программной инженерии" (стандарт 610.12, 1990):
Ошибка
Неисправности (дефекты)
Отказы
Полностью главу можно прочитать в Google Books, здесь.
Существует несколько различных терминов, связанных с ошибками в программном обеспечении. Выдержка из курса, который я прослушал:
Ошибка: Действие или бездействие человека, которое приводит к неисправности.
Неисправность: Неисправность - это дефект программного обеспечения (неправильный шаг, процесс или определение данных), который приводит к сбою.
Ошибка: То же самое, что и неисправность.
Неисправность: Неспособность программного обеспечения выполнять свои необходимые функции в рамках установленных требований к производительности.
Согласно этому, нет никакой разницы между дефектом и ошибкой. Однако некоторые люди утверждают, что ошибка - это ошибка, которая обнаруживается до выпуска программного обеспечения, в то время как дефект - это ошибка, обнаруженная клиентом.
Я не смог удержаться и не опубликовать знаменитый "первый реальный случай обнаружения ошибки".
Из стандартного глоссария IEEE по терминологии разработки программного обеспечения, который цитируется в KA по разработке программного обеспечения для тестирования программного обеспечения и качества программного обеспечения:
Я думаю, что определение неудачи является наиболее актуальным. Все начинается с ошибки, будь то требования, дизайн, реализация или тестовый пример / процедура. Если эта ошибка проявляется в программном обеспечении, она становится ошибкой. Отказ вызван наличием одной или нескольких неисправностей в программном обеспечении.
Я не заинтересован в формальном определении ошибки, хотя. Я очень предпочитаю определение, предоставленное dukeofgaming в его ответе, однако, в этом ответе есть стандартное определение ошибки IEEE.
О, Боже.
В прежние времена - неисправная работа компьютера была вызвана всевозможными вещами - включая крыс, жующих проводку, и реальных ошибок (критиков), попадающих в работу.
Термин BUG застрял как термин, который означает что-то не работает, как ожидалось.
BUG следует рассматривать как жаргонный термин, означающий дефект.
Дефект - это технически правильный термин, означающий, что вещь не делает, как должна.
Везде, где это возможно, использование DEFECT вместо BUG фактически несет в себе коннотацию, что мы признаем наши неудачи (наши недостатки, наше непонимание требований пользователей или того, что мы упустили из виду при реализации) вместо того, чтобы называть его более тривиальным звучанием «ошибка» ».
Используйте DEFECT .
Старайтесь не использовать термин BUG. Это глупо, неактуально, исторически и тривиализирующе.
Ответ Дэна МакГрата прибил его правильно.
Может быть, пример сделает это яснее.
Пример: клиент хотел, чтобы веб-форма могла сохранять и закрывать окно.
Сценарий № 1: веб-форма имеет кнопку сохранения и другую кнопку закрытия. Результат: Дефект, потому что клиент хотел, чтобы 1 кнопка сохранила и закрыла окно. Разработчик неправильно понял и создал отдельно. Поскольку обе кнопки выполняли свои требования, это не ошибка, а дефект, потому что он не соответствовал требованиям клиента.
Сценарий № 2: веб-форма имеет сохранение и усиление. кнопка закрытия, но сохраняет только, но не закрывает. Результат: ошибка. Потому что кнопка не работает как требуется / ожидается. Разработчик знает, что предполагается получить этот результат, но в конечном итоге это не так. (возможно, ошибка кодирования)
Не уверен, что это проясняет ситуацию.
p / s: с точки зрения разработчика (я был когда-то), и дефекты, и ошибки так же важны. Мы все еще исправим это.
Мы даже столкнулись со странными аномалиями, которые мы классифицировали как ошибки, и мы постоянно пытаемся выяснить, в чем причина и как ее исправить. Прекращение ошибок не делает его тривиальным по сравнению с дефектами.
Разница в том, что термин «ошибка» звучит волшебно. Как будто программа может случайно иметь ошибки после того, как вы закончили программирование. Если у него есть случайные ошибки, значит, вы не соответствовали спецификациям, и ваша программа ошибочна.
Дефект означает ошибку, когда программа не соответствует спецификациям. Это более серьезно и в основном говорит о том, что любая ошибка - это огромная проблема с программой, и это означает, что программа не подходит для выпуска.
Разница в отношении программистов, которые используют термины. Есть миллионы программ, которые выпущены с ошибками, и люди в порядке с этим, потому что они почему-то признают, что ошибка является магической и случайной и что каждая программа содержит хотя бы одну ошибку. Тем не менее, программисту, который использует термин «дефект», может стать неудобно выпускать программу с дефектом, потому что этот термин подразумевает большую серьезность.
Последствия предпочтения одного термина другому влияют на нас ежедневно.
Согласно Доступность: основные понятия и терминология:
Я понимаю дефект как просто другое имя для ошибки.
Обратите внимание, что нет упоминания о спецификации: даже спецификация может быть ошибочной.
Вот тот, который я сделал ранее для своего работодателя Q-LEAP на основе словаря ISTQB, и я также проверил словарный запас IEEE. Наслаждаться.
Ошибка и дефект? То же самое, хотя можно бесконечно обсуждать это. У нас есть действительно другие вещи, о которых нужно беспокоиться, жизнь уже достаточно сложна и т. Д.
введите описание изображения здесь! Пример того, как этот термин используется в дикой природе, из «Как Google тестирует программное обеспечение» с. 113. Откройте статью «IEEE Software», и она будет использоваться таким же образом. Действительно, редко можно встретить слово «дефект» в реальной жизни.
За пределами конкретного экземпляра системы отслеживания ошибок / задач / билетов / дефектов / проблем / любых других этих слов эти слова не имеют точного значения, и поэтому обсуждать разницу между ними бессмысленно. Когда вы улаживаете свой рабочий процесс, вы должны уточнить терминологию и предоставить описания.
В моей нынешней среде «дефект» - это любой предмет в Джире. Похоже, сама Джира использует термин «проблема». Возможно, мы унаследовали это от какой-то более ранней системы. «Ошибка» - это тип проблемы, когда что-то не работает, как ожидалось, и описано в документации. «Запрос на функцию», когда что-то работает, как ожидалось, но требуется инициализация (это может быть очевидно и важно, но если описано текущее поведение, это все еще запрос функции). Есть больше типов, но эти 2 используются людьми вне команды разработчиков, чтобы что-то спросить.
Если вы выбираете имена для типов выпусков, «ошибка» и «дефект» звучат аналогично мне. Разница между ними стилистическая. Поскольку английский не является моим родным языком, я не могу видеть его в значительной степени и не уверен, что то, что я вижу, правильно.