Экспериментальные методы определения надежности сложных программных средств.


Существуют прямые экспериментальные методы определения надежности сложных ПС и форсированные методы.
Прямые экспериментальные методы определения показателей надежности программных комплексов применяются в нормальных условиях функционирования. Они требуют больших значений времени наработки на отказ, поэтому их стоимость высока. Кроме того, при таких экспериментах трудно гарантировать полную представительность выборки исходных данных, т.к. Проверки определяются конкретными условиями применения данного ПС на испытаниях.
Для диагностики и устранения случайных редких отказов должна быть организована служба регистрации всех отказов с полным фиксированием ситуаций, при которых проявился отказ. Если причина отказа не аппаратная, то нужно провести углубленное тестирование функциональной компоненты, в которой может содержаться дефект, вызвавший отказ.
При заключительных приемо-сдаточных и сертификационных испытаниях для достаточно достоверного определения надежности ПС организуются многочасовые и многосуточные прогоны функционирования комплекса программ в реальной или имитированной внешней среде в условиях широкого варьирования исходных данных. Такие прогоны позволяют измерить и зафиксировать достигнутые показатели качества и степень их соответствия требованиям технического задания. Если интенсивное тестирование программ в течении достаточно длительного времени не приводит к обнаружению дефектов или ошибок, то ПС передается в эксплуатацию.
Форсированные испытания надежности программных комплексов проводятся путем повышения интенсивности искажений исходных данных и расширения варьирования их значений, а также путем увеличения потоков информации и загрузки ПС выше нормальной. При форсированных испытаниях используются следующие режимы тестирования:
при полном искажении ключевых параметров каждого типа внешней информации;
— при предельных и критических значениях параметров каждого типа информации;
— при предельных и критических сочетаниях значений различных взаимодействующих параметров;
— при предельно больших и малых интенсивностях суммарного потока внешней информации;
— при предельно больших интенсивностях и отсутствии каждого типа внешней информации.
Как вид форсированных испытаний можно рассматривать тестирование и контроль результатов функционирования одних и тех же ПС при увеличении числа испытываемых экземпляров и нормальных исходных данных. Это позволяет в зависимости от числа экземпляров ПС в соответствующее число раз расширять наборы тестов и дает возможность оценивать наработки на отказ в сотни тысячи часов.
На надежности функционирования сложных, критических ПС существенно отражаются перегрузки по памяти и производительности при исполнении программ. Для выявления отказов из-за этих причин при форсированных испытаниях проводится тестирование при высокой интенсивности поступления исходных данных.