Проверка и испытания программ

 

Испытания программ на надежность и испытания изделий на надежность их программного обеспечения – обязательные этапы при проверке надежности систем.

Испытания с целью проверки надежности программ осуществляются с помощью специальных программ (тестирование) и специальных (имитационных) стендов. Проверяется при этом степень отработанности программы и ее соответствие заданным требованиям.

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

Степень отработанности программы может проверяться различными методами. Чем выше требование к достоверности проверки, тем более сложен метод проверки.

Рассмотрим один из наиболее простых методов. В процессе проверки «корректности» программы (с помощью наблюдений за работой либо изделия, либо имитирующего устройства, либо на специальном стенде с помощью тестов) фиксируются времена обнаружения ошибок в программе. Результаты проверки обрабатываются при следующих предположениях:

1) ошибки программы независимы. Каждый раз после обнаружения они устраняются и в дальнейшем не проявляются;

2) интенсивность ошибок уменьшается по мере их обнаружения и устранения ступенчато (рис. 3.12).

 

Рисунок 3.12 – График изменения интенсивности ошибок

 

 

Статистическая интенсивность программных ошибок определяется так же как интенсивность аппаратных отказов по формуле

,

где - число идентичных программ, не отказавших к моменту времени ;

- число отказавших идентичных программ на интервале .

Выявление и устранение ошибок производится до тех пор, пока значение будет меньше допустимого (заданного) значения . Допустимое значение назначается с учетом требований к надежности изделия. Ориетировочно можно исходить из того, что интенсивность программных ошибок, приводящих к отказу, на этапе отладочных испытаний должна быть не больше интенсивности аппаратурных отказов.

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



?>