Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИЯ 14.docx
Скачиваний:
68
Добавлен:
05.06.2015
Размер:
154.32 Кб
Скачать

14.4. Оценивание надежности и безопасности функционирования сложных программных средств

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

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

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

449

Лекция 14. Интеграция, квалификационное тестирование и испытания комплексов...

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

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

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

450

14.4. Оценивание надежности и безопасности функционирования...

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

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

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

При заключительных приемо-сдаточных и сертификационных испытаниях для достоверного определения надежности ПС организуются многочасовые и многосуточные прогоны функционирования комплекса программ в реальной и/или имитированной внешней среде в условиях

451

Лекция 14. Интеграция, квалификационное тестирование и испытания комплексов...

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

Если интенсивное тестирование программ в течение достаточно длительного времени не приводит к обнаружению дефектов или ошибок, то у специалистов, ведущих испытания, создается ощущение бесполезности дальнейшего тестирования данной программы, и она передается на эксплуатацию (см. п. 13.1). Экспериментальное исследование характеристик сложных ПС позволило оценить темп обнаружения дефектов, при котором крупномасштабные комплексы программ передаются на регулярную эксплуатацию: 0,002—0,005 дефекта в день на человека, т.е. специалисты по испытаниям или все пользователи в совокупности выявляют только около одной ошибки или дефекта каждые два-три месяца использования ПС. Интенсивность обнаружения ошибок ниже 0,001 ошибки в день на человека, т.е. меньше одной ошибки в год на трех-четырех специалистов, непосредственно выполняющих тестирование и эксплуатацию ПС, по-видимому, может служить эталоном высокой надежности для обработки информации ПС. Если функционирование программ происходит непрерывно, то эти показатели соответствуют высокой наработке на обнаружение дефекта или отказа порядка 5—10 тысяч часов и коэффициенту готовности выше 0,99. При использовании этого критерия обычно учитывается календарное время испытаний, включающее длительность непосредственного тестирования как для обнаружения, так и для локализации дефектов, а также длительность корректировки программ и других вспомогательных работ для восстановления нормального функционирования ПС.

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

452

14.4. Оценивание надежности и безопасности функционирования...

циальным увеличением интенсивности потоков информации и загрузки программ на ЭВМ выше нормальной.

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

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

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

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

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

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

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

453

Лекция 14. Интеграция, квалификационное тестирование и испытания комплексов...

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]