Разница между дефектом и ошибкой в тестировании?

В чем разница между дефектом и ошибкой?

Комментарии к вопросу (4)
Решение
    • Ошибка - это результат ошибки в коде.
  • Дефект - это отклонение от требований

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


Со страницы Википедии, посвященной тестированию программного обеспечения:

Не все дефекты программного обеспечения вызваны ошибками кодирования. Одним из распространенных источников дорогостоящих дефектов являются пробелы в требованиях, например, нераспознанные требования, которые являются результатом ошибок, допущенных разработчиком программы.[14] Распространенным источником пробелов в требованиях являются нефункциональные требования, такие как тестируемость, масштабируемость, сопровождаемость, удобство использования, производительность и безопасность.

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

Цитирую Илин Бернштейн из книги Практическое тестирование программного обеспечения (рекомендуется), которая отталкивается от определения в "Сборнике стандартов IEEE по программной инженерии" (1994) и "Стандартном глоссарии IEEE по терминологии программной инженерии" (стандарт 610.12, 1990):

Ошибка

Ошибка - это ошибка, заблуждение, или непонимание со стороны разработчика программного обеспечения

В категорию разработчиков мы включаем инженеров-программистов, программистов, аналитиков и тестировщиков. Например, разработчик может неправильно понять условное обозначение, или программист может ввести переменную. неправильно напечатать имя переменной.

Неисправности (дефекты)

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

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

Отказы

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

Во время выполнения программного обеспечения компонента или системы, тестировщик, разработчик или пользователь замечает, что оно не дает ожидаемых результатов. В некоторых случаях определенный тип неправильного поведения указывает на определенный тип неисправности. Мы можем сказать, что тип неправильного поведения является симптомом неисправности. Опытный разработчик/тестировщик будет обладать знанием база неисправностей/симптомов/случаев отказа. (модели неисправностей, описанные в главе 3), хранящихся в памяти. Неправильное поведение может включать в себя получение неправильные значения для выходных переменных, неправильный ответ со стороны устройства, или неправильное изображение на экране. Во время разработки сбои обычно наблюдаются тестировщиками, и неисправности обнаруживаются и устраняются > разработчиками. разработчики.

Полностью главу можно прочитать в Google Books, здесь.

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

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

  • Ошибка: Действие или бездействие человека, которое приводит к неисправности.

  • Неисправность: Неисправность - это дефект программного обеспечения (неправильный шаг, процесс или определение данных), который приводит к сбою.

  • Ошибка: То же самое, что и неисправность.

  • Неисправность: Неспособность программного обеспечения выполнять свои необходимые функции в рамках установленных требований к производительности.

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

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

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

Из стандартного глоссария IEEE по терминологии разработки программного обеспечения, который цитируется в KA по разработке программного обеспечения для тестирования программного обеспечения и качества программного обеспечения:

ошибка. Смотрите: ошибка; ошибка.


ошибка. (1) Разница между вычисленным, наблюдаемым или измеренным значение или условие и true, указано или теоретически правильно значение или условие. Например, разница в 30 метров между а вычисленный результат и правильный результат. (2) Неправильный шаг процесс или определение данных. Например, неправильная инструкция в компьютерная программа. (3) Неправильный результат. Например, вычисляется результат 12, когда правильный результат 10. (4) Человеческая деятельность, которая дает неверный результат. Например, неверное действие на часть программиста или оператора. Примечание: пока все четыре определения обычно используемое, одно различие назначает определение 1 слову «Ошибка», определение 2 к слову «ошибка», определение 3 к слову «провал» и определение 4 к слову «ошибка.Смотрите a2so: динамический ошибка; фатальная ошибка; местная ошибка; семантическая ошибка; синтаксическая ошибка; статическая ошибка; переходная ошибка.


провал. Неспособность системы или компонента выполнить ее необходимые функции в рамках указанных требований к производительности. Запись: Дисциплина толерантности к вине различает действия человека (а ошибка), ее проявление (авиационная или программная ошибка), результат ошибки (неудачи) и суммы, на которую получен результат неверно (ошибка). Смотрите также: крушение; зависимый сбой; исключение; режим отказа; частота отказов; жесткий сбой; начинающий сбой ; независимый сбой; случайный сбой; мягкий отказ; застрявший сбой.


вина. (1) дефект аппаратного устройства или компонента; например, а короткое замыкание или сломанный провод. (2) Неправильный шаг, процесс или данные определение в компьютерной программе. Примечание: это определение используется прежде всего по дисциплине толерантности к вине. В общем использовании термины «ошибка» и «ошибка» используются для выражения этого значения. Смотрите также: ошибка, чувствительная к данным; программная ошибка; эквивалентные ошибки ; маскировка неисправностей; прерывистая неисправность.


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

