Программа считается правильной, если она не содержит ошибок. Такая программа не дает неверных результатов, т.е. она абсолютно надежна.
Этот факт породил ложное представление о том, что число ошибок в программе можно считать наиболее естественной мерой надежности.
Было выполнено довольно много работ, в которых предлагались различные методы оценки числа оставшихся в программе ошибок по результатам ее тестирования.
Однако, как показывают ниже приведенные соображения, количество ошибок в программе не всегда напрямую связано с ее надежностью:
1. Ошибки могут компенсировать друг друга, так что после исправления какой-то одной ошибки программа может начать "работать хуже".
2. Неверное срабатывание программы может быть следствием не одной, а сразу нескольких ошибок.
3. Число ошибок в программе - величина "ненаблюдаемая", наблюдаются не сами ошибки, а результат их проявления.
4. Надежность характеризует частота проявления ошибок, но не их количество. Некоторые ошибки остаются необнаруженными после многих месяцев и даже лет эксплуатации, но, с другой стороны, нетрудно привести примеры, когда одна единственная ошибка приводит к неверному срабатыванию программы при любых исходных данных, т.е. к нулевой надежности.
Таким образом, число ошибок в программе характеризует скорее не программу, а ее изготовителей и используемый инструментарий.
Методы обеспечения надежности программных средств