Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК Стандартизация и сертификация ПО.doc
Скачиваний:
132
Добавлен:
21.04.2019
Размер:
5.98 Mб
Скачать

7.2. Оценивание надежности функционирования

Оценивание надежности ПС включает измерение количественных субхарактеристик в использовании (табл.4.2): завершенности; устойчивости к дефектам; восстанавливаемости; доступности–готовности.

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

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

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

Для прямых количественных измерений атрибутов надежности необходимы инструментальные средства, встроенные в операционную систему или в соответствующие компоненты ПС. Эти средства должны в динамике реального функционирования ПС автоматически выбирать и регистрировать аномальные ситуации, дефекты и искажения вычислительного процесса, программ и данных, выявляемые аппаратным, программно-алгоритмическим контролем или пользователями. Накопление и систематизация проявлений дефектов при исполнении программ позволяет оценивать основные показатели надежности, помогает определять причины сбоев и отказов и подготавливать данные для улучшения надежности ПС.

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

При испытаниях надежности ПС в первую очередь обнаруживаются отказы – потери работоспособности. Для выявления фактора, вызвавшего отказ, и устранения его причины необходимо определить, каким компонентом информационной системы стимулирован данный отказ. Наиболее крупными источниками отказов являются частичные физические неисправности или сбои аппаратуры ЭВМ, а также дефекты и ошибки ПС. Стабильные неисправности аппаратуры диагностируются достаточно просто соответствующими аппаратными тестами.

Для повышения надежности ПС при высокой наработке на отказ необходима тщательная, систематическая работа специалистов, накапливающих, регистрирующих и анализирующих все ситуации отказов при функционировании комплекса программ. Эти специалисты должны также регистрировать все проведенные корректировки для прогнозирования причин появления возможных дополнительных источников отказов, вызванных дефектами корректировок.

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

Экспериментальное исследование характеристик сложных ПС позволило оценить темп обнаружения дефектов, при котором сложные комплексы программ передаются на регулярную эксплуатацию: 0,002–0,005 ошибок в день на человека, т.е. специалисты по испытаниям или пользователи в совокупности выявляют только около одной ошибки или дефекта каждые 2–3 месяца использования ПС.

Интенсивность обнаружения ошибок ниже 0,001 ошибок в день на человека, т.е. меньше одной ошибки в год на 3–4 специалистов, непосредственно выполняющих тестирование и эксплуатацию ПС, по–видимому, может служить эталоном высокой надежности для ПС обработки информации. Если функционирование программ происходит непрерывно, то эти показатели соответствуют очень высокой наработке на обнаружение дефекта или отказа порядка 5000–10000 часов и коэффициенту готовности выше 0,99.

Форсированные испытания для оценки надежности ПС значительно отличаются от традиционных методов испытаний аппаратуры. Форсирование испытаний осуществляется повышением интенсивности искажений исходных данных и расширением варьирования их значений, а также специальным увеличением интенсивности потоков информации и загрузки ПС выше нормальной. На надежности функционирования сложных критических ПС весьма существенно отражаются перегрузки по памяти и производительности при исполнении программ. Эти виды угроз стимулируют отказы, которые трудно выявляются при испытаниях в режимах нормальной загрузки.

Планирование форсированных испытаний должно предусматривать последующий пересчет полученных показателей надежности на условия нормального функционирования. Для этого необходимо оценивать надежность испытываемых программ в зависимости от интенсивности искажений данных или от характера перегрузки ЭВМ и способы корректного пересчета получаемых показателей на нормальные условия эксплуатации. При форсированных испытаниях целесообразно выделять следующие режимы тестирования:

  • при полном искажении, предельных и критических значениях ключевых параметров каждого типа внешней информации и воздействий пользователей;

  • при предельных и критических сочетаниях значений различных воздействующих параметров эксплуатации ПС;

  • при предельно больших и малых интенсивностях суммарного потока и каждого типа внешней информации;

  • при умышленных нарушениях пользователями определенных положений инструкций и рекомендаций эксплуатационной документации.

Как вид форсированных испытаний можно рассматривать тестирование и контроль результатов функционирования одних и тех же ПС при увеличении числа испытываемых экземпляров и нормальных исходных данных – бета–тестирование (п.5.4.3). На этапе опытной эксплуатации пользователями некоторого предварительного тиража ПС происходит естественное расширение вариантов исходных данных. Это позволяет увеличивать наборы тестов, и тем самым дает возможность оценивать наработки на отказ в сотни и тысячи часов.

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

Для достижения особо высокой надежности функционирования ПС активно применяются различные методы программной защиты от сбоев и отказов программ – методы оперативного рестарта. Они позволяют замедлить рост затрат на разработку при повышении требований к их надежности. По экспертным оценкам для получения наработки на отказ в сотню часов затраты возрастают в среднем в 1,5 раза, а для наработки в тысячу часов – в 2 раза.