Роль тестирования в сертификации ПО систем с высокими...
DESCRIPTION
Презентация Алексея Николаева на SQA Days-16 14-15 ноября 2014, Санкт-Петербург, Россия www.sqadays.comTRANSCRIPT
![Page 1: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/1.jpg)
Роль тестирования в сертификации ПО систем с высокими требованиями
к надежности и безопасностиАлексей Николаев. ООО НПП «ЭКРА»
![Page 2: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/2.jpg)
Кратко о себе
Алексей Николаев
С 2006 г. – кандидат технических наук
Более 10 лет работы в области IT
4 года в тестировании ПО
На текущий момент – ведущий инженер ООО НПП «ЭКРА»
E-mail: [email protected]
![Page 3: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/3.jpg)
Системы с высокими требованиями к надежности и безопасности
Это системы, в которых сбой или крах могут:
• Привести к смерти либо серьезному ущербу для здоровья людей;
• Привести к разрушению либо серьезным повреждениям дорогостоящего оборудования;
• Нанести ущерб окружающей среде.
![Page 4: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/4.jpg)
Основные причины ошибок в ПО
Причина Частота появления, %
Неполное или ошибочное техническое задание (ТЗ) 28
Отклонение от ТЗ 12
Ошибочная логика или последовательность операций
12
Пренебрежение правилами программирования 10
Ошибочная выборка данных 10
Ошибочные арифметические операции 9
Неточная запись 8
Нехватка времени на решение 4
Неправильная обработка прерываний 4
Неправильные данные 3
![Page 5: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/5.jpg)
Управление рисками
Разработка программного обеспечения (ПО) — явно не детерминированный процесс.
Один из приемов, повышающих вероятность успеха в данном процессе — использование методов управления рисками.
Управление рисками — это процедуры и действия, которые позволяют менеджеру выявлять, оценивать, отслеживать и устранять риски до или во время их превращения в проблемы.
![Page 6: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/6.jpg)
Задачи управления рисками при сертификации
• Как быстро можно изучить требования нормативных документов?
• Будет ли необходимость в адаптации существующих процессов ЖЦ ПО к требованиям нормативных документов?
• Как изменится комплект документов на каждом из этапов ЖЦ ПО?
• Как изменятся время и стоимость разработки?• Как изменятся ресурсы на тестирование ПО?• Позволит ли имеющийся бюджет решить поставленную задачу?
![Page 7: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/7.jpg)
Как быстро можно изучить требования нормативных
документов?
![Page 8: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/8.jpg)
Стандарты на жизненный цикл ПО в каждой из отрасли
Стандарты в отраслях:
• Транспорт
• Автомобильный (ISO 26262)
• Авиационный (DO-178)
• Медицина (IEC 62304)
• Атомная энергетика (IEC 60880, IEC 62138)
• Космос (ECSS-E-ST-40C)
![Page 9: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/9.jpg)
Общие черты для большинства стандартов жизненного цикла ПО
Базовым стандартом для ПО такого класса является:
• IEC 61508 «Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью»
Если в какой-то отрасли еще не созданы специфические для нее стандарты, то используется IEC 61508.
![Page 10: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/10.jpg)
Управление качеством разрабатываемого ПО
•Высокая функциональная безопасность и надежность ПО достигается и определяется преимущественно за счет технологий обеспечения качества на всех этапах жизненного цикла (ЖЦ) ПО.
•Во всех стандартах значительное внимание уделяется технологическим процессам и инструментальным системам обеспечения безопасности и качества ЖЦ ПО.
![Page 11: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/11.jpg)
Взаимосвязь наиболее признанных и применяемых в мире стандартов в
области разработки ПО
![Page 12: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/12.jpg)
Совокупность нормативных документов и методических руководств для
программных средств
![Page 13: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/13.jpg)
Стандарты оценки качества и надежности ПО
Определяют характеристики ПО (метрики), используемые для качественной и количественной оценки надежности:
• ISO/IEC 9126• IEEE 982• IEEE 1061 и др.
![Page 14: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/14.jpg)
Будет ли необходимость в адаптации существующих
процессов ЖЦ ПО к требованиям нормативных документов?
![Page 15: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/15.jpg)
Типовая V-модель разработки ПО и этапы
![Page 16: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/16.jpg)
Атомная энергетика
![Page 17: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/17.jpg)
Основные проблемы
Этапы
•Изучение нормативной документации (ГОСТ)•Составление плана и оценка объема работ•Перечень документов, предоставляемых в орган
сертификации•Адаптирование процессов разработки и
тестирования
![Page 18: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/18.jpg)
Иерархическая взаимосвязь между документами МАГАТЭ и МЭК
• Высший уровень: документы МАГАТЭ по безопасности;
• Первый уровень: стандарт МЭК 61513 «Общие требования к
системам, важным для безопасности АЭС»;
• Второй уровень: детализация требований по общим вопросам
(имеются ссылки в документе первого уровня);
• Третий уровень: требования к конкретному оборудованию,
техническим методам или конкретной деятельности.
![Page 19: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/19.jpg)
Атомная энергетика – стандарты и требования к сертификации ПО
МЭК 61513 следующим образом устанавливает классы систем, важных для безопасности
Функции безопасности Класс 1 Класс 2 Класс 3
Категория А +
Категория В + +
Категория С + + +
Не классифицированные + + +
![Page 20: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/20.jpg)
Функции безопасности и их соответствие ГОСТ
Функции безопасности ГОСТ
Категория А ГОСТ Р МЭК 60880-2011
Категория В ГОСТ Р МЭК 62138-2010
Категория С ГОСТ Р МЭК 62138-2010
![Page 21: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/21.jpg)
Российские стандарты (требования к ПО)
Российские нормативные документы:
• ГОСТ Р МЭК 61226-2011. Атомные станции. Системы контроля и управления, важные для безопасности. Классификация функций контроля и управления
• ГОСТ Р МЭК 61513-2011. Атомные станции. Системы контроля и управления, важные для безопасности. Общие требования
• ГОСТ Р МЭК 60880-2011. Атомные электростанции. Системы контроля и управления, важные для безопасности. Программное обеспечение компьютерных систем, выполняющих функции категории А
• ГОСТ Р МЭК 62138-2010. Атомные электростанции. Системы контроля и управления, важные для безопасности. Программное обеспечение компьютерных систем, выполняющих функции категорий В и С
![Page 22: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/22.jpg)
Российские стандарты (требования к ПО)
Российские нормативные документы:
• РД-03-17-2001. «Положение об аттестации программных средств, применяемых при обосновании безопасности объектов использования атомной энергии»
• ГОСТ 28195-89. «Оценка качества программных средств. Общие положения»
• ГОСТ Р ИСО/МЭК 9126-93. «Оценка программной продукции. Характеристики качества и руководства по их применению»
• ГОСТ Р ИСО/МЭК 12207-2010. «Информационные технологии. Процессы жизненного цикла программных средств»
• ГОСТ 34.ххх. «Стандарты информационной технологии»
• ГОСТ 19.ххх. «Единая система программной документации» (ЕСПД)
![Page 23: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/23.jpg)
Как изменится комплект документов на каждом из этапов
ЖЦ ПО?
![Page 24: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/24.jpg)
Требования к выходным документам ЖЦ ПО
Стандартами рекомендуется подготовить и утвердить содержание следующих планов:
• Разработки и реализации всего ЖЦ ПО (модель ЖЦ ПО, компоненты, внешняя и технологическая среда проектирования)
• Верификации и тестирования (методы и средства устранения дефектов и достижения необходимых показателей качества)
• Реализации процессов интеграции компонентов• Управления конфигурацией и сопровождения• Тиражирования, адаптации и внедрения версий ПО, включая
подготовку и обучение пользователей• Документирования процессов и результатов ЖЦ ПО, включая
создание и выпуск эксплуатационной документации• Управления и обеспечения безопасности ПО (методы и
средства гарантирования требуемой безопасности)
![Page 25: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/25.jpg)
Циклы разработки ПО и выходные результаты каждого этапа
Комплекс стандартов ГОСТ 34 можно считать более общим по сравнению со стандартом ЕСПД.
Иерархия стандартов:• комплекс стандартов ГОСТ 34• ГОСТ Р ИСО/МЭК 12207-2010• ГОСТ 19
Ресурсы Internet• http://www.rugost.com/• http://www.gosthelp.ru/
![Page 26: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/26.jpg)
Как изменятся время и стоимость разработки?
![Page 27: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/27.jpg)
Понятие качества программного обеспечения
Качество программного обеспечения
• способность программного продукта при заданных условиях удовлетворять установленным или предполагаемым потребностям (ISO/IEC 25000:2014);
• весь объем признаков и характеристик программ, который относится к их способности удовлетворять установленным или предполагаемым потребностям (ГОСТ Р ИСО/МЭК 9126-93, ISO 8402:94);
• степень, в которой система, компонент или процесс удовлетворяют потребностям или ожиданиям заказчика или пользователя (IEEE Std 610.12-1990).
![Page 28: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/28.jpg)
Надежность – одна из характеристик качества ПО согласно ГОСТ Р ИСО/МЭК 9126-93
![Page 29: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/29.jpg)
Надежность аппаратная и программная
Надежность - это свойство системы выполнять заданные функции, сохраняя во времени значение эксплуатационных показателей в установленных пределах, соответствующих режимам и условиям эксплуатации.
Надежность ПО - сохранение своего статуса качества функционирования за установленный промежуток времени.
Параметр Аппаратная Программная
Зависимость от входных данных не зависит зависит
Характер появления ошибок случайный постоянный
Составные элементы блоки код
![Page 30: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/30.jpg)
Взаимосвязь характеристик качества ПО
Источник: С. Макконнелл
![Page 31: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/31.jpg)
Как изменятся ресурсы на тестирование ПО?
![Page 32: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/32.jpg)
Дополнительные задачи перед группой тестирования
Испытания надежности и функциональной безопасности ставят перед группой тестирования следующие задачи:
• Составление плана и программы проведения испытаний функциональной безопасности
• Разработка тестовых сценариев и динамических моделей внешней среды для генерации тестов
• Отладка тестовых сценариев и генераторов динамических тестов
• Верификация, проверка, выявление и исправление дефектов генераторов динамических тестов
• Определение качества тестов и степени реализации функций и характеристик безопасности
• Пересмотр и корректировка эксплуатационной документации
![Page 33: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/33.jpg)
Изменения в процессах ЖЦ ПО
Основные изменения в процессах ЖЦ ПО
• Создание комплекта документов на каждом этапе ЖЦ ПО• Необходимость адаптации процессов ЖЦ ПО к выбранной
методологии разработки• Увеличение ресурсов на тестирование• Увеличение времени и стоимости разработки
![Page 34: Роль тестирования в сертификации ПО систем с высокими требованиями к надежности и безопасности](https://reader035.vdocuments.site/reader035/viewer/2022081515/558b3d86d8b42a1e058b46b2/html5/thumbnails/34.jpg)
Заключение
Сертификация программного обеспечения – это длительный и трудоемкий процесс, который не может быть бесплатным.
Наличие сертификата соответствия значительно расширяет рынок сбыта продукта заявителя и увеличивает количество продаж.
Сертификация•один из способов обеспечения и повышения надежности
ПО.•это обязательная часть регистрации продукции в России,
чтобы ее можно было продавать.
Ресурсы Internet• http://www.rugost.com/• http://www.gosthelp.ru/