Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Оценивание безотказности




 

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

Модель возрастания безотказности* показывает, как меняется безотказность системы в процессе тестирования. Ошибки исправляются по мере обнаружения, так что во время тестирования и отладки системы ее безотказность должна возрастать. Для практического оценивания безотказности концептуальную модель возрастания безотказности необходимо преобразовать в математическую. Здесь не будет подробно рассматриваться такое преобразование, обсудим только саму модель возрастания безотказности.

* В русской научной литературе эту модель (точнее, семейство моделей) часто называют также моделью роста надежности. Оба названия являются переводом с английского reliability growth model. – Прим. перев.

 

Во многих предметных областях на основании экспериментов по оцениванию безотказности создается множество моделей возрастания безотказности. Самая простая – это модель ступенчатой функции [190], в которой при обнаружении и исправлении ошибки безотказность каждый раз возрастает на постоянную величину (рис. 21.3). В этой модели предполагается, что ошибки всегда исправляются без внесения новых ошибок, поэтому количество отказов и связанных с ними ошибок со временем уменьшается. Соответственно, после исправлений ошибок интенсивность отказов должна понижаться, как показано на рис. 21.3. Заметим, что интервалы времени на горизонтальной оси отражают время между повторными тестированиями системы (после исправления обнаруженных ошибок), поэтому они, как правило, не равны друг другу.

 

Рис. 21.3. Модель возрастания безотказности на основе равноступенчатой функции

 

На самом деле в процессе отладки не всегда удается локализовать ошибки; кроме того, изменение кода может привести к появлению новых ошибок. Вероятность появления новых ошибок может превысить вероятность проявления уже исправленных ошибок, в итоге безотказность системы может не возрасти, а наоборот уменьшиться.

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

В более поздних моделях возрастания безотказности, например предложенных в работе [222], для решения этой проблемы вводится случайный элемент, который позволяет более точно оценить рост безотказности после исправлений ошибок в системе. Таким образом, при каждом исправлении ошибки безотказность возрастает не равномерно, а на некоторую величину, зависящую от случайного параметра (рис. 21.4).

 

Рис. 21.4. Модель возрастания безотказности на основе функции со случайным шагом

 

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

Описанные выше модели являются дискретными и основаны на пошаговом возрастании безотказности. Перед тестированием новая версия ПО с исправленными ошибками должна иметь более низкую интенсивность отказов, чем предыдущая. Но для того, чтобы количественно оценить безотказность системы после заданного количества тестирований, нужны математические модели. Множество таких моделей, адаптированных для разных предметных областей представлено в работах [2, 246, 26*].

Проще всего оценить безотказность, подобрав к измеренным данным известную модель безотказности. Затем эта модель экстраполируется на требующийся уровень безотказности. Время, за которое можно достичь заданной безотказности, затем легко определить по графику модели безотказности (рис. 21.5). Тестирование и отладка системы должны продолжаться до момента времени достижения необходимого уровня безотказности.

 

Рис. 21.5. Оценивание безотказности

 

Оценка безотказности системы по модели безотказности имеет два принципиальных преимущества.

 

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

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

 

Использование моделей возрастания безотказности и их применение на практике описано в работах [105, 307, 312, 29*].

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...