Предполагается, что до начала тестирования в ПС имеется Ет ошибок. В течение времени тестирования t обнаруживается ec ошибок в расчете на команду в машинном языке.
Таким образом, удельное число ошибок на одну машинную команду, оставшихся в системе после т времени тестирования, равно:
где IT — общее число машинных команд, которое предполагается постоянным в рамках этапа тестирования.
Автор предполагает, что значение функции частоты отказов Z(t) пропорционально числу ошибок, оставшихся в ПС после израсходованного на тестирование времени t:
где С — некоторая константа;
t — время работы ПС без отказа.
Тогда, если время работы ПС без отказа 1 отсчитывается от точки t = 0, а t остается фиксированным, функция надежности, или вероятность безотказной работы на интервале времени от 0 до t, равна:
Из величин, входящих в формулы (3) и (4), не известны начальное значение ошибок в ПС (ЕT) и коэффициент пропорциональности - С. Для их определения прибегают к следующим рассуждениям. В процессе тестирования собирается информация о времени и количестве ошибок на каждом прогоне, т.е. общее время тестирования
Предполагая, что интенсивность появления ошибок постоянна и равна l, можно вычислить ее как число ошибок в единицу времени:
где Аi — количество ошибок на i-м прогоне.
Имея данные для двух различных моментов тестирования ta и tb, которые выбираются произвольно с учетом требования, чтобы ec(tb)<e c(tA) можно сопоставить уравнения (4) и (7) при:
Вычисляя отношения (8) и (9), получим:
Подставив полученную оценку параметров ET, в выражение (8), получим оценку для второго неизвестного параметра:
Получив неизвестные Еt и С, можно рассчитать надежность программы по формуле (3).
Позднее автором предложена модифицированная модель, не учитывающая число машинных команд, т.е. независимая от IT
Функция частоты отказов в течение 1-го интервала тестирования остается постоянной и равна:
Известные параметры модели ЕT и С автор предлагает вычислять из следующих соотношений:
где ti( — время i-го прогона (время i-го интервала);
mi’ — число прогонов, завершившихся отказом в i-ом интервале (число ошибок в i-м интервале);
m — общее число тестовых интервалов;
ni — общее число ошибок, обнаруженных (но не включенных) к i-му интервалу.
Все эти данные можно получить в ходе тестирования. Вычислив значения параметров Еt и С, можно определить показатели:
- число оставшихся ошибок в ПС;
NT=ЕT-n; (15)
- надежность:
Достоинство этой модели по сравнению с предыдущей заключается в том, что можно исправлять ошибки, внося изменения в текст программы в ходе тестирования, не разбивая процесс на этапы, чтобы удовлетворить требованию постоянства числа машинных инструкций.
Модель Lа Раdula. По этой модели выполнение последовательности тестов производится в т этапов. Каждый этап заканчивается внесением изменений (исправлений) в ПС. Возрастающая функция надежности базируется на числе ошибок, обнаруженных в ходе каждого тестового прогона.
Надежность ПС в течение i-го этапа:
где А—параметр роста;
Эти неизвестные величины автор предлагает вычислить, решив следующие уравнения:
где Si. — число тестов;
mi, — число отказов во время i-го этапа:
т — число этапов;
i=1,2, ...,т.
Определяемый по этой модели показатель есть надежность ПС на i-м этапе:
Преимущество модели заключается в том, что она является прогнозной и, основываясь на данных, полученных в ходе тестирования, дает возможность предсказать вероятность безотказной работы программы на последующих этапах ее выполнения.
Модель Джелинского-Моранды. относится к динамическим моделям непрерывного времени. Исходные данные для использования этой модели собираются в процессе тестирования ПС. При этом фиксируется время до очередного отказа. Основное положение, на котором базируется модель, заключается в том, что значение интервалов времени тестирования между обнаружением двух ошибок имеет экспоненциальное распределение с частотой ошибок (или интенсивностью отказов), пропорциональной числу еще не выявленных ошибок. Каждая обнаруженная ошибка устраняется, число оставшихся ошибок уменьшается на единицу.
Функция плотности распределения времени обнаружения 1-й ошибки, отсчитываемого от момента выявления 1-1-и ошибки, имеет вид:
где li — частота отказов (интенсивность отказов), которая пропорциональна числу еще не выявленных ошибок в программе:
где N — число ошибок, первоначально присутствующих в программе; С — коэффициент пропорциональности.
Наиболее вероятные значения величин
Значения
где
Q=В/АК;
Поскольку полученные значения
где
D = KS/C2 и
Чтобы получить числовые значения li нужно подставить вместо N и С их возможные значения
Модель Шика-Волвертона. Модификация модели Джелинского-Моранды для случая возникновения на рассматриваемом интервале более одной ошибки предложена Волвертоном и Шиком. При этом считается, что исправление ошибок производится лишь после истечения интервала времени, на котором они возникли. В основе модели Шика-Волвертона лежит предположение, согласно которому частота ошибок пропорциональна не только количеству ошибок в программах, но и времени тестирования, т.е. вероятность обнаружения ошибок с течением времени возрастает. Частота ошибок (интенсивность обнаружения ошибок) li, предполагается постоянной в течение интервала времени ti, и пропорциональна числу ошибок, оставшихся в программе по истечении (i - 1)-го интервала; но она пропорциональна также и суммарному времени, уже затраченному на тестирование (включая среднее время выполнения программы в текущем интервале):