Статус документа
Статус документа

ГОСТ Р 58976-2020/ISO/TR 80002-2:2017 Изделия медицинские. Программное обеспечение. Часть 2. Валидация программного обеспечения, используемого в системах качества медицинских изделий

Приложение A
(справочное)

Набор инструментов


A.1 Введение

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

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

- полная: выполнение всей деятельности в любом случае;

- адаптированная: выбор и осуществление уместных/подходящих частей деятельности;

- выборочная: выбор и осуществление необходимой деятельности.

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

A.2 Структура набора инструментов

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

В отношении каждой деятельности, приведенной в таблице А.1, приводится ее краткое описание с пояснением вклада, который эта деятельность привносит в процесс валидации. Правый столбец также содержит примеры методов, которые можно использовать для выполнения поименованной в левом столбце деятельности.

Таблица A.1 - Стадия разработки: определение

Деятельность

Определение

Определение требований к процессу (полная схема)

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

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

Анализ риска отказа процесса (полная схема)

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

Предусмотренное применение (адаптированная схема)

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

Элементы предусмотренного применения:

- цель и назначение программного обеспечения;

- требования к использованию программного обеспечения;

- требования к программному обеспечению

Планирование валидации (полная схема)

Планирование валидации выполняется в два этапа:

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

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

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

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

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

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

Деятельность по определению методологии и средств управления жизненным циклом, которые будут использоваться на этапе разработки полного жизненного цикла программного обеспечения в системе менеджмента качества. Обычно требуется только для сложного или программного обеспечения с повышенным риском. Для некоторого программного обеспечения применение МЭК 62304:2006 (включая изменение 1:2015) в качестве стандарта на процессы может быть особенно полезным для некоторых видов программного обеспечения

Планирование менеджмента риска (полная схема)

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

Идентификация мер по управлению риском в производственном или бизнес-процессе (полная схема)

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



Таблица A.2 - Стадия разработки: имплементация

Деятельность

Определение

Анализ отказов программного обеспечения (анализ риска) (полная схема)

Анализ отказов (сбоев) программного обеспечения сводится к установлению степени их влияния на соответствующий процесс и проблемных аспектов, идентифицированных при анализе отказов процесса

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

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

Спецификация проекта (выборочная схема)

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

Анализ проектирования и разработки (выборочная схема)

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

Идентификация мер по управлению риском в рамках разработки программного обеспечения (полная схема)

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

Анализ кода или верификация кода (выборочная схема)

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

Анализ прослеживаемости (выборочная схема)

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

Аудит поставщиков (выборочная схема)

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



Таблица A.3 - Стадия разработки: испытания (тестирование)

Деятельность

Определение

Планирование проведения испытаний (выборочная схема)

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

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

Модульное тестирование (выборочная схема)

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

Верификация данных (выборочная схема)

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

Интеграционное тестирование (выборочная схема)

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

Тестирование по сценариям использования (выборочная схема)

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

Тестирование программных интерфейсов (выборочная схема)

Относится к утверждению интерфейса между программными приложениями с учетом полного пути передачи данных от выхода к входу. Может быть выполнено путем прямого тестирования или 100%-ной верификации данных. Деятельность по тестированию должна включать стратегии, которые обеспечивают должную работу интерфейса в рамках требований спецификации или в границах условий как для нормальных, так и для отклоняющихся от нормы случаев

Регрессионное тестирование (выборочная схема)

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

Набор тестов, предоставленный поставщиком (выборочная схема)

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

Тестирование системы программного обеспечения (выборочная схема)

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

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

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

Тестирование по сценариям использования (выборочная схема)

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

Испытание в нормальных условиях (выборочная схема)

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

Тестирование устойчивости (Стрессовое тестирование) (выборочная схема)

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

Методы идентификации достаточного набора таких тестов включают разделение по классам эквивалентности, анализ граничных значений и идентификацию особых случаев (угадывание ошибок)

Тестирование с фокусом на выходные данные (выборочная схема)

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

Тестирование набором входных данных (выборочная схема)

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

Бета-тестирование (выборочная схема)

Тестирование программного обеспечения изготовителем в реальной среде применения на небольшом наборе пользователей

Тестирование рабочих характеристик (выборочная схема)

Измеряет, насколько хорошо система работает в соответствии с требуемым временем отклика, использованием центрального процессора (ЦП) и другими количественными характеристиками



Таблица A.4 - Стадия разработки: развертывание

Деятельность

Определение

Анализ используемых пользователем процедур (выборочная схема)

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

Внутреннее обучение по применению (выборочная схема)

Относится к документируемым учебным мероприятиям, характерным для программного обеспечения

Установочная квалификация (выборочная схема)

Означает установление уверенности в том, что программное обеспечение установлено и функционирует в соответствии с документированными инструкциями по установке (IQ)

Операционная и эксплуатационная квалификация (в процессе осуществления валидации) (выборочная схема)

Операционная квалификация (QQ) означает достижение уверенности в том, что производственный процесс и связанные с ним системы способны последовательно функционировать в установленных пределах и допусках. Эксплуатационная квалификация (РQ) означает достижение уверенности в результативности и воспроизводимости процесса

Окончательные приемочные испытания (выборочная схема)

Окончательные приемочные испытания относятся к тестам, применяемым к системе непосредственно перед финальным развертыванием. Также известны как тестирование ввода в эксплуатацию

Аттестация оператора (выборочная схема)

Является подтверждением компетентности обученных лиц