Галушко Надежда
*авторизированный доступ


о багах и героях [11/01/07]


Был такой в истории семейства кошачьих известный учёный – Шрёдингер. Как ни странно, изучал ядерную физику и квантовую механику. Свой известный эксперимент (подробно описан тут) он, слава богу, поставил только мысленно (ни один кот при этом не пострадал), но зато оставил свою фамилию в истории. Знаменитый кот Шрёдингера стал символом издевательств наукой над животными, признаком критического подхода к неподтверждённой экспериментами теории и лозунгом физиков – противников применения квантовой механики при изучении субатомных систем.

Дальше – больше. Имена учёных физиков и  химиков перекочевали в сферу тестирования ПО, и теперь мы можем наслаждаться такими терминами, как борбаг, шрединбаг, гейзенбаг, мандельбаг. О них по порядку.

 

Шрёдинбаг (англ. Schroedinbug) – термин, используемый в программировании для описания бага, который никак не проявляет себя, однако внезапно возникает, если кто-то наткнётся на него в исходном коде или попытается использовать программу в необычных условиях и осозна́ет, что система вообще не могла работать при наличии такой ошибки. После этого программа перестаёт работать вообще до тех пор, пока баг не будет исправлен. (Wikipedia)

Бред какой-то, скажете. Согласна. Вернее, была согласна, пока мне про такой баг не рассказали. Жестокая вещь. Знакомый программист работает на создании системы автоматического анализа текста, и на финальном этапе сборки очередной версии вдруг обнаруживает: структура кода такова, что не допускает адекватного анализа текста на другом языке, кроме английского, вообще. Но как-то же он до этого работал – с французским, немецким, даже японским… Версии выпускались и продавались. А тут – бац! И всё…. Не работает… Пришлось переделывать большой кусок работы.

 

Ещё интереснее такая штука, как гейзенбаг.

Гейзенбаг (англ. Heisenbug) – термин, используемый в программировании для описания программной ошибки, которая исчезает или меняет свои свойства при попытке её обнаружения. Название этого типа багов является игрой слов и происходит от физического термина «Принцип неопределённости Гейзенберга», который на бытовом уровне понимается как изменение наблюдаемого объекта в результате самого факта наблюдения, происходящее в квантовой механике. (Wikipedia)

С таким фокусом я столкнулась лично. Обнаружила баг случайно, естественно, внесла в базу и отправила на исправление. А программисты мне и говорят: а не воспроизводится он, что-то ты напутала. Или сама случайно что-то нажала – вот информация и стёрлась. И поди им докажи, что это баг был: воспроизвести и сама не могу…

А потом этот баг снова повторился, только в другом варианте. И ещё раз. И ещё. И только тогда программисты почесали задумчиво головы и сказали: «Да…. И впрямь баг!» И началась охота…

…Через 8 часов переворачивания маленького сайтика (4 странички!) я уже села считать время появления багов и начала подумывать о том, где бы раздобыть расположения планет в это время и как узнать дату рождения и размер левой ноги администратора сайта…

Так я этот баг и не нашла. :( Судя по всему, для того, чтобы он проявился, нужна какая-то специфическая последовательность действий (причём довольно длинная), так что дальнейшие мучения сайта могут вообще ни к чему не привести, если, например, появление бага зависит от того, каким по счёту было определённое действие…

 

Гораздо проще всё с борбагами.

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

Такие ошибки программисты легко воспроизводят и легко исправляют. Если, конечно, их правильно контролировать ;)

Например, так:

 


Создать закладку Google slashdot YahooMyWeb Digg Technorati Delicious Забобрить эту статью! Добавьте на news2.ru




Галушко Надежда

ФИО: Галушко Надежда
Должность: специалист по контролю качества
Ник: avis_alba

Личные данные  Письмо автору

Yandex RSS
Получать обновления блога по Email


...для работы:

http://sitesapiens.ru/ - про тот самый SiteSapiens

http://www.software-testing.ru/ - про тестирование и не только

http://www.webmascon.com/personas/nielsen.asp - статьи Я. Нильсена по юзабилити

 

...для учёбы:

http://www.intuit.ru/ - Интернет-Университет Информационных Технологий

 

...для отдыха:

http://rpg.by/ - сайт ролевого движения в Беларуси

http://otryv.by/ - сайт про городское ориентирование "ОТрыв"

http://stihi.ru/ - портал современной русской поэзии

    моя страница: http://stihi.ru/author.html?avisalba,

    страница моего любимого автора: http://stihi.ru/author.html?sfridman

http://fictionbook.ru/ - виртуальная библиотека (в основном фантастика и современная литература)


количество читателей онлайн и всего
BLOGUS.RU
Рейтинг блогов

Вверх
Вернуться

Поиск
© Red Graphic Systems