Набор инструментов
A.1 Введение
Этот набор инструментов предоставляет перечень видов деятельности по укреплению доверия к функционированию программного обеспечения, которая может быть проведена для достижения цели установления требований по его валидации. Перечень не является исчерпывающим и представляет собой стартовый набор, основанный на текущих знаниях в области разработки программного обеспечения. Некоторые из этих видов деятельности частично совпадают или могут использоваться совместно (например, испытание в нормальных условиях часто является частью тестирования системы программного обеспечения, при условии, что основное внимание уделяется ценности этой деятельности). Эти виды деятельности должны использоваться в качестве основы для планирования и выполнения валидации.
Выбор и осуществление того или иного вида деятельности должны соответствовать риску, связанному с программным обеспечением. С целью обоснования сделанного выбора деятельность в наборе инструментов категорирована и обозначена согласно следующим схемам:
- полная: выполнение всей деятельности в любом случае;
- адаптированная: выбор и осуществление уместных/подходящих частей деятельности;
- выборочная: выбор и осуществление необходимой деятельности.
Инструменты могут быть подобраны для определения видов деятельности, подходящих для использования в рамках конкретной организации, и могут изменяться или совершенствоваться по мере изменения технологий и расширения опыта, внедряя, таким образом, новые передовые методы разработки программного обеспечения. Там, где применимо, некоторые виды деятельности также необходимо будет установить в стандартных процедурах.
A.2 Структура набора инструментов
Для удобства и простоты восприятия деятельность подразделяется на пять основных процессов жизненного цикла программного обеспечения в системе менеджмента качества. С целью выбора и идентификации наиболее подходящей деятельности, в зависимости от объема и характера программного обеспечения, на различных стадиях жизненного цикла программного обеспечения в системе менеджмента качества должен применяться подход на основе критического мышления.
В отношении каждой деятельности, приведенной в таблице А.1, приводится ее краткое описание с пояснением вклада, который эта деятельность привносит в процесс валидации. Правый столбец также содержит примеры методов, которые можно использовать для выполнения поименованной в левом столбце деятельности.
Таблица A.1 - Стадия разработки: определение
Деятельность | Определение |
Определение требований к процессу (полная схема) | Деятельность по определению рассматриваемого производственного процесса или процесса системы качества для его частичной или полной автоматизации посредством использования программного обеспечения. Деятельность также описывает любые верификационные или предупреждающие меры в рамках процесса, которые можно учитывать при выполнении анализа риска процесса или программного обеспечения. |
Анализ риска отказа процесса (полная схема) | Деятельность по установлению степени влияния отказа процесса на безопасность и результативность изделия, производственный персонал, окружающую среду или систему качества |
Предусмотренное применение (адаптированная схема) | Для простого программного обеспечения результаты этой деятельности могут состоять из нескольких предложений или пунктов. Для большого и сложного программного обеспечения эта деятельность может привести к созданию обширной документации и подробных требований к программному обеспечению. Риск также является важным фактором при установлении масштаба этой деятельности. |
Планирование валидации (полная схема) | Планирование валидации выполняется в два этапа: |
Официальный анализ требований к программному обеспечению (выборочная схема) | Деятельность (процесс, обсуждение и т.д.), при осуществлении которой заинтересованные стороны рассматривают и согласовывают требования к программному обеспечению на основе его предусмотренного применения |
Выбор модели жизненного цикла разработки программного обеспечения в системе менеджмента качества (выборочная схема) | Деятельность по определению методологии и средств управления жизненным циклом, которые будут использоваться на этапе разработки полного жизненного цикла программного обеспечения в системе менеджмента качества. Обычно требуется только для сложного или программного обеспечения с повышенным риском. Для некоторого программного обеспечения применение МЭК 62304:2006 (включая изменение 1:2015) в качестве стандарта на процессы может быть особенно полезным для некоторых видов программного обеспечения |
Планирование менеджмента риска (полная схема) | Деятельность связана с планированием применения менеджмента риска к программному обеспечению. Результатом планирования менеджмента риска является план, устанавливающий подход к анализу проблемных областей программного обеспечения относительно риска, а также выбор методов, с помощью которых можно анализировать риски, например анализ видов и последствий отказов (FMEA), анализ дерева неисправностей или другие инструменты анализа |
Идентификация мер по управлению риском в производственном или бизнес-процессе (полная схема) | Эта деятельность представляет собой механизм для идентификации мер по управлению риском или опасностей (например, процедурный контроль). Он предполагает постоянный мониторинг, проводимый с целью обеспечения того, что элементы управления реализованы и результативны |
Таблица A.2 - Стадия разработки: имплементация
Деятельность | Определение |
Анализ отказов программного обеспечения (анализ риска) (полная схема) | Анализ отказов (сбоев) программного обеспечения сводится к установлению степени их влияния на соответствующий процесс и проблемных аспектов, идентифицированных при анализе отказов процесса |
Анализ документированной архитектуры программного обеспечения (выборочная схема) | Архитектура программного обеспечения устанавливает высокоуровневую структуру элементов программного обеспечения и взаимосвязь между ними. Анализ документированной архитектуры позволяет проверить правильность, полноту и способность выполнять реализуемые программным обеспечением функции |
Спецификация проекта (выборочная схема) | Представляет собой точное изложение того, как будут реализованы требования к программному обеспечению. Обычно включает в себя структуру программного обеспечения или компонентов, алгоритмы, логику управления, структуры данных, информацию об использовании набора данных, форматы ввода и вывода, описания интерфейсов и т.п. |
Анализ проектирования и разработки (выборочная схема) | Анализ проводится для оценки прогресса, технической адекватности и разрешения рисков выбранного подхода к проектированию для одного или нескольких элементов конфигурации |
Идентификация мер по управлению риском в рамках разработки программного обеспечения (полная схема) | Эта деятельность идентифицирует меры по управлению риском или опасности, которые были идентифицированы в ходе оценки рисков. Идентификация мер по управлению риском должна быть итеративным процессом, позволяющим осуществлять непрерывный мониторинг и обеспечивать внедрение и результативность разработанных средств управления (например, процедурные средства контроля, аппаратное резервирование) |
Анализ кода или верификация кода (выборочная схема) | Анализ основан на экспертной оценке исходного кода программного обеспечения, предназначенной для поиска и устранения дефектов и улучшения общего качества кода. Анализ кода и общее качество кода могут быть улучшены путем установления и соблюдения набора общих стандартов кодирования |
Анализ прослеживаемости (выборочная схема) | Этот анализ касается прослеживаемости требований к проектированию, кодированию, тестированию, анализу рисков или опасностей, а также к мерам по управлению риском. Может также включать прослеживаемость в отношении требований к процессу |
Аудит поставщиков (выборочная схема) | Такой аудит представляет собой оценку системы качества поставщиков (вендоров) программного обеспечения в объеме, необходимом для обеспечения уверенности в их способности поставлять безопасное и пригодное для использования программное обеспечение. Возможны различные методы аудита поставщиков |
Таблица A.3 - Стадия разработки: испытания (тестирование)
Деятельность | Определение |
Планирование проведения испытаний (выборочная схема) | Планирование проведения испытаний должно устанавливать общий подход к этой деятельности, результаты которой помогают укрепить уверенность в том, что программное обеспечение соответствует предусмотренному применению. Тем не менее одного тестирования программного обеспечения может быть недостаточно для установления уверенности в том, что программное обеспечение пригодно для использования по назначению. В целях обеспечения комплексного подхода к валидации, в сочетании с тестированием, могут потребоваться другие методы или способы верификации. |
Модульное тестирование (выборочная схема) | Тестирование, которое проводится в целях верификации реализованного в проекте одного элемента программного обеспечения (таких как программный элемент или программный модуль) или набора элементов программного обеспечения |
Верификация данных (выборочная схема) | Верификация данных относится к деятельности, выполняемой для подтверждения правильности данных. Может быть выполнена как часть процесса переноса, преобразования или тестирования данных, а также независимо. По возможности следует использовать статистическую выборку |
Интеграционное тестирование (выборочная схема) | Представляет собой упорядоченную последовательность тестирования, в котором программные элементы и (или) аппаратные элементы объединяются и тестируются для оценивания их взаимодействия до тех пор, пока программное обеспечение не будет интегрировано |
Тестирование по сценариям использования (выборочная схема) | Представляет собой вид функционального тестирования, который игнорирует внутренний механизм или структуру системы/компонента и фокусируется на выходных данных, генерируемых в ответ на выбранные входные данные и условия выполнения. Каждый сценарий использования (применения) может иметь соответствующие входные параметры, каждый параметр может иметь набор значений, определенных для имитации фактических условий использования. Ряд сценариев применения может быть связан с использованием заранее определенных потоков, которые описывают последовательность, выполняющую некоторую задачу |
Тестирование программных интерфейсов (выборочная схема) | Относится к утверждению интерфейса между программными приложениями с учетом полного пути передачи данных от выхода к входу. Может быть выполнено путем прямого тестирования или 100%-ной верификации данных. Деятельность по тестированию должна включать стратегии, которые обеспечивают должную работу интерфейса в рамках требований спецификации или в границах условий как для нормальных, так и для отклоняющихся от нормы случаев |
Регрессионное тестирование (выборочная схема) | Заключается в повторном выполнении тестов, которые программа ранее выполняла правильно, с целью обнаружения ошибок, вызванных изменениями или исправлениями, которые произошли во время разработки и обслуживания программного обеспечения |
Набор тестов, предоставленный поставщиком (выборочная схема) | Поставляемые поставщиком (вендором) наборы тестов могут тестировать все возможности программного решения и обеспечить уверенность в производительности программного обеспечения в среде конечного использования. Однако такие наборы должны оцениваться на предмет соответствия установленному предусмотренному применению и полноте тестирования, включая тестирование для любых установленных мер по управлению риском. Для использования такого набора может потребоваться договорное соглашение, требующее от поставщика поддерживать набор тестов в течение всего срока службы программного обеспечения |
Тестирование системы программного обеспечения (выборочная схема) | Представляет собой процесс тестирования интегрированной системы аппаратного и программного обеспечения для верификации его соответствия установленным требованиям. Такое тестирование может проводиться как в среде разработки, так и в запланированной среде применения. |
Тестирование по сценариям использования (выборочная схема) | Относится к тестированию, выполняемому на основе сценариев использования, включающих альтернативные последовательности и ситуации возникновения ошибок, которые устанавливаются в этих сценариях использования |
Испытание в нормальных условиях (выборочная схема) | Эта деятельность представляет собой тестирование с использованием обычных входных данных |
Тестирование устойчивости (Стрессовое тестирование) (выборочная схема) | Тестирование устойчивости должно показать, что программный продукт функционирует должным образом при вводе неожиданных и (или) некорректных данных. Проводится для оценивания системы или компонента в пределах или за пределами указанных требований. |
Тестирование с фокусом на выходные данные (выборочная схема) | Эта деятельность представляет собой выбор тестовых входных данных и оценивание того, что выбранные (или все) выходы правильно сгенерированы системой. Тестирование с фокусом на выходные данные включает в себя создание набора тестовых сценариев, предназначенных для получения определенных выходных данных в системе. Акцент делается на создании желаемых выходных данных, а не на входных данных, которые инициировали ответ системы |
Тестирование набором входных данных (выборочная схема) | Метод тестирования, с помощью которого формируется комбинация входных данных, с которыми программный блок или система могут столкнуться во время работы |
Бета-тестирование (выборочная схема) | Тестирование программного обеспечения изготовителем в реальной среде применения на небольшом наборе пользователей |
Тестирование рабочих характеристик (выборочная схема) | Измеряет, насколько хорошо система работает в соответствии с требуемым временем отклика, использованием центрального процессора (ЦП) и другими количественными характеристиками |
Таблица A.4 - Стадия разработки: развертывание
Деятельность | Определение |
Анализ используемых пользователем процедур (выборочная схема) | Проверка пользовательских процедур и инструкций, связанных с использованием программного обеспечения. Такой анализ обеспечивает установление применения программного обеспечения надлежащим образом |
Внутреннее обучение по применению (выборочная схема) | Относится к документируемым учебным мероприятиям, характерным для программного обеспечения |
Установочная квалификация (выборочная схема) | Означает установление уверенности в том, что программное обеспечение установлено и функционирует в соответствии с документированными инструкциями по установке (IQ) |
Операционная и эксплуатационная квалификация (в процессе осуществления валидации) (выборочная схема) | Операционная квалификация (QQ) означает достижение уверенности в том, что производственный процесс и связанные с ним системы способны последовательно функционировать в установленных пределах и допусках. Эксплуатационная квалификация (РQ) означает достижение уверенности в результативности и воспроизводимости процесса |
Окончательные приемочные испытания (выборочная схема) | Окончательные приемочные испытания относятся к тестам, применяемым к системе непосредственно перед финальным развертыванием. Также известны как тестирование ввода в эксплуатацию |
Аттестация оператора (выборочная схема) | Является подтверждением компетентности обученных лиц |