Модели надежности программного обеспечения реферат

Обновлено: 02.07.2024

ВВЕДЕНИЕ
1. Понятие модели надежности программного обеспечения
2. Динамические модели надежности программного обеспечения
3.1 МодельШика-Волвертона
3.2 Модель Муса
3.3 Модель Шумана
3.4 Модель La Padula
3.5 Модель Джелинского-Моранда
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ

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

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

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

Оглавление

ВВЕДЕНИЕ
1. Понятие модели надежности программного обеспечения
2. Динамические модели надежности программного обеспечения
2.1 Модель Шика-Волвертона
2.2 Модель Муса
2.3 Модель Шумана
2.4 Модель La Padula
2.5 Модель Джелинского-Моранда
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ

Файлы: 1 файл

Реферат надежность.docx

  1. Понятие модели надежности программного обеспечения
  2. Динамические модели надежности программного обеспечения
    1. Модель Шика-Волвертона
    2. Модель Муса
    3. Модель Шумана
    4. Модель La Padula
    5. Модель Джелинского-Моранда

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

    Надежность программного обеспечения – представляет из себя способность внедренного программного обеспечения в течении заданного времени выполнять свои предназначенные функции без сбоев и ошибок.

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

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

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

    - работоспособность – рассматривается корректность и адекватность работы программного обеспечения на заданный период времени.

    - безопасность – учитывается влияние программного обеспечения на человека и окружающую среду;

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

    Темой данного реферата является именно определение надежности программного обеспечения с применением моделей надежности.

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

    1. Понятие модели надежности программного обеспечения

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

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

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

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

    Модели надежности программного обеспечения можно представить в виде классификации или подразделения на две основные группы – это аналитические и эмпирические модели.

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

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

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

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

    В современных условиях, условиях жесткой конкуренции, очень важно гарантировать высокое качество процесса конструирования ПО. Такую гарантию дает сертификат качества процесса, подтверждающий его соответствие принятым международным стандартам. Каждый такой стандарт фиксирует свою модель обеспечения качества. Наиболее авторитетны модели стандартов ISO 9001:2000, ISO/IЕС 15504 и модель зрелости процесса конструирования ПО - СММ. Института программной инженерии при американском университете Карнеги-Меллон.

    Модель стандарта ISO 9001:2000 ориентирована на процессы разработки из любых областей человеческой деятельности. Стандарт ISO/IEC 15504 специализируется на процессах программной разработки и отличается более высоким уровнем детализации. Достаточно сказать, что объем этого стандарта превышает 500 страниц. Значительная часть идей ISO/IEC 15504 взята из модели СММ.

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

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

    1. Динамические модели надежности программного обеспечения

    Аналитическое моделирование надежности программного средства включает четыре шага:

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

    • выбор параметров моделей с использованием полученных данных;
    • применение модели расчета количественных показателей надежности.

    Аналитические модели представлены двумя группами: динамические и статические модели надежности. Наиболее известными динамическими моделями являются модели Шумана, La Padula, Джелин-ского-Моранды, Шика-Волвертона, Муса.

    В динамических моделях надежности программного средства поведение программы (появление отказов) рассматривается во времени. Для использования динамических моделей необходимо иметь данные о появлении отказов во времени.

    Модификация модели Джелинского-Моранды для случая возникновения на рассматриваемом интервале более одной ошибки предложена Волвертоном и Шиком. При этом считается, что исправление ошибок производится лишь после истечения интервала времени, на котором они возникли. В основе модели Шика - Волвертона лежит предположение, «согласно которому частота ошибок пропорциональна не только количеству ошибок в программах, но и времени тестирования, т.е. вероятность обнаружения ошибок с течением времени возрастает. Частота ошибок (интенсивность обнаружения ошибок) предполагается постоянной в течение интервала времени ti и пропорциональна числу ошибок, оставшихся в программе по истечении (i-1)-го интервала; но она пропорциональна также и суммарному времени, уже затраченному на тестирование (включая среднее время выполнения программы в текущем интервале).

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

    Модификация модели Джелинского-Моранды для случая возникновения в рассматриваемом интервале более одной ошибки предложена Волвертоном и Шиком. При этом считается, что исправление ошибок производится лишь по истечении интервала времени, в котором они возникли. В основе модели Шика—Волвертона лежит предположение, согласно которому частота ошибок пропорциональна не только количеству ошибок в программах, но и времени тестирования, т. е. вероятность обнаружения ошибок с течением времени возрастает. Частота ошибок (интенсивность обнаружения ошибок) λi предполагается постоянной в течение интервала времени ti и пропорциональна числу ошибок, оставшихся в программе по истечении (i - 1)-го интервала. Но она также пропорциональна и суммарному времени, уже затраченному на тестирование (включая среднее время выполнения программы в текущем интервале):

    Под определенными условиями внешней среды следует понимать описание входных данных и состояние ИС в процессе выполнения программы. Состояние ИС описывается в основном объемом оперативной памяти и зависит от требований к ПО в части его способности нормально функционировать при наличии отказов. Вопрос о том, приводит ли некоторое отклонение выхода к нарушению условия надежности и, особенно… Читать ещё >

    • надежность и безопасность программного обеспечения

    Модели надежности программного обеспечения ( реферат , курсовая , диплом , контрольная )

    Исходные данные и некоторые понятия

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

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

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

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

    Модели надежности программного обеспечения.

    Интуитивное определение надежности и безопасности ПО может быть уточнено в статистическом смысле на основе следующих простых соображений:

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

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

    Содержание

    Введение 3
    1 Аналитические модели надежности ПС 4
    1.1 Динамические модели надежности 4
    1.2 Статические модели надежности 20
    2 Эмпирические модели надежности 34
    Заключение 42
    Список использованных источников 43

    Работа содержит 1 файл

    Модели надежности.doc

    Если предположить, что термины “исправление” и “ошибка” идентичны, то тогда модель для оценивания общего количества ошибок в программе, предложенная специалистами из IBM и основанная на приведенных выше объяснениях, записывается следующим образом:

    где ИЗМi - общее количество исправлений, внесенное в модули (или, другими словами, общее количество ожидаемых ошибок), а коэффициенты 23 и 2 – среднее количество исправлений на модуль для групп MИM и ИM, соответственно.

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

    • на этапе пассивного сопровождения ПО (ИMi = 0, СИМi невелико) количество исправляемых модулей и количество исправлений внутри модулей быстро убывает от версии к версии;
    • количество ожидаемых ошибок в следующей версии может увеличится по сравнению с прошлой версией, если достаточно много старых модулей было изменено (СИМ), и/или было добавлено много новых модулей (НМ).
    • Добавление новых модулей оказывает более сильное влияние на рост числа новых ошибок, чем исправления, вносимые в старые модули; в то же время, если есть возможность создать новый модуль вместо изменения старых модулей (5 или более), то это снижает ожидаемое количество ошибок. Другими словами, на некотором этапе сопровождения ПО изменение уже существующих модулей теряет свою эффективность, и требуется добавление вместо этого нового модуля.

    2 Эмпирические модели надежности ПС

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

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

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

    В качестве структурных характеристик модуля ПС используются:

    1. отношение действительного числа дуг к максимально возможному числу дуг, получаемому искусственным соединением каждого узла с любым другим узлом дугой;
    2. отношение числа узлов к числу дуг;
    3. отношение числа петель к общему числу дуг.

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

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

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

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

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

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

    1) Одним из наиболее простых критериев оценки сложности программ является ее длина - количество операторов (команд).

    Но длину программ не всегда можно брать в качестве критерия сложности, так как, например, при структурировании программы, ее сложность уменьшается, но длина увеличивается.

    2) Цикломатическое число.

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

    Дадим понятие цикломатического числа для потокового графа программ.

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

    где V представляет собой совокупность вершин графа, а Е - совокупность дуг.

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

    Цикломатическое число для потокового графа, представлено на рисунке 3, определяется следующим образом

    Z (G) = E – V + 2 (77)

    где: E – количество дуг графа, V – количество вершин.

    Рисунок 3. Управляющий граф программы

    Для графа на рисунке 3 цикломатическое число будет равно:

    Z (G) = 17 – 12 + 2 = 7.

    3) Мера сложности Холстеда .

    Холстед кроме измерения длины программы предложил также учитывать количество операндов и число появления в процессе выполнения операторов и операндов. Он ввёл следующие меры:

    η1 – число различных операторов;

    η2 – число различных операндов;

    η1 + η2 = η – словарь программы;

    N1 – число появлений операторов;

    N2 – число появлений операндов.

    Тогда теоретическая длина программы:

    Холстед ввел такую меру сложности, как объем программы:

    Сложность программы определяется по формуле [80 ]:

    Величина Е соответствует усилию, затрачиваемому на кодирование и понимание программы.

    Эксперименты показали , что число ошибок в неоттестированных программах пропорционально E 2/3 , где E – мера сложности Холстеда:

    В прошедших стадию тестирования и отладки программах это отношение сохраняется, но коэффициент пропорциональности K принимает меньшие значения.

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

    Модель, определяющая время доводки программ

    Эта модель используется для ПС, которые имеют иерархическую структуру, т.е. ПС как система может содержать подсистемы, которые состоят из компонентов, а те, в свою очередь, состоят из V модулей. Таким образом, ПС может иметь различных уровней композиции. На любом уровне иерархии возможна взаимная зависимость между любыми парами объектов системы. Все взаимозависимости рассматриваются в терминах зависимости между парами модулей.

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

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

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

    • фиксировать все ошибки в одном выбранном модуле и устранить все побочные эффекты, вызванные изменениями этого модуля, отрабатывая таким образом последовательно все модули;

    • фиксировать все ошибки нулевого порядка в каждом модуле, затем фиксировать все ошибки первого порядка и т.д.

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

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

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

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

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

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