Оценка надежности программного модуля на основании статиСТИческих испытаний



 

Наиболее простая оценка надежности, основанная на модели надежности Нельсона на результатах прогона программы на n наборах входных данных оценивается по формуле

                                       ,                                                    (4.1)

где nε – число наборов входных данных, на которых произошли отказы.

Ход испытаний связан с понятием функциональный разрез программы, то есть набор входных данных должен быть логически привязан к тому или иному подмножеству операторов программы.

Определение функционального разреза программы напрямую связано с оценкой вероятностей появления тех или иных входов (вызовов) в реальных условиях функционирования, для которых оценивается надежность. Если вероятностные оценки обрабатываемой последовательности данных известны, можно использовать генераторы случайных величин.

Основные условия использования оценки (4.1) в том, что до завершения серии из n испытаний нельзя исправлять замеченные ошибки.

Обработка, анализ и оценка результатов испытаний выполняются на основании сбора статистических данных и дальнейшем использовании моделей надёжности программного продукта [4]. Для оценки надёжности функционирования программного продукта применена модель Коркорэна [6], которая учитывает динамику отладки программного изделия и просто интерпретируется:

 

                          ,                                   (4.2)

 

где Nо - число успешных испытаний в серии из N прогонов программы; Т - число типов ошибок, по которым ведётся учёт; ni - число ошибок i-го типа, выявленных за N прогонов; ki - масштабирующий коэффициент, определяемый ступенчатой функцией

 

                                ,                                                   (4.3)

 где , - вероятность устранения ошибки i - го типа.

В [4] отмечены следующая классификация типовых ошибок выполнения.

1.Ошибки вычислений.

2. Логические ошибки.

3. Ошибки ввода-вывода.

4. Ошибки в межпрограммных интерфейсах.

5. Ошибки в интерфейсах программа/вычислительная среда.

6. Ошибки в пользовательских интерфейсах.

7. Ошибки сопряжения с базой данных.

8. Ошибки, лежащие в основе изменений по требованию пользователя.

9. Ошибки инициализации базы данных.

10. Ошибки оператора.

11. Неопознанные ошибки.

Если величина показателя надёжности не удовлетворяет заданным показателям, испытания программного продукта могут быть продолжены до достижения необходимого значения.

Продемонстрируем применение расчетов на примере. Пусть на «разрушающих» тестах использовалась программа нахождения корней квадратного уравнения общего вида: ax2+bx+c=0, оформленная в виде процедуры подпрограммы. Всего было выполнено 16 прогонов, из них: 1 тест при a=0 (вырожденное уравнение), 3 теста при D (дискриминант) отрицательном, 3 теста при несоизмеримых коэффициентах (a>>b, например) закончились отказом программы, а 9 – позволили получить корректные результаты.

На основании результатов такого тестирования для модели Нельсона

Рассмотрим методику расчетов по модели Коркорэна. Пусть по результатам тестов вносятся исправления в модуль, но тесты не повторяются. Имеем: Nо=9; N=16. Для теста при a=0, q1=1 (устранена сразу), для тестов при D<0, q2=⅓, а для несоизмеримых значений коэффициентов q3=⅓.

Применение формулы Коркорэна дает

Полученные данные говорят о необходимости надлежащих: алгоритмизации и программировании; разработке тестов; должной методике испытаний.


Дата добавления: 2021-07-19; просмотров: 62; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!