Bebugging - Bebugging

Bebugging (или же посев ошибок или же посев ошибок) - популярный метод разработки программного обеспечения, использовавшийся в 1970-х годах для измерения тестовое покрытие. Известные ошибки случайным образом добавляются в исходный код программы и программист ставится задача их найти. Процент не обнаруженных известных ошибок указывает на то, какие действительно остались ошибки.

Термин "bebugging" впервые был упомянут в Психология компьютерного программирования (1970), где Джеральд М. Вайнберг описал использование метода как способ обучения, мотивации и оценки программистов, а не как средство измерения ошибок, оставшихся в программе. Подход был заимствован из системы SAGE, где он использовался для того, чтобы операторы внимательно следили за экранами радаров. Вот цитата из первоначального употребления этого термина:

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

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

  • В его программе есть ошибки.
  • Он не клал их туда.

Раннее применение bebugging было Харлан Миллс подход к посеву ошибок [1] который позже был уточнен с помощью расслоения разломов.[2] Эти методы работали путем добавления ряда известных ошибок в программную систему с целью контроля скорости обнаружения и устранения. Это предполагает, что можно оценить количество оставшихся ошибок в программной системе, которые еще предстоит обнаружить с помощью определенной методологии тестирования.

Bebugging - это разновидность введение неисправности.

Смотрите также

Рекомендации

  1. ^ Х. Д. Миллс, «О статистической проверке компьютерных программ», IBM Federal Systems Division 1972.
  2. ^ Л. Дж. Морелл и Дж. М. Воас, «Анализ заражения и распространения: подход к оценке надежности программного обеспечения на основе ошибок», Колледж Уильяма и Мэри в Вирджинии, Департамент компьютерных наук, сентябрь 1988 г.