Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Липаев В.В. Программная инженерия

.pdf
Скачиваний:
722
Добавлен:
02.05.2014
Размер:
10.14 Mб
Скачать

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

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

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

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

450

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

МНОГИХ случаях трудно однозначно выявить его первичный источник, осо­ бенно при очень редких отказах.

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

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

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

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

451

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

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

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

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

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

452

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

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

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

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

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

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

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

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

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

453

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

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

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

14.5. Оценивание эффективности использования ресурсов ЭВМ программным продуктом

Оценивание ресурсной эффективности состоит в измерении коли­ чественных субхарактеристик и их атрибутов: временной эффективности и используемости ресурсов ЭВМ комплексом программ (см. таблицу 11.2). При этом предполагается, что в контракте, техническом задании и специ­ фикации требований зафиксированы и утверждены требуемые значения атрибутов и их приоритетов. В стандарте ISO 9126:2 эту характеристику качества ПС рекомендуется отражать десятком атрибутов, каждый из ко­ торых оценивать для средних и наихудших сценариев функционирования комплекса программ. В таблице 11.3 сохранены только три атрибута, важ­ нейшие для функциональной пригодности, которые наиболее доступны количественным измерениям. Оценивание этих атрибутов может прово­ диться при функционировании готового программного продукта или рас-

454

14.5. Оценивание эффективности использования ресурсов ЭВМ программным продуктом

четными методами, при разработке для сопоставления с заданными требо­ ваниями и оценки степени соответствия этим требованиям.

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

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

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

455

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

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

Для оценивания использования ресурсов производительности долж­ ны быть измерены:

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

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

загрузка ЭВМ в нормальном режиме поступления сообщений и заданий, а также вероятность перегрузки заданиями различных типов и распределения длительностей перегрузки в реальных условиях;

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

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

456

14.5. Оценивание эффективности использования ресурсов ЭВМ программным продуктом

Для корректного оценивания предельной пропускной способности

системы с данным ПС необходимо измерять следующие характеристики функциональных групп программ:

экстремальные значения длительностей их исполнения и маршру­ ты, на которых эти значения достигаются;

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

иего дисперсию;

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

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

Влияние таких ситуаций перегрузки ЭВМ по производительности

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

457

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

нялись при организации вычислений в специализированных, объектных ЭВМ реального времени. Они позволяли повышать эквивалентную произ­ водительность ЭВМ на 10—20% по сравнению с бесприоритетными дис­ циплинами диспетчеризации. Показано, что во многих случаях целесооб­ разно применять при диспетчеризации функциональных задач не более 10—15 уровней приоритета, при загрузке ЭВМ на 80—95% и при значи­ тельном различии длительностей и коэффициентов важности (10—100) приоритетных задач. Для практического использования характеристик и методов расчета рационального распределения производительности ВС

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

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

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

458

14.5. Оценивание эффективности использования ресурсов ЭВМ программным продуктом

будет применяться комплекс программ, а также динамики приема и пере­ дачи данных (см. п. 14.3). Эти условия следует детализировать до уровня, позволяющего однозначно определять требуемые значения интенсивности

решения задач:

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

в режиме предельной загрузки, реализующемся с определенной вероятностью и с допустимым снижением функциональной пригодности

инекоторых конструктивных характеристик качества;

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

Для определения использования комплексами программ временных

ресурсов ЭВМ полезно применять рекомендации стандарта ISO 14756 — Измерение и оценивание производительности программных средств ком­ пьютерных вычислительных систем. Стандарт ориентирован на оценива­ ние: прикладных программных средств, операционных систем и вычисли­ тельных комплексов, включающих все аппаратные и программные сред­ ства. Основные рекомендации сосредоточены в двух крупных разделах и четырех нормативных приложениях. Раздел 2 содержит общее описание методов измерений, а раздел 3 — детальные процедуры измерений и оце­ нивания производительности ПС в составе информационной системы. Опи­ сание метода измерения производительности начинается с эмуляции — имитации пользователей и потоков данных из внешней среды: их случай­ ных характеристик и процессов; функционирования терминалов; установ­ ления параметров рабочих нагрузок пользователей и вычислительных средств. Процедуры измерений должны содержать рекомендации по:

формированию тестов;

распределению их по временным фазам;

определению и регистрации результатов тестирования;

контролю корректности эмуляции внешней среды;

статистической обработке измерений.

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

459