Найти тему
Savtis

Виды багов

Оглавление

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

Что такое баг?

Баг (с англ. bug - жук) - это ошибка в коде, которая лишает программу работоспособности (вылетает, не запускается или, вовсе, не компилируется) либо приводит к её неверной работе и/или выдаёт неожиданные результаты.

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

Уровни важности бага:

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

Периодичность и положение проявления бага:

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

Виды багов:

  • Борбаг - назван в честь Нильса Бора, точнее стабильности модели электронных орбиталей Нильса Бора. Такие баги появляются в одном и том же месте и делают это постоянно, стабильно.
  • Гейзенбаг - название основано на термине «принцип неопределённости Гейзенберга» из квантовой механики. Такие баги являются «плавающими».
  • Мандельбаг - название происходит уже от имени Бенуа Мандельброта, основоположника фрактальной геометрии. мандельбаг это гейзенбаг на стероидах. Такие ошибки ещё более непредсказуемы и с виду выглядят хаотично.
  • Багсон Хиггса - назван в честь Бозона Хиггса. Таким термином называют баг, который был обнаружен косвенно или по единичным заявлениям пользователей, либо вовсе предсказана математически, но при этом воспроизвести баг «в лабораторных условиях» либо очень трудно, либо вообще не выходит.
  • Шрёдинбаг - самый интересный вид среди багов, названный в честь мысленного эксперимента с котом Шрёдингера. Этот баг не проявляет себя в программе до тех пор, пока кто-то не заметит её в исходном коде или, использовав программу в нестандартных условиях. Обнаружив ошибку, программа тут же перестаёт нормально работать у всех, и оказывается, что программа вовсе не могла работать с этой ошибкой, но работала. Это звучит как какое-то аномальное чудо, но такие баги есть.
-2

источник: Wikipedia