Я не заинтересован в формальном определении ошибки, хотя. Я очень предпочитаю определение, предоставленное dukeofgaming в его ответе, однако, в этом ответе есть стандартное определение ошибки IEEE.

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

О, Боже.

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

Термин BUG застрял как термин, который означает что-то не работает, как ожидалось.

BUG следует рассматривать как жаргонный термин, означающий дефект.

Дефект - это технически правильный термин, означающий, что вещь не делает, как должна.

Везде, где это возможно, использование DEFECT вместо BUG фактически несет в себе коннотацию, что мы признаем наши неудачи (наши недостатки, наше непонимание требований пользователей или того, что мы упустили из виду при реализации) вместо того, чтобы называть его более тривиальным звучанием «ошибка» ».

Используйте DEFECT .

Старайтесь не использовать термин BUG. Это глупо, неактуально, исторически и тривиализирующе.

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

Ответ Дэна МакГрата прибил его правильно.

  • Ошибка является результатом ошибки кодирования
  • Дефект является отклонением от требований

Может быть, пример сделает это яснее.

Пример: клиент хотел, чтобы веб-форма могла сохранять и закрывать окно.

Сценарий № 1: веб-форма имеет кнопку сохранения и другую кнопку закрытия. Результат: Дефект, потому что клиент хотел, чтобы 1 кнопка сохранила и закрыла окно. Разработчик неправильно понял и создал отдельно. Поскольку обе кнопки выполняли свои требования, это не ошибка, а дефект, потому что он не соответствовал требованиям клиента.

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

Не уверен, что это проясняет ситуацию.

p / s: с точки зрения разработчика (я был когда-то), и дефекты, и ошибки так же важны. Мы все еще исправим это.

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

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

Разница в том, что термин «ошибка» звучит волшебно. Как будто программа может случайно иметь ошибки после того, как вы закончили программирование. Если у него есть случайные ошибки, значит, вы не соответствовали спецификациям, и ваша программа ошибочна.

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

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

Последствия предпочтения одного термина другому влияют на нас ежедневно.

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

Согласно Доступность: основные понятия и терминология:

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

Я понимаю дефект как просто другое имя для ошибки.

  • Ошибка * сбивает с толку и может представлять ошибку или сбой в зависимости от контекста.

Обратите внимание, что нет упоминания о спецификации: даже спецификация может быть ошибочной.

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

Вот тот, который я сделал ранее для своего работодателя Q-LEAP на основе словаря ISTQB, и я также проверил словарный запас IEEE. Наслаждаться.

Ошибка и дефект? То же самое, хотя можно бесконечно обсуждать это. У нас есть действительно другие вещи, о которых нужно беспокоиться, жизнь уже достаточно сложна и т. Д.

введите описание изображения здесь! Пример того, как этот термин используется в дикой природе, из «Как Google тестирует программное обеспечение» с. 113. Откройте статью «IEEE Software», и она будет использоваться таким же образом. Действительно, редко можно встретить слово «дефект» в реальной жизни.

  • Жизнь жука *

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

Ошибка рождается. Ошибки найдены и поданы всеми в Google. Продукт Менеджеры регистрируют ошибки, когда они обнаруживают проблемы в ранних сборках отличаются от их спецификаций / мыслей. Разработчики регистрируют ошибки, когда они понимают, что случайно зарегистрировались в проблеме или нашли проблему где-то еще в кодовой базе, или во время кормления собак продуктов Google. Ошибки также приходят с поля, из краудсорсинговых тестеров, внешних тестирование поставщика, и поданные менеджерами сообщества, контролирующими специфичные для продукта группы Google. Многие внутренние версии приложений также быстро щелкните одним щелчком мыши, чтобы исправить ошибки, такие как карты Google. А также, иногда программы создают ошибки через API .

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

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

В моей нынешней среде «дефект» - это любой предмет в Джире. Похоже, сама Джира использует термин «проблема». Возможно, мы унаследовали это от какой-то более ранней системы. «Ошибка» - это тип проблемы, когда что-то не работает, как ожидалось, и описано в документации. «Запрос на функцию», когда что-то работает, как ожидалось, но требуется инициализация (это может быть очевидно и важно, но если описано текущее поведение, это все еще запрос функции). Есть больше типов, но эти 2 используются людьми вне команды разработчиков, чтобы что-то спросить.

Если вы выбираете имена для типов выпусков, «ошибка» и «дефект» звучат аналогично мне. Разница между ними стилистическая. Поскольку английский не является моим родным языком, я не могу видеть его в значительной степени и не уверен, что то, что я вижу, правильно.

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