Роль тестирования в сертификации ПО
систем с высокими требованиями к
надежности и безопасности
Алексей Николаев.
ООО НПП «ЭКРА»
Системы с высокими требованиями к
надежности и безопасности
Это системы, в которых сбой или крах могут:
•
Привести
к
смерти
либо
серьезному
ущербу
для
здоровья
людей;
•
Привести
к
разрушению
либо
серьезным
повреждениям
дорогостоящего оборудования;
•
Нанести ущерб окружающей среде.
Особенность систем с высокими
требованиями к надежности и безопасности
Отличительная особенность таких систем:
•
Известный заказчик
•
Относительно узкая сфера применения
•
Присутствует управление планами поставки
•
Ограничения
в
сроках
поставки
готовых
испытанных
продуктов
заказчику
•
Изменения
в
коде,
как
правило,
выполняются
с
санкции
заказчика
•
Производство
таких
систем
с
соблюдением
определенных
стандартов и правил
•
Оформление
на
них
достаточно
полной
технологической
документации
Надежность – одна из характеристик
качества ПО согласно
ГОСТ Р ИСО/МЭК 9126-93
Взаимосвязь характеристик качества ПО
Источник:
С. Макконнелл
Оценка надежности ПО
Надежность
функционирования программ –
динамическое понятие, проявляющееся во времени и
существенно отличающееся от понятия
корректности
программ.
При оценке качества программ по показателям
надежности регистрируются только такие искажения в
процессе динамического тестирования с исполнением
программ, которые приводят
к потере работоспособности
программ или их крупных компонентов
.
Стандарты на жизненный цикл
ПО в каждой из отрасли
Стандарты в отраслях:
•
Транспорт
•
Автомобильный
(ISO 26262)
•
Авиационный
(DO-178)
•
Медицина
(IEC 62304)
•
Атомная энергетика
(IEC 60880, IEC 62138)
•
Космос
(ECSS-E-ST-40C)
Общие черты для большинства
стандартов жизненного цикла ПО
Базовым стандартом для ПО такого класса является:
•
IEC 61508 «Функциональная
безопасность
систем
электрических,
электронных,
программируемых
электронных, связанных с безопасностью»
Если в какой-то отрасли еще не созданы специфические для
нее стандарты, то используется IEC 61508.
Управление качеством
разрабатываемого ПО
•
Высокая функциональная безопасность и надежность ПО
достигается и определяется преимущественно
за счет
технологий обеспечения качества на всех этапах
жизненного цикла (ЖЦ) ПО
.
•
Во всех стандартах значительное
внимание уделяется
технологическим процессам и инструментальным
системам обеспечения безопасности и качества ЖЦ ПО
.
Взаимосвязь наиболее признанных и
применяемых в мире стандартов в
области разработки ПО
Совокупность нормативных документов
и методических руководств для
программных средств
Стандарты оценки качества и
надежности ПО
Определяют
характеристики
ПО
(метрики),
используемые
для
качественной и количественной оценки надежности:
•
ISO/IEC 9126
•
IEEE 982
•
IEEE 1061 и др.
Как же достигается высокая
надежность и безопасность ПО?
Основные причины ошибок в ПО
Причина
Частота появления, %
Неполное или ошибочное техническое задание
(ТЗ)
28
Отклонение от ТЗ
12
Ошибочная логика или последовательность
операций
12
Пренебрежение правилами программирования
10
Ошибочная выборка данных
10
Ошибочные арифметические операции
9
Неточная запись
8
Нехватка времени на решение
4
Неправильная обработка прерываний
4
Неправильные данные
3
Типовая V-модель разработки ПО и этапы
Атомная энергетика
Иерархическая
взаимосвязь
между
документами МАГАТЭ и МЭК
•
Высший уровень
: документы МАГАТЭ по безопасности;
•
Первый уровень
: стандарт МЭК 61513 «Общие требования к
системам, важным для безопасности АЭС»;
•
Второй уровень
:
детализация
требований
по
общим
вопросам
(имеются ссылки в документе первого уровня);
•
Третий уровень
:
требования
к
конкретному
оборудованию,
техническим методам или конкретной деятельности.
Атомная
энергетика
–
стандарты
и
требования к сертификации ПО
МЭК 61513 следующим образом устанавливает классы систем,
важных для безопасности
Функции безопасности
Класс 1
Класс 2
Класс 3
Категория
А
+
Категория
В
+
+
Категория
С
+
+
+
Не классифицированные
+
+
+
Функции безопасности
и их соответствие ГОСТ
Функции безопасности
ГОСТ
Категория
А
ГОСТ Р МЭК 60880-2011
Категория
В
ГОСТ Р МЭК 62138-2010
Категория
С
ГОСТ Р МЭК 62138-2010
Международные стандарты
(требования к ПО)
Международные нормативные документы:
•
ГОСТ Р МЭК 61226-2011.
Атомные станции. Системы контроля и
управления, важные для безопасности.
Классификация функций
контроля и управления
•
ГОСТ Р МЭК 61513-2011.
Атомные станции. Системы контроля и
управления, важные для безопасности.
Общие требования
•
ГОСТ Р МЭК 60880-2011.
Атомные электростанции. Системы
контроля и управления, важные для безопасности.
Программное
обеспечение компьютерных систем, выполняющих функции
категории А
•
ГОСТ Р МЭК 62138-2010.
Атомные электростанции. Системы
контроля и управления, важные для безопасности.
Программное
обеспечение компьютерных систем, выполняющих функции
категорий В и С
•
IEEE 1012-1998.
«
Верификация и валидация программных
средств
»
Российские стандарты
(требования к ПО)
Российские нормативные документы:
•
ГОСТ 28195-89.
«Оценка качества программных средств.
Общие положения»
•
ГОСТ Р ИСО/МЭК 9126-93.
«Оценка программной продукции.
Характеристики качества и руководства по их применению»
•
ГОСТ Р ИСО/МЭК 12207-2010.
«Информационные технологии.
Процессы жизненного цикла программных средств»
•
РД-03-17-2001.
«Положение об аттестации программных
средств, применяемых при обосновании безопасности
объектов использования атомной энергии»
•
ГОСТ 34.ххх.
«Стандарты информационной технологии»
•
ГОСТ 19.ххх.
«Единая
система
программной
документации»
(ЕСПД)
Требования к выходным документам ЖЦ ПО
Стандартами рекомендуется
подготовить и утвердить
содержание следующих планов:
•
Разработки
и
реализации
всего
ЖЦ
ПО
(модель
ЖЦ
ПО,
компоненты, внешняя и технологическая среда проектирования)
•
Верификации
и
тестирования
(методы
и
средства
устранения
дефектов и достижения необходимых показателей качества)
•
Реализации процессов интеграции компонентов
•
Управления конфигурацией и сопровождения
•
Тиражирования,
адаптации
и
внедрения
версий
ПО,
включая
подготовку и обучение пользователей
•
Документирования
процессов
и
результатов
ЖЦ
ПО,
включая
создание и выпуск эксплуатационной документации
•
Управления
и
обеспечения
безопасности
ПО
(методы
и
средства гарантирования требуемой безопасности)
Циклы разработки ПО и выходные
результаты каждого этапа
Комплекс стандартов
ГОСТ 34
можно считать более общим по
сравнению со стандартом
ЕСПД
.
Иерархия стандартов:
•
комплекс стандартов ГОСТ 34
•
ГОСТ Р ИСО/МЭК 12207-2010
•
ГОСТ 19
Повышение надежности
ПО
Основные средства повышения надежности:
•
Введение избыточности
•
временной
•
программной
•
информационной
•
Методы оперативного рестарта
Испытания
надежности
ПО
Используется
динамическая
среда
функционирования,
максимально приближенная к реальной:
•
Экспериментальные
методы
оценивания
надежности
ПО
в
штатном режиме
•
Форсированные испытания
•
полное
искажение,
предельные
значения
ключевых
параметров тестов каждого типа внешней информации
•
предельно
малые
и
большие
интенсивности
суммарного
потока и каждого типа внешней информации
Задачи перед группой тестирования
Испытания
надежности
и
функциональной
безопасности
ставят перед группой тестирования следующие задачи:
•
Составление
плана и программы проведения испытаний
функциональной безопасности
•
Разработка тестовых сценариев
и
динамических
моделей
внешней среды для генерации тестов
•
Отладка тестовых сценариев
и
генераторов
динамических
тестов
•
Верификация, проверка, выявление и исправление
дефектов генераторов динамических тестов
•
Определение качества тестов
и
степени
реализации
функций
и характеристик безопасности
•
Пересмотр и корректировка
эксплуатационной документации
Заключение
Сертификация
–
один
из
способов
обеспечения
и
повышения
надежности ПО.
Основные изменения в процессах разработки ПО:
•
Создание комплекта документов на каждом этапе ЖЦ ПО
•
Необходимость
адаптации
процессов
ЖЦ
ПО
к
выбранной
методологии разработки
•
Увеличение времени и стоимости разработки
•
Увеличение ресурсов на тестирование
Спасибо за внимание!
Вопросы?
nl-79@mail.ru
Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности