Расчет надежности системы, Завершенность - Моделирование беспроводных сенсорных сетей

Для разрабатываемого программного обеспечения необходимо определение следующих свойств:

    - завершенность; - устойчивость; - восстанавливаемость; - доступность или готовность.
Завершенность

Завершенность - свойство программного обеспечения (ПО) не попадать в состояния отказов вследствие ошибок и дефектов в программах и данных. Данное свойство ПО определяется через такие показатели как наработка на ошибку и степень покрытия ПО тестами функций и структуры программы.

1. Среднее время наработки на ошибку.

Средняя наработка на ошибку рассчитывается следующим образом:

,

Где лПО - интенсивность ошибок программного обеспечения.

Интенсивность ошибок разрабатываемого программного обеспечения рассчитывается по формулам:

,

,

Где t - фактическое время отладки;

Б - коэффициент крутизны линии, характеризующий скорость роста надежности;

N0 - число обнаруженных ошибок за время отладки t;

N - общее число строк;

КТП - коэффициент, учитывающий влияние методологии программирования на надежность ПО;

КТПi - коэффициент, учитывающий использование i-ой технологии программирования;

КЯЗi - коэффициент, учитывающий использование i-ого языка программирования;

КПЛi - коэффициент, учитывающий использование i-ой платформы программирования.

В данном программном обеспечении использована объектно-ориентированная технология программирования () в Castalia (поскольку Castalia базируется на языке C++, то ) на 32-разрядной платформе (для платформ, не являющихся. NET, ).

Исходное число строк кода N=11341.

Отладка программного обеспечения производилась с помощью тестирования в течение 8 часов. Результаты тестирования представлены в таблице 10.

Таблица 10: Результаты тестирования ПО

Число ошибок

Время отладки t, часы

Интенсивность ошибок, л0 1/ час

35

8

0,00023

17

8

0,00011

6

8

0,00004

3

8

0,00002

2

8

0,00001

1

8

0,00001

1

8

0,00001

0

8

0,00000

На основе полученных данных можно построить кривую зависимости интенсивности ошибок от времени отладки (рис. 21).

зависимость интенсивности ошибок от времени отладки

Рис. 21 Зависимость интенсивности ошибок от времени отладки

Как показано выше, функциональная зависимость интенсивности ошибок ПО от времени отладки описывается экспоненциальным законом и зависит от коэффициента крутизны линии, характеризующей скорость роста надежности б, и от фактического времени отладки ПО. Анализ результатов тестирования ПО позволил определить б = 0,0133.

Таким образом, интенсивность ошибок разрабатываемого ПО составляет:

(1/час)

(1/час)

Для разрабатываемого программного обеспечения средняя наработка на ошибку составит 2587 часа.

Степень покрытия тестами функций и структуры программы

Существуют три типа покрытия, для каждого из которых требуется различное число тестовых примеров:

    - покрытие утверждений; - покрытие ветвей; - покрытие условий.

Покрытие утверждений. Здесь нужно следить затем, выполнялась ли каждая строка кода, по крайней мере, один раз. Чтобы достичь 100%-го покрытия утверждений, понадобится выполнить утверждение IF, причем оно должно принять значение TRUE для выполнения соответствующего требования THEN.

Покрытие ветвей. Здесь нужно следить затем, была ли взята каждая ветвь или точка принятия решения при всех возможных исходах. Чтобы покрытие было100%-м, требуется два прохода через условие IF, когда при одном проходе оно принимает значение TRUE, а при другом - FALSE. Каждый цикл DO-WHILE также должен быть выполнен при условиях TRUE и FALSE. Для утверждений CASE или SWITCH требуются тестовые примеры, которые будут брать все возможные ветки, включая заданные по умолчанию пути.

Покрытие условий. Оно известно также как покрытие предикатов и следит затем, принимает ли каждый операнд в комплексных логических выражениях значения FALSE/TRUE. Комплексные логические выражения содержат операторы AND, OR и XOR.

Каждый из этих типов покрытия содержит в себе более низкие уровни. Достижение 100%-го покрытия ветвей означает 100%-ное покрытие утверждений. Аналогично достижение 100%-го покрытия условий автоматически приводит к удовлетворению 100%-го покрытия ветвей.

На основе тестирования были получены следующие коэффициенты:

1. Коэффициент полноты:

,

Где Р - степень покрытия тестами в процентах.

.

2. Коэффициент достоверности:

,

Где Nпр - число прогонов;

Nош - число ошибок, обнаруженных во время данных прогонов.

.

Похожие статьи




Расчет надежности системы, Завершенность - Моделирование беспроводных сенсорных сетей

Предыдущая | Следующая