Bebugging (или заполнение неисправностей, или заполнение ошибок ) - популярный метод разработки программного обеспечения, который использовался в 1970-х годах для измерения покрытия тестами . Известные ошибки случайным образом добавляются в исходный код программы, и тестировщику программного обеспечения ставится задача их найти. Процент не обнаруженных известных ошибок указывает на то, какие действительно остались ошибки.
Термин «подслушивание» впервые был упомянут в «Психологии компьютерного программирования» (1970), где Джеральд М. Вайнберг описал использование этого метода как способ обучения, мотивации и оценки программистов, а не как показатель оставшихся в системе ошибок. программа. Подход был заимствован из системы SAGE , где он использовался для того, чтобы операторы внимательно следили за экранами радаров. Вот цитата из первоначального использования этого термина:
Излишняя самоуверенность программиста может быть атакована системой, которая вносит случайные ошибки в тестируемую программу. Местоположение и природа этих ошибок будут записаны внутри системы, но скрыты от программиста. Скорость, с которой он находил и удалял эти известные ошибки, может использоваться для оценки скорости, с которой он удаляет неизвестные ошибки. Подобный метод обычно используется в системах наблюдения, в которых оператор, как ожидается, будет проводить восемь часов подряд, глядя на экран радара на предмет очень редких событий, таких как пролет неопознанного самолета. Тесты производительности показали, что необходимо было ввести некоторую ненулевую частоту возникновения искусственных событий, чтобы поддерживать оператора в удовлетворительном состоянии возбуждения. Более того, поскольку эти события находились под контролем системы, она могла оценить текущую и общую производительность каждого оператора.
Хотя мы не можем вводить программные ошибки, которые имитируют реальные ошибки, а также можем моделировать реальный самолет на экране радара, такой метод, безусловно, может быть использован как для обучения, так и для оценки программистов при тестировании программ. Даже если ошибки должны были быть внесены вручную кем-то другим в проекте, казалось бы, стоит попробовать такую систему «отладки». Это значительно повысило бы мотивацию программиста, потому что теперь он знал бы:
- В его программе есть ошибки.
- Он не клал их туда.
Раннее применение bebugging был Харлан Миллс «ы вино высев подход [1] , который позже был уточнен стратифицированным разлом-затравка. [2] Эти методы работали путем добавления ряда известных ошибок в программную систему с целью контроля скорости обнаружения и устранения. Это предполагает, что можно оценить количество оставшихся ошибок в программной системе, которые еще предстоит обнаружить с помощью определенной методологии тестирования.
Bebugging - это тип внедрения неисправности .
Смотрите также
Рекомендации
- ↑ HD Mills , «О статистической проверке компьютерных программ», IBM Federal Systems Division 1972.
- ^ LJ Morell и JM Voas, "Анализ заражения и распространения: подход к оценке надежности программного обеспечения на основе ошибок", Колледж Уильяма и Мэри в Вирджинии, Департамент компьютерных наук, сентябрь 1988 г.