4.33. Псевдоотладка

Как же узнать, все ли ошибки в программе выявлены? Ответить на этот вопрос непросто, поскольку мало что можно сказать даже о том, как производить подобную оценку. Один из известных методов оценки количества необнаруженных ошибок называется псевдоотладкой. Он состоит в том, что в программу случайным образом вносятся заранее известные искусственные ошибки и затем по результатам их выявления выносится суждение о степени устранения действительных ошибок. Это значит, что если в программе присутствуют 100 искусственных ошибок, а через несколько дней отладки обнаружено 50 из них, то можно сказать, что мы выявили 50% настоящих программных ошибок.

Эта же информация может быть использована и для предсказания количества ошибок, оставшихся необнаруженными. Так, если мы выявили 30 действительных ошибок и 50 искусственных, следует ожидать, что в отлаживаемой программе осталось примерно 30 настоящих ошибок, поскольку искусственные ошибки выявлены лишь наполовину.

Описанная процедура позволяет предсказать количественные характеристики ошибок, однако гораздо труднее оценить, сколько времени потребуется на устранение в программе большинства ошибок (например, 95%). Поиск ошибок характеризуется во времени нелинейной зависимостью; эта зависимость представляет собой кривую, уходящую в бесконечность. Так, если мы обнаружили 95% всех ошибок, может оказаться, что на выявление последующих 1—2% ошибок нам потребуется времени в два раза больше. Читателям, интересующимся вопросами оценки качества программного обеспечения, можно рекомендовать книгу Гилба1* [6].

Полезно хранить в машине данные о количестве выявленных ошибок и времени, затраченном на их обнаружение. Эта инфорИдеи, изложенные Т. Гилбом, нашли свое развитие в книге Б. Боэма и др. -"Характеристики качества программного обеспечения", которую изд-во "Мир" выпустит в 1981 т. —Прим. перев.

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

4.32. Программирование без ошибок || Оглавление || 4.34. Время, необходимое для отладки


Услуги