грамі на машинній мові постійно;
? на початку компонувальних випробувань число помилок одно деякої постійної величини, і в міру виправлення помилок їх стає менше. В ході випробувань програми нові помилки не вносяться;
? помилки спочатку помітні, по сумарному числу виправлених помилок можна судити про решту;
? інтенсивність відмов програми пропорційна числу залишкових помилок.
Передбачається, що до початку тестування (тобто в момент t=0) є M помилок. Протягом часу тестування? виявляється? 1 (t) помилок у розрахунку на одну команду в машинному мовою.
Тоді питомий число помилок на одну машинну команду, що залишилися в системі після часу тестування?, одно:
(1)
де I - загальне число машинних команд, яке передбачається постійним в рамках етапу тестування.
Передбачається, що значення функції кількості помилок Z (t) пропорційно числу помилок, що залишилися в програмі після витраченого на тестування часу?.
Z (t)=C *? 2 (?),
де С - деяка постійна, t - час роботи програми без відмов.
Тоді, якщо час роботи програми без відмови t відраховується від точки t=0, а? залишається фіксованим, функція надійності, або ймовірність безвідмовної роботи на інтервалі від 0 до t, дорівнює
(2)
(3)
Нам необхідно знайти початкове значення помилок M і коефіцієнт пропорційності С. Ці невідомі оцінюються шляхом пропуску функціонального тесту в двох точках змінної осі налагодження ta і t в, обраних так, що? 1 (ta) lt ;? 1 (td).
У процесі тестування збирається інформація про час і кількості помилок на кожному прогоні, тобто загальний час тестування? складається з часу кожного прогону:
? =? 1 +? 2 +? 3 + ... +? N.
Припускаючи, що інтенсивність появи помилок постійна і дорівнює?, можна обчислити її як число помилок в одиницю часу,
(4)
де Ai - кількість помилок на i - му прогоні
Тоді
. (5)
Маючи дані для двох різних моментів тестування ta і t в, можна зіставити рівняння (3) при? a і? b:
(6)
(7)
Зі співвідношень (6) і (7) знайдемо невідомий параметр С і М:
(8)
(9)
Отримавши невідомі M * і C *, можна розрахувати надійність програми за формулою (2).
Приклад 1 .
Програма містить 2000 командних рядків, з них, до початку експлуатації (після періоду налагодження), 15 командних рядків містять помилки. Після 20 днів роботи виявлена ??1 помилка. Знайти середній час безпомилкової роботи програми і інтенсивність відмов програми при коефіцієнті пропорційності, рівному 0,7.
I=2000=15=20=1=0,7
E 1 (t)=0,0005 2 (t)=0,007 (t)=0,906649 ср=204,0816
?=0,0049 - інтенсивність відмов
Приклад 2.
На умовах прикладу 1 визначити ймовірність безпомилкової роботи програми протягом 90 діб.
I=2000=15=90=1=0,7 (t)=0,643393
Приклад 3 .
Визначити початкове кількість можливих помилок в програмі, що містить 2000 командних рядків, якщо протягом перших 60 діб експлуатації було виявлено 2 помилки, а за наступні 40 діб була виявлена ??одна помилка. Визначити T0 - середній час безпомилкової роботи, відповідне першому і другому періоду експлуатації програми і коефіцієнт пропорційності.
I=2000 1=60 діб 2=100 діб 1=2 помилок 2=3 помилок 0=30,333333
? 1=0,033333
? 2=0,03=6,666667 1 (t 1)=0,001 2 (t 2)=0,0015=12
Л 2/Л 1=0,9
1.2 Модель Міллса
алгоритм тестування Шуман міллс
Використання цієї моделі передбачає необхідність перед початком тестування штучно засмічувати програму, тобто вносити до неї деяку кількість відомих помилок. Помилки вносяться випадковим чином і фіксуються в протоколі штучних помилок. Фахівець, провідний тестування, не знає ні кількості, ні характеру внесених помилок до моменту оцінки показників надійності за моделлю Міллса. Передбачається, що всі помилки (як природні, так і штучно внесені) мають рівну ймовірність бути знайденими в процесі тестування.
<...