Надежность АСОИУ (1088455), страница 14
Текст из файла (страница 14)
Выявленные ошибкирегистрируются (собирается статистика об ошибках), но не исправляются. По завершении этапа на основе собранныхданных о поведении программно-информационной системы на очередном этапе тестирования может быть использованамодель Шумана для расчета количественных показателей надежности. После этого исправляются ошибки,обнаруженные на предыдущем этапе. При необходимости корректируются тестовые наборы и проводится новый этаптестирования.
При использовании мо дели Шумана предполагается, что исходное количество ошибок в программепостоянно и в процессе тестирования может уменьшаться по мере того, как ошибки выявляются и исправляются.Считается, что новые ошибки при корректировке не вносятся. Скорость обнаружения ошибок пропорциональна числуоставшихся ошибок. Общее число программных инструкций в рамках одного этапа тестирования постоянно.Положим, что до начала тестирования имеется Ei ошибок.
В течение времени тестирования τ обнаруживается ξсошибок в расчете на одну команду программы.39Таким образом, удельное число ошибок на одну команду, оставшихся в системе после τ времени тестирования,равноε r (τ ) =Eiε c (τ ),Iiгде Ii — общее число команд программы, которое предполагается постоянным в рамках одного этапатестирования.Будем считать, что значение функции частоты отказов Z(t) пропорционально числу ошибок, оставшихся впрограмме после использования отведенного для тестирования времени τ:Z (t ) = Cε i (τ ),где С— некоторая постоянная; t—время работы программы без отказов.Тогда, если время работы программы без отказа отсчитывается от точки t= 0, а τ остается фиксированным,функция надежности, или вероятность безотказной работы в интервале от 0 до t, будет равнаR(t , τ ) = exp{− C [E1 I i − ε c (τ )]},t cp = 1 {C [E i I i − ε c (τ )]}.Необходимо найти начальное значение ошибок Ei и коэффициент пропорциональности С.
В процессе тестированиясобирается информация о времени и количестве ошибок на каждом прогоне, т. е. общее время тестирования τскладывается из времени каждого прогона:τ = τ 1 + τ 2 + τ 3 + ... + τ n .Предполагая, что интенсивность появления ошибок постоянна и равна λ , можно вычислить ее как число ошибок вединицу времени:kλ=∑ Aii =1τ,где Аi— количество ошибок на i-м прогоне.Имея данные для двух различных моментов тестирования Х а и х ь , которые выбираются произвольно при условии,что ξс(τa) > ξс(τb), можно записать следующие соотношения:tcp =τk;∑ Aii =11λτ a1λτ b=1;C [Ei I i − ε c (τ a )]=1.C [Ei I i − ε c (τ b )]Ei =C=[I i λτ b λτ a ε c (τ b ) − ε c (τ b )(λτ b λτ a ) − 1],λτ a[Ei Ii − ε c (λτ a )].Определив значения E1 и С, можно рассчитать надежность программной или информационной системы.Модель La Padula.
По этой модели выполнение последовательности тестов производится за т этапов. Каждый этапзаканчивается внесением изменений (исправлений) в тестируемую программу. Возрастающая функция надежностибазируется на числе ошибок, обнаруженных в ходе каждого тестового прогона.Надежность тестируемой программы в течение i-го этапа определяется соотношениемR(t ) = R (∞) − A i , i = 1,2,3,...где А — параметр роста.40Теоретически при бесконечном числе прогонов программы она будет обладать предельной надежностью R(°°):R(t ) → R (∞) _ при _ i → ∞.Модель является прогнозной и на основании данных тестирования позволяет предсказать вероятностьбезотказной работы программы на последующих этапах ее выполнения.Модель Джелинского-Моранды относится к динамическим моделям непрерывного времени.
Исходные данные для ееиспользования собираются в процессе тестирования программной системы. При этом фиксируется время до очередногоотказа. Особенностью данной модели является то, что значение интервалов времени тестирования между обнаружениемдвух ошибок имеет экспоненциальное распределение с частотой ошибок (или интенсивностью отказов), пропорциональной числу еще не выявленных ошибок. Каждая обнаруженная ошибка устраняется. При этом число оставшихсяошибок уменьшается на единицу.Функция плотности распределения времени обнаружения i- й ошибки, отсчитываемого от момента выявления ( ί 1)-й ошибки, имеет видP(ti ) = λi e − λi t i .Здесь λi — частота отказов (интенсивность отказов), которая пропорциональна числу еще не выявленных ошибок впрограмме:λi = C ( N − i + 1),где N- число ошибок, первоначально присутствующих в программе; С— коэффициент пропорциональности.Рассчитав значение λ i можно определить вероятность безотказной работы в различных временных интервалах.
Наоснове полученных расчетных данных строится график зависимости вероятности безотказной работы от времени.Модель Шика-Волвертона. МодификациямоделиДжелинского-Морандыдляслучаявозникновенияврассматриваемом интервале более одной ошибки предложена Волвертоном и Шиком. При этом считается, чтоисправление ошибок производится лишь по истечении интервала времени, в котором они возникли. В основе моделиШика—Волвертона лежит предположение, согласно которому частота ошибок пропорциональна не только количествуошибок в программах, но и времени тестирования, т.
е. вероятность обнаружения ошибок с течением временивозрастает. Частота ошибок (интенсивность обнаружения ошибок) λi предполагается постоянной в течение интервалавремени ti и пропорциональна числу ошибок, оставшихся в программе по истечении (i - 1)-го интервала. Но она такжепропорциональна и суммарному времени, уже затраченному на тестирование (включая среднее время выполненияпрограммы в текущем интервале): X 1 = C ( N − W14 )(∧1 + i / 2).В данной модели наблюдаемым событием является число ошибок, обнаруживаемых в заданном временноминтервале, а не время ожидания каждой ошибки, как это было для модели Джелинского— Moранды.
В связи с этиммодель относят к группе дискретных динамических моделей.Модель Муса относят к динамическим моделям непрерывного времени. Это значит, что в процессе тестированияфиксируется время выполнения программы (тестового прогона) до очередного отказа. Но считается, что не всякаяошибка программы может вызвать отказ. Поэтому допускается обнаружение более одной ошибки при выполнениипрограммы до возникновения очередного отказа.Предполагается, что на протяжении всего жизненного цикла процесса выполнения программы может произойти M0отказов и при этом будут выявлены все N0 ошибок, которые присутствовали в программе до начала тестирования.Общее число отказов M0 связано с первоначальным числом ошибок N0 соотношениемN0 = BM0,где В — коэффициент уменьшения числа ошибок.Положим, что после проведения тестирования, на которое потрачено определенное время ί, зафиксировано тотказов и выявлено η ошибок.41Тогда из соотношенияп = B τ можно определить коэффициент уменьшения числа ошибок Bτ как число,характеризующее количество устраненных ошибок, приходящихся на один отказ.В модели Муса различают два вида времени:1) суммарное время функционирования х, которое учитывает чистое время тестирования до контрольногомомента, когда производится оценка надежности;2) оперативное время t— время выполнения программы, планируемое от контрольного момента и далее, приусловии, что дальнейшего устранения ошибок не будет (время безотказной работы в процессе эксплуатации).Для суммарного времени функционирования τ предполагается: • интенсивность отказов пропорциональна числу неустраненных ошибок.Скорость изменения числа устраненных ошибок, измеряемая относительно суммарного времени функционирования,пропорциональна интенсивности отказов.Один из основных показателей надежности, который рассчитывается по модели Муса, — средняя наработка наотказ.
Этот показатель определяется как математическое ожидание временного интервала между последовательнымиотказами и связан с надежностью следующим уравнением:∞∞00T = ∫ tf (t )dt = ∫ R(t )dt ,где t— время работы до отказа.Если интенсивность отказов постоянна (т. е. длительность интервалов между последовательными отказами имеетэкспоненциальное распределение), то средняя наработка на отказ обратно пропорциональна интенсивности отказов. Помодели Муса средняя наработка на отказ зависит от суммарного времени функционирования τ: CτT = T0 exp M 0 T0,где T0 — средняя наработка на отказ в начале испытаний (тестирования); С— коэффициент сжатия тестов, которыйвводится для устранения избыточности при тестировании.
Например, если 1 ч тестирования соответствует 12 ч работы вреальных условиях, то коэффициент сжатия тестов равен 12.Параметр T(средняя наработка на отказ до начала тестирования) можно рассчитать с помощью соотношенияT0 =1,fKN 0где f— средняя скорость исполнения программы, отнесенная к числу операторов; К— коэффициент проявленияошибок, связывающий частоту возникновения ошибок со «скоростью ошибок» (скорость, с которой бы встречалисьошибки программы, если бы программа выполнялась линейно-последовательно по командам), значение .С определяютэмпирическим путем по однотипным программам, оно лежит в пределах от 1 , 5 4 10-7 до 3,99 · 10-7; N0- начальное числоошибок, которое можно рассчитать с помощью другой модели, позволяющей определить эту величину на основестатистических данных, полученных при тестировании (например, с помощью модели Шумана).
Надежность R дляоперативного периода τ выражается равенством τR = exp − . TВ литературе указывается, что практическое использование рассматриваемой модели требует громоздкихвычислений и делает необходимым наличие ее программной поддержки.42Статические модели надежностиСтатические модели принципиально отличаются от динамических прежде всего тем, что в них не учитываетсявремя появления ошибок в процессе тестирования.
Этот тип моделей учитывает только статистические характеристикипоявления ошибок.Модель Миллса. Использование этой модели предполагает внесение в программу некоторого количества известныхошибок. Они вносятся случайным образом и фиксируются в протоколе искусственных ошибок.
Специалист,проводящий тестирование, не знает ни количества, ни характера внесенных ошибок до момента оценки показателейнадежности по модели Миллса. Предполагается, что все ошибки (как имеющиеся в исследуемой программе, так иискусственно внесенные) имеют равную вероятность быть найденными в процессе тестирования. Тестируя программу втечение некоторого времени, собирают статистику об ошибках. В момент оценки надежности по протоколуискусственных ошибок все ошибки делятся на ошибки собственно программы и искусственные.С помощью соотношения (формулы Миллса)N=SnVможно оценить первоначальное число ошибок в программе (N).
Здесь S - количество искусственно внесенныхошибок, η — число найденных собственных ошибок, V— число обнаруженных к моменту оценки искусственныхошибок.Например, если в программу внесено дополнительно 50 ошибок и к некоторому моменту тестированияобнаружено 25 собственных и 5 внесенных, то по формуле Миллса делается предположение, что первоначально впрограмме было 250 ошибок.Вторая часть модели связана с проверкой гипотезы об оценке первоначального числа ошибок N B программе.Допустим, что в программе имеется Л" собственных ошибок.
Внесем в нее еще S ошибок.Положим, что в процессе тестирования были обнаружены все S внесенных и л собственных ошибок программы.Тогда по формуле Миллса получим, что первоначально в программе было N = n ошибок. Вероятность, с которой можновысказать такое предположение, рассчитывается с помощью следующих соотношений:1, если _ n < K ;С=S S + K + 1 , если _ n ≤ K .Величина С является мерой «доверия» к модели и показывает вероятность того, насколько правильно найденозначение N. Эти два связанных между собой по смыслу соотношения образуют полезную модель ошибок: первоепредсказывает возможное число первоначально имевшихся в программе ошибок, а второе используется для установления доверительного уровня прогноза. Однако приведенная выше формула для расчета С не может бытьиспользована, если не обнаружены все внесенные ошибки.Если оценка надежности производится до момента обнаружения всех внесенных ошибок (S), величина Срассчитывается по модифицированной формуле:1, если _ т > K ;С= SS + K + 1, если _ n ≤ K ,V − 1K +Vгде числитель и знаменатель при n < К являются биноминальными коэффициентами видаa!a, = b b! (a − b)!В реальной практике модель Миллса можно использовать для оценки N после каждой найденной ошибки.Предлагается во время всего периода тестирования отвечать на графике число найденных ошибок и текущие значения N43К достоинствам модели относят простоту применяемого математического аппарата, наглядность и возможностьиспользования в процессе тестирования.Самым существенным недостатком считают необходимость внесения искусственных ошибок (этот процесс плохоформализуем) и достаточно вольное допущение величины К, которое основывается исключительно на интуиции и опытеиспытателя, проводящего оценку, т.