Узнайте, в чем разница между верификацией и валидацией при разработке аппаратного обеспечения. Изучите планирование V&V, V-модель и распространенные ошибки, которых следует избегать.
Иногда аппаратная разработка может выглядеть совершенно правильной на испытательном стенде: MCU стабильно работает на частоте 160 МГц, датчики обмениваются данными по I²C, а источник питания удерживает 12 В при полной нагрузке. Но продукт, который формально соответствует всем требованиям, все равно может не оправдать ожиданий, когда попадет к пользователю.
Верификация и валидация (V&V) помогают закрыть разрыв между соответствием требованиям и соответствием реальным потребностям. Некоторые команды по аппаратной разработке путают эти два термина. Команды, которые рассматривают V&V как один этап или пропускают один из них, потому что прототип «и так работает», могут столкнуться с проблемами слишком поздно: во время аудита или уже после вывода продукта в эксплуатацию.
В этой статье мы объясним, что означают верификация и валидация в аппаратной разработке и чем они отличаются. Мы также рассмотрим, как V&V связаны с требованиями через V-модель, как создать план V&V и как избежать распространенных ошибок.
Верификация — это процесс проверки того, соответствует ли аппаратная часть заданным требованиям и инженерным спецификациям. Она отвечает на вопрос: правильно ли мы создаем продукт?
Цель верификации — заменить предположения доказательствами. Вместо того чтобы просто считать, что схема работает, команда сопоставляет проект или физический прототип с заданными требованиями и фиксирует доказательства того, выполняются они или нет.
Верификация может включать такие действия, как:
Как это выглядит на практикеВ аппаратной разработке верификация начинается задолго до появления готового продукта. Рассмотрим требование: «Вход 12 В должен оставаться в пределах ±5% при полной нагрузке». Его верификация выполняется поэтапно: сначала проверяются номиналы компонентов на схеме, затем выполняется моделирование питания, и наконец проводятся измерения прототипа на стенде. Каждый этап добавляет часть доказательной базы. |
Валидация — это процесс проверки того, действительно ли аппаратная часть работает для своего предполагаемого применения, пользователей и рабочей среды. Она отвечает на вопрос: тот ли продукт мы создаем?
Главная цель валидации — предоставить доказательства того, что продукт действительно решает ту задачу, для которой он был разработан. Конструкция может соответствовать всем техническим требованиям и все же оказаться недостаточно хорошей, если в реальных условиях эксплуатации она работает не так, как ожидается. Валидация дает уверенность в том, что вся система в целом подходит для той задачи, которую заинтересованные стороны действительно хотят с ее помощью решать.
Валидация может включать такие действия, как:
Как это выглядит на практикеПредположим, коммерческий дрон успешно проходит все стендовые испытания. Чтобы провести его валидацию, дрон эксплуатируют в той среде, для которой он был разработан. Если выясняется, что высокая влажность вызывает дрейф датчиков или что прямой солнечный свет делает светодиоды индикации нечитаемыми, то продукт может быть верифицирован по своим техническим требованиям, но все равно не пройти валидацию для предполагаемого применения. |
Верификация и валидация в процессе аппаратной разработки.
V&V часто используют одни и те же инженерные инструменты: испытания, измерения, инспекции и анализ. Разница заключается в том, что именно вы пытаетесь доказать полученным результатом.
Например, испытание в термокамере может верифицировать, что продукт работает в заданном диапазоне от −20 °C до 60 °C. Валидация же задает вопрос, соответствует ли этот диапазон реальной потребности. Если продукт установлен в корпусе, находящемся под прямыми солнечными лучами и нагревающемся до 75 °C, он может успешно пройти верификацию и все равно отказать в эксплуатации. Та же термокамера может использоваться и для валидации, если испытание проводится по температурному профилю, с которым готовый продукт, как ожидается, столкнется в реальных условиях.
Верификация обычно дает более прямой результат «прошел/не прошел» относительно заданного требования и может применяться к отдельным требованиям, проектам или аппаратным элементам. Валидация рассматривает систему шире — как интегрированное целое — и оценивает, приемлемо ли ее общее поведение для предполагаемого применения.
В процессе, управляемом требованиями, верификация формирует доказательства того, что отдельные технические требования выполнены. Затем валидация проверяет, соответствует ли готовый продукт потребности заинтересованных сторон в реальных условиях эксплуатации, и может показать, что какое-то требование было неполным или неверным.
Аспект | Верификация | Валидация |
Вопрос | Правильно ли мы создаем продукт? | Тот ли продукт мы создаем? |
С чем сравнивается | Требования, спецификации и характеристики проекта | Предполагаемое применение и потребности заинтересованных сторон |
Фокус | Отдельные требования, проектные файлы и технические характеристики на каждом уровне системы | Готовый продукт целиком в контексте его предполагаемого применения |
Сроки | Начинается рано и продолжается на протяжении всей разработки | Начинается с валидации требований и возвращается, когда принимает форму готовый продукт |
Используемые методы | Анализ, инспекция, расчеты, моделирование, демонстрация и испытания на соответствие заданным требованиям | Испытания сценариев использования, испытания в условиях окружающей среды, пользовательская оценка и полевые испытания с поддержкой аналитических методов |
Результат | Доказательства того, что аппаратная часть соответствует заданным техническим требованиям | Доказательства того, что готовый продукт соответствует потребностям заинтересованных сторон при предполагаемом применении |
V-модель показывает, как организовать V&V в рамках проекта аппаратной разработки.
V-модель представляет жизненный цикл системы в виде буквы V. Левая сторона начинается с потребностей и ожиданий заинтересованных сторон, преобразует их в системные требования и требования к подсистемам, а затем уточняет их до архитектуры и детального проекта. Внизу V находится реализация. Правая сторона поднимается обратно вверх через интеграцию, с испытаниями на уровне компонентов, подсистем и готового продукта.
V-модель процесса системной инженерии.
Каждому уровню слева соответствует уровень испытаний справа, и эти соответствия обеспечивают прослеживаемость. Каждое требование связывается с действием V&V и доказательствами, которыми оно проверяется, причем команда планирует это действие еще в процессе разработки.
Например, требование о том, что вход 12 В должен оставаться в пределах ±5% при полной нагрузке, можно проверить на нескольких уровнях: по номиналам компонентов на схеме, с помощью моделирования питания платы и путем измерения на собранном изделии.
В рамках этой структуры у V&V разные роли:
К тому моменту, когда аппаратная часть доходит до этапа испытаний, команда уже должна знать, что именно нужно проверять, к каким требованиям это относится, как будет оцениваться результат и какие доказательства необходимо зафиксировать. План V&V объединяет все эти решения в одном документе.
План V&V обычно охватывает шесть решений:
В то время как программную ошибку часто можно исправить обновлением, проблему в аппаратной конструкции проще всего устранить до изготовления плат. Многие из этих проблем начинаются с того, как сформулированы требования и как спланированы V&V.
В таблице ниже показаны распространенные ошибки в V&V и лучшие практики, которые помогают их избежать.
Распространенная ошибка | Как ее избежать |
Рассматривать verification и validation как одну и ту же деятельность | Планируйте verification (на соответствие требованиям) и validation (на соответствие потребностям заинтересованных сторон) как отдельные, четко различающиеся виды деятельности. |
Формулировать расплывчатые или непроверяемые требования | Проверяйте требования на ясность и проверяемость до начала проектирования и прописывайте критерии приемки одновременно с требованиями. |
Откладывать планирование V&V до тех пор, пока аппаратная часть не будет спроектирована и изготовлена | Планируйте V&V сразу после появления требований и определяйте, как они будут проверяться, до завершения реализации. |
Не устанавливать четкие приоритеты среди действий V&V | Расставляйте приоритеты для действий V&V на основе критически важных для безопасности требований, технических рисков и условий эксплуатации. |
Полагаться только на испытания физического оборудования | Подбирайте для каждого требования наиболее подходящий метод: обзоры, инспекция, анализ, моделирование, демонстрация или испытания. |
Не учитывать мнение relevant stakeholders | Привлекайте пользователей и ключевых заинтересованных сторон начиная с первоначальных требований и до финальной validation, а также включайте инженеров-разработчиков в процесс verification. |
Не документировать результаты и свидетельства V&V | Сохраняйте записи и свидетельства по каждому действию V&V, обеспечивая полную прослеживаемость до соответствующего требования. |
Изменения аппаратной части на поздних этапах разработки обычно обходятся дороже, чем изменения программного обеспечения. Повторный выпуск платы, изменение оснастки или неудачная сертификационная проверка требуют реального времени и бюджета, а аппаратную часть в уже поставленном устройстве сложно «патчить». Именно поэтому verification и validation имеют особое значение в аппаратной разработке. При совместном применении они дают командам четыре основных преимущества:
Разработка аппаратной части включает множество требований и результатов испытаний, и их ручное отслеживание по всему проекту может быть сложной задачей. В итоге команды могут получить набор разрозненных файлов и несвязанных инструментов, таких как:
Для команд, которые хотят планировать и отслеживать действия V&V вместе с требованиями в общем рабочем пространстве, Requirements Portal связывает требования с планами verification, тестовыми прогонами, свидетельствами и историей изменений. Так команды могут видеть, что уже проверено, а что еще требует внимания.
Кратко: verification доказывает, что ваша аппаратная часть соответствует спецификации, а validation — что она действительно работает для пользователя. Чтобы это работало, V&V не может быть лишь финальным чек-листом. Его нужно встраивать в процесс разработки продукта с первого дня.
Если вы хотите глубже разобраться в подходах к V&V, полезно продолжить с такими материалами:
Если вы готовы перейти от теории к практике, попробуйте Requirements Portal, чтобы связывать тест-кейсы с требованиями и электронными проектами, отслеживать покрытие и сохранять инженерные свидетельства.
Нет. Verification проверяет аппаратную часть на соответствие определенным требованиям. Validation проверяет, отражают ли требования и сам продукт потребности заинтересованных сторон в реальном использовании.
Оба направления нужно планировать на раннем этапе, и ни одно из них не является единственной фазой. Verification начинается с обзоров, анализа и моделирования по мере развития проекта. Validation начинается с проверки требований на соответствие потребностям заинтересованных сторон и становится более заметной по мере формирования интегрированного продукта.
К распространенным методам V&V относятся обзоры, инспекции, анализ, моделирование, демонстрации и испытания. Один и тот же метод может поддерживать как verification, так и validation — в зависимости от того, проверяет ли он заданное требование или оценивает продукт в контексте предполагаемого использования.