Вот после обнаружения ошибки в программе возник дурацкий(?) вопрос. Упрощенная модель. Пусть мы делаем прибор, например цифровой термометр с медным (платиновым...) датчиком. Допустим, что используется некоторая аппроксимация (кусочно-линейная, полиномиальная...) не важно какая, важно, что контроллер (или что-либо еще...) вычисляет по программе. Возникает вопрос - а может в какой-нибудь точке вычисления будут с ошибкой? А может эта ошибка возникнет только на N-ном измерении. А может она возникнет, если на входе будет некоторая последовательность? А может она возникнет на контроллере из другой серии (фабрики)? А может один из 10 контроллеров с глюком? Вспомнилось, что вроде Пентиум какой-то был с арифметическим дефектом... Еще миллион вариантов ошибок. А если все это управляет чем-то дорогим (поезд, самолет, атомная станция)? Или на основании этих измерений кого-то могут в тюрьму посадить (например, алкоголь в крови)? Как тут жить? Будь прибор чисто аналоговым, понятно, как его калибровать и проверять. А тут?
Знаю, что имеет место специальная специальность по тестированию. Но это дорого и долго. Создают специальные программы по выявлению ошибок в программах. А если в программе тестирования ошибки?
Предупреждала, что вопрос идиотский...
|