В этой статье я бы хотел рассказать про баги в программах и какие они бывают по своему поведению.
Что такое баг?
Баг (с англ. bug — жук ) — это ошибка в коде, которая лишает программу работоспособности (вылетает, не запускается или, вовсе, не компилируется) либо приводит к её неверной работе и/или выдаёт неожиданные результаты.
Не баг, а фича — этой фразой описывают, зачастую непреднамеренную, ошибку в программе, которая стала как-то приносить пользу или стала выделять программу на фоне остальных. Фича с англ. feature — особенность.
Уровни важности бага:
- Критические — лишают программу работоспособности.
- Серьёзные — вызывают сильные ошибки в работе программы, но не приводят к её остановке либо делают это крайне редко.
- второстепенные — не вызывают каких-либо серьёзных нарушений и не всегда заметны для пользователя или тестировщика.
- косметические — это ошибки в интерфейсе или визуале сайта.
Периодичность и положение проявления бага:
- Стабильная — баг наблюдается во всех запусках программы и находится «в одном и том же месте».
- «Плавающая» — баг может наблюдаться не во всех запусках программы и/или может проявляться в разных местах программы.
- Локальная — баг появляется на устройствах небольшого количества людей и/или является специфичной. Причины появления могут быть различны: ошибка в ОС, неверные драйвера, проблемы с железом и т.д.
Виды багов:
- Борбаг — назван в честь Нильса Бора, точнее стабильности модели электронных орбиталей Нильса Бора. Такие баги появляются в одном и том же месте и делают это постоянно, стабильно.
- Гейзенбаг — название основано на термине «принцип неопределённости Гейзенберга» из квантовой механики. Такие баги являются «плавающими».
- Мандельбаг — название происходит уже от имени Бенуа Мандельброта, основоположника фрактальной геометрии. мандельбаг это гейзенбаг на стероидах. Такие ошибки ещё более непредсказуемы и с виду выглядят хаотично.
- Багсон Хиггса — назван в честь Бозона Хиггса. Таким термином называют баг, который был обнаружен косвенно или по единичным заявлениям пользователей, либо вовсе предсказана математически, но при этом воспроизвести баг «в лабораторных условиях» либо очень трудно, либо вообще не выходит.
- Шрёдинбаг — самый интересный вид среди багов, названный в честь мысленного эксперимента с котом Шрёдингера. Этот баг не проявляет себя в программе до тех пор, пока кто-то не заметит её в исходном коде или, использовав программу в нестандартных условиях. Обнаружив ошибку, программа тут же перестаёт нормально работать у всех, и оказывается, что программа вовсе не могла работать с этой ошибкой, но работала. Это звучит как какое-то аномальное чудо, но такие баги есть.
Источник: dzen.ru
Значение слова баг. Что такое баг.
Что такое баг. Объясняем простыми словами
Баг — некорректная работа программы, вызванная ошибкой в программном коде или дизайне продукта.
Составление баг репортов
Обычно баги находят при тестировании или уже в процессе запуска (или жизни) программы. Баги возникают не только из-за ошибок или невнимательности разработчиков, но также могут появиться в результате некорректной работы компилятора (программы, которая преобразует код, написанный на языке программирования, в машиночитаемую форму), ошибок среды, в которой разворачивается программа, или в результате конфликта ПО с аппаратным интерфейсом.
Баги нужно исправлять, чтобы программа работала корректно, иначе это может привести к серьёзным проблемам. Например, после оглушительного успеха The Witcher 3: Wild Hunt поклонники RPG-игр ожидали от игры Cyberpunk 2077 — нового творения студии CD Projekt Red, такого же уровня.
После премьеры в декабре 2020 года выяснилось, что в игре осталось огромное количество багов, из-за чего Sony, издатель игры, была вынуждена удалить Cyberpunk 2077 из магазина PlayStation и предложить клиентам денежное возмещение. Акции разработчика CD Projekt Red упали на 57%, компания подешевела на $6,2 млрд. В общей сложности польская студия вернула геймерам свыше $2 млн, а инвесторы потребовали уволить создателей игры.
Пример употребления на «Секрете»
«Ранее блокчейн-платформа Compound по ошибке разослала пользователям крипту на $90 млн. Из-за бага сайт перечислил пользователям 280 000 токенов Comp. Когда об ошибке стало известно, основатель сервиса Роберт Лэшнер попросил счастливчиков вернуть токены. В обмен на добровольный возврат он разрешил оставить себе 10% криптовалюты».
(Из новости о том, как платформа для планирования Notion раздала промокоды на $1500 и обнулила их.)
Происхождение термина
По одной из версий, термин «баг» произошёл от английского bug, что переводится как «мелкая букашка» или «жук». Существует легенда, что в 1945 году учёные Гарвардского университета испытывали один из вычислительных приборов, но почему-то устройство не могло корректно работать. Когда учёные начали выяснять, в чём причина неисправности прибора, то обнаружили застрявшую между проводами бабочку, извлекли её из аппарата, а в дневнике работы описали событие. С тех пор слово «баг» стало означать «ошибку».
Факт
Если баг не влияет на производительность и функционирование продукта, а вызывает необычные/интересные эффекты или добавляет новые свойства/возможности, то это уже фича.
Источник: secretmag.ru
Что такое «компьютерная баг» и откуда взялся этот термин
В ы, наверное, слышали это раньше: в программном обеспечении есть «баг», из-за которого что-то работает неправильно. Что такое компьютерный баг и откуда появился этот термин? Мы объясним.
Баг- это непреднамеренная ошибка в компьютерном программном обеспечении
«Компьютерный баг» или «программный баг» — это термин, обозначающий непреднамеренную ошибку программирования или дефект в компьютерном программном обеспечении или оборудовании. Баги возникают из-за человеческой ошибки в конструкции оборудования или где-то в цепочке программных инструментов, используемых для создания компьютерных приложений, прошивок или операционных систем.
Программная ошибка возникает, когда программист либо делает ошибку при написании программного обеспечения, либо пишет код, который работает, но имеет непреднамеренные последствия, которые не были предвидены программистом. Устранение ошибок в программном обеспечении называется «дебаг».
В сегодняшнем мире ошибки в программном обеспечении — серьезное дело. Почти 20 лет назад Национальный институт стандартов и технологий подсчитал, что ошибки в программном обеспечении обходятся экономике США почти в 60 миллиардов долларов в год (около 0,6% ВВП в 2002 году), и с тех пор эта цифра, вероятно, увеличилась. Хотя точно количественно оценить негативные последствия ошибок сложно, легко представить, как неисправное программное обеспечение может повлиять на производительность. Это может даже подвергнуть опасности жизнь людей на транспорте или поставить под угрозу жизненно важную инфраструктуру, такую как электростанции.
Почему мы называем их багами
Термин «баг» появился еще до изобретения компьютеров, и мы точно не знаем, кто изначально придумал термин «баг» для обозначения инженерного дефекта. В письменных источниках историки проследили это до Томаса Эдисона не ранее 1870-х годов.
Эдисон использовал этот термин в своих личных заметках и переписке для обозначения сложной проблемы, которая требовала решения, или инженерного дефекта, который требовал исправления. Он даже пошутил о том, что этот термин имеет отношение к насекомым, написав в письме 1878 года:
«Вы были частично правы, я действительно обнаружил «баг» в своем аппарате, но не в самом телефоне. Он принадлежал к роду callbellum. Похоже, насекомое находит условия для своего существования во всех телефонных аппаратах».
Хотя некоторые считают, что примеры Эдисона означают, что он ввел термин «баг», но вполне возможно, что он произошел от кого-то еще раньше и что он просто популяризировал этот термин среди своих друзей и соратников-инженеров. Оксфордский словарь английского языка цитирует пример 1889 года, связанный с Эдисоном, который описывает ошибку как метафору насекомого, заползающего в элемент оборудования и вызывающего его неисправность, предполагая, что настоящая ошибка, делающая именно это, могло первоначально послужить источником этого термина, похожего на термин «ложка дегтя».
Отбросив на мгновение слово «баг», первым известным человеком в истории, который осознал, что программное обеспечение может работать неправильно из-за ошибок в программировании, была Ада Лавлейс. Она писала об этой проблеме еще в 1843 году в своем комментарии к аналитической машине Чарльза Бэббиджа.
«На это можно ответить, что процесс анализа в равной степени должен быть выполнен для того, чтобы снабдить аналитическую машину необходимыми оперативными данными; и в этом также может заключаться возможный источник ошибки. При условии, что реальный механизм безошибочен в своих процессах, карты могут отдавать ему неправильные приказы».
В этой цитате Лавлейс говорит о том, что настоящий вычислительный механизм не содержит ошибок в том, как он обрабатывает данные, но оговаривает, что данные, передаваемые ему людьми (как в то время запрограммированы на карточках), могут дать машине неправильные инструкции и таким образом дают неправильные результаты.
Бабочка Грейс Хоппер
На протяжении десятилетий книги, журналы и веб-сайты ошибочно сообщали, что термин «баг» был придуман легендарным компьютерным ученым Грейс Хоппер, когда моль влетела в реле компьютера Harvard Mark II и вызвала его неисправность. Как гласит история, она затем записала мотылька в журнал и сделала историческую заметку: «Первый реальный случай обнаружения бага».
Хотя в 1947 году в Mark II действительно залетела моль, она не была источником терминов «баг» или «дебаг», которые предшествовали инциденту. Кроме того, не совсем ясно, действительно ли моль привела к неисправности компьютера, или это была просто забавная находка, пока они исправляли другие дефекты. Хоппер сделала эту историю известной, рассказав ее в широко цитируемом интервью от ноября 1968 года.
Хоппер нашла эту историю забавной, потому что после частых поисков ошибок в компьютере (например, аппаратных и программных дефектов) ее команда наконец нашла настоящего насекомого (bug) внутри компьютера. Отсюда надпись: «Первый реальный случай обнаружения жука».
Интересно отметить, что Хоппер описывает мотылька Mark IV как «забитого до смерти», вероятно, из-за повреждений, вызванных движением электромеханических реле компьютера, что позволяет предположить, что компьютер продолжал функционировать, пока моль была там.
Историки не знают, был ли это дневник Хоппер или кто на самом деле написал запись, но сегодня журнал Harvard Mark II находится в Национальном музее американской истории в Смитсоновском институте в Вашингтоне, округ Колумбия.
Хотя бабочка Mark II (назовем его «Марк») не была первой компьютерной ошибкой, она, тем не менее, остается физическим и культурным символом очень реальной и сложной проблемы, с которой борются все программисты.
Источник: guidepc.ru