Смекни!
smekni.com

Информационная система университета (стр. 11 из 16)

Предполагается, что до начала тестирования в ПС имеется Ет ошибок. В течение времени тестирования t обнаруживается ec ошибок в расчете на команду в машинном языке.

Таким образом, удельное число ошибок на одну машинную команду, оставшихся в системе после т времени тестирования, равно:

, (1)

где IT общее число машинных команд, которое предполагается постоянным в рамках этапа тестирования.

Автор предполагает, что значение функции частоты отказов Z(t) пропорционально числу ошибок, оставшихся в ПС после израсходованного на тестирование времени t:

, (2)

где С — некоторая константа;

t — время работы ПС без отказа.

Тогда, если время работы ПС без отказа 1 отсчитывается от точки t = 0, а t остается фиксированным, функция надежности, или вероятность безотказной работы на интервале времени от 0 до t, равна:

; (3)

. (4)

Из величин, входящих в формулы (3) и (4), не известны на­чальное значение ошибок в ПС (ЕT) и коэффициент пропорцио­нальности - С. Для их определения прибегают к следующим рассуждениям. В процессе тестирования собирается информа­ция о времени и количестве ошибок на каждом прогоне, т.е. общее время тестирования

t складывается из времени каждого прогона:

. (5)

Предполагая, что интенсивность появления ошибок постоян­на и равна l, можно вычислить ее как число ошибок в единицу времени:

, (6)

где Аi — количество ошибок на i-м прогоне.

. (7)

Имея данные для двух различных моментов тестирования ta и tb, которые выбираются произвольно с учетом требования, чтобы ec(tb)<e c(tA) можно сопоставить уравнения (4) и (7) при:

, (8)

. (9)

Вычисляя отношения (8) и (9), получим:

. (10)

Подставив полученную оценку параметров ET, в выражение (8), получим оценку для второго неизвестного параметра:

. (11)

Получив неизвестные Еt и С, можно рассчитать надежность программы по формуле (3).

Позднее автором предложена модифицированная модель, не учитывающая число машинных команд, т.е. независимая от IT

Функция частоты отказов в течение 1-го интервала тестиро­вания остается постоянной и равна:

, t³0, i=1,2,…m. (12)

Известные параметры модели ЕT и С автор предлагает вычис­лять из следующих соотношений:

, (13)

, (14)

где ti( — время i-го прогона (время i-го интервала);

mi’ — число прогонов, завершившихся отказом в i-ом интервале (число ошибок в i-м интервале);

m — общее число тестовых интервалов;

ni — общее число ошибок, обнаруженных (но не включенных) к i-му интер­валу.

Все эти данные можно получить в ходе тестирования. Вычис­лив значения параметров Еt и С, можно определить показатели:

- число оставшихся ошибок в ПС;

NTT-n; (15)

- надежность:

, t>0. (16)

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

Модель Lа Раdula. По этой модели выполнение последова­тельности тестов производится в т этапов. Каждый этап закан­чивается внесением изменений (исправлений) в ПС. Возрастаю­щая функция надежности базируется на числе ошибок, обнару­женных в ходе каждого тестового прогона.

Надежность ПС в течение i-го этапа:

, i = 1,2,3,…, (17)

где А—параметр роста;

при i ® ¥.Т.е R(¥) - предельная надежность ПС.

Эти неизвестные величины автор предлагает вычислить, решив следующие уравнения:

, (18)

, (19)

где Si. — число тестов;

mi, — число отказов во время i-го этапа:

т — число этапов;

i=1,2, ...,т.

Определяемый по этой модели показатель есть надежность ПС на i-м этапе:

, i = m+1, m+2 … (20)

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

Модель Джелинского-Моранды. относится к динамическим моделям непрерывного времени. Исходные данные для использования этой модели собираются в процессе тестирования ПС. При этом фиксируется время до очередного отказа. Основное положение, на котором базируется модель, заключается в том, что значение интерва­лов времени тестирования между обнаружением двух ошибок имеет экспоненциальное распределение с частотой ошибок (или интенсивностью отказов), пропорциональной числу еще не выявленных ошибок. Каждая обнаруженная ошибка устраня­ется, число оставшихся ошибок уменьшается на единицу.

Функция плотности распределения времени обнаружения 1-й ошибки, отсчитываемого от момента выявления 1-1-и ошибки, имеет вид:

, (21)

где li — частота отказов (интенсивность отказов), которая пропорциональна числу еще не выявленных ошибок в программе:

(22)

где N — число ошибок, первоначально присутствующих в программе; С — коэф­фициент пропорциональности.

Наиболее вероятные значения величин

и
(оценка макси­мального правдоподобия) можно определить на основе данных, полученных при тестировании. Для этого фиксируют время выполнения программы до очередного отказа (t1, t2, t3, … tk,).

Значения

и
предлагается получить, решив систему уравнений:

, (23)

, (24)

где

Q=В/АК;

;
. (25)

Поскольку полученные значения

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

, (26)

, (27)

где

D = KS/C2 и

. (28)

Чтобы получить числовые значения li нужно подставить вместо N и С их возможные значения

и
. Рассчитав К значе­ний по формуле (22) и подставив их в формулу (21), можно определить вероятность безотказной работы на различных вре­менных интервалах. На основе полученных расчетных данных строится график зависимости вероятности безотказной работы от времени.

Модель Шика-Волвертона. Модификация модели Джелинского-Моранды для случая возникновения на рассматриваемом интервале более одной ошибки предложена Волвертоном и Шиком. При этом считается, что исправление ошибок произ­водится лишь после истечения интервала времени, на котором они возникли. В основе модели Шика-Волвертона лежит пред­положение, согласно которому частота ошибок пропорциональ­на не только количеству ошибок в программах, но и времени тестирования, т.е. вероятность обнаружения ошибок с течением времени возрастает. Частота ошибок (интенсивность обнаруже­ния ошибок) li, предполагается постоянной в течение интер­вала времени ti, и пропорциональна числу ошибок, оставшихся в программе по истечении (i - 1)-го интервала; но она пропорцио­нальна также и суммарному времени, уже затраченному на тестирование (включая среднее время выполнения программы в текущем интервале):