Оценка полноты основанных на требованиях проверок в соответствии с ISO 26262

Вы можете использовать Панель тестирования моделей для оценки качества и полноты проверки деятельности, основанной на требованиях, в соответствии с ISO 26262-6: 2018. Приборная панель облегчает эту деятельность, отслеживая трассируемость между требованиями, тестами и результатами тестирования, а также предоставляя сводные данные полноты проверки и структурного покрытия. Приборная панель анализирует программные продукты реализации и верификации в проекте и обеспечивает:

  • Полнота и метрики качества для основанных на требованиях тестов в соответствии с ISO 26262-6: 2018, пункт 9,4,3

  • Полнота и метрики качества результатов испытаний, основанных на требованиях, в соответствии с ISO 26262-6: 2018, пункт 9,4,4

  • Список программных продуктов в проекте, организованный модулями

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

Откройте инструментальную панель тестирования модели и соберите результаты метрики

Чтобы проанализировать программные продукты проверки с помощью панели мониторинга тестирования модели:

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

  2. Откройте инструментальную панель. На вкладке Project нажмите Model Testing Dashboard.

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

  4. На панели « Программных продуктах» инструментальная панель организует программные продукты, такие как требования, контрольные примеры и результаты тестов, в моделях, которые они отслеживают. Чтобы просмотреть результаты метрики для модуля db_DriverSwRequest в примере проекта, на панели « Программных продуктах», нажмите db_DriverSwRequest. Инструментальная панель заполняет виджеты данными из последнего метрического набора для модуля.

    Примечание

    Панель мониторинга тестирования модели рассматривает каждую модель в проекте, которая представляет один программный модуль. Можно сконфигурировать приборную панель для распознавания моделей программных модулей при помощи кнопки Options. Другие темы, которые документируют инструментальную панель, не относящиеся к ISO 26262-6, используют термин «компонент» для описания модуля, которую может анализировать инструментальная панель. Когда термин компонент появляется в других темах о панели мониторинга, он относится к архитектурному уровню модуля, как описано в ISO 26262-6: 2018.

Model Testing Dashboard showing metric results for the db_DriverSwRequest unit

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

Проверка тестового примера

Чтобы убедиться, что модуль удовлетворяет его требованиям, вы создаете тесты для модуля на основе требований. ISO 26262-6, пункт 9.4.3 требует, чтобы тесты для модуля были получены из требований. Когда вы создаете тест для требования, вы добавляете трассируемости связь между тестом и требованием, как описано в Ссылке Требования к тестам ( Simulink Requirements) и Установить Трассируемость требований для Проверки (Simulink Test). Трассируемость позволяет вам отслеживать, какие требования были проверены вашими тестами, и идентифицировать требования, которые модель не удовлетворяет. Пункт 9.4.3 требует трассируемости между требованиями и тестами, а также проверки правильности и полноты тестов. Чтобы оценить правильность и полноту тестов для модуля, используйте метрики в Test Case Analysis разделе панели управления тестирования модели.

Ниже приведен пример контрольного списка, предоставленного для помощи в рассмотрении правильности и полноты теста в отношении ISO 26262-6. Для каждого вопроса выполните действие проверки с помощью соответствующей метрики панели мониторинга и примените соответствующее исправление. Этот контрольный список представлен в качестве примера и должен быть рассмотрен и изменен в соответствии с потребностями вашего приложения.

Элемент контрольного спискаПросмотр действияМетрика панели управленияЗафиксировать
1 - Каждый пример теста прослеживается до требования?

Проверьте, что 100% тестов для модуля связаны с требованиями, просматривая Tests Linked to Requirements.

Tests Linked to Requirements

Dial widget indicating percentage of tests with requirements and count widget indicating one unlinked test

Идентификатор метрики - TestCaseWithRequirementPercentage

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

Для каждого несвязанного теста добавьте ссылку на требование, которое проверяет тест, как описано в разделе Исправление проблем проверке, основанного на требованиях.

2 - Каждый пример теста прослеживается до правильных требований?

Для каждого теста вручную проверьте, что требование, с которым он связан, верно. Щелкните виджет Tests Linked to Requirements, чтобы просмотреть таблицу тестов. Чтобы увидеть требования, которые отслеживаются в тесте, в столбце Artifacts щелкните стреле слева от имени теста.

Tests Linked to Requirements

Table of test cases and linked requirements

Идентификатор метрики - TestCaseWithRequirements

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

Для каждой ссылки на неправильное требование удалите ссылку. Если в тесте отсутствует ссылка на правильное требование, добавьте правильную ссылку.

3 - Покрывают ли тесты все требования?

Проверьте, что 100% требований к модулю связаны с тестами, просматривая Requirements Linked to Tests.

Requirements Linked to Tests

Dial widget indicating percentage of requirements with test cases and count widget indicating unlinked requirements

Идентификатор метрики - RequirementWithTestCasePercentage

Для получения дополнительной информации смотрите Требования к процентам с тестами.

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

4 - Определяют ли тесты ожидаемые результаты, включая критерии прохождения/непрохождения?Вручную проверьте тесты каждого типа. Щелкните виджет Tests by Type, чтобы просмотреть таблицу тестов и их типов. Откройте каждый контрольный пример в Диспетчере тестов с помощью гиперссылок в столбце Artifact. Базовые тесты должны определять базовые критерии. Для контрольных примеров моделирования проверьте, что каждый контрольный пример определяет критерии прохождения/непрохождения с помощью оценок, как описано в Assess Simulation и Compare Output Data (Simulink Test).

Tests by Type

Table that lists each test case and its type

Идентификатор метрики - TestCaseType

Для получения дополнительной информации смотрите Тип теста.

Для каждого тестового примера, который не определяет ожидаемые результаты, в Диспетчере тестов добавьте ожидаемые результаты и пройдите/не пройдите критерий.
5 - Каждый тест правильно проверяет требование, которое он отслеживает?

Вручную проверьте ссылки на требования и содержимое для каждого теста. Щелкните виджет Tests Linked to Requirements, чтобы просмотреть таблицу тестов. Чтобы увидеть требования, которые отслеживаются в тесте, в столбце Artifact щелкните стреле слева от имени теста. Используйте гиперссылки, чтобы открыть тест и требование, и проверьте, что тест правильно проверяет требование.

Tests Linked to Requirements

Table of test cases and linked requirements

Идентификатор метрики - TestCaseWithRequirements

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

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

Обзор результатов тестирования

После запуска тестов на модуль необходимо просмотреть результаты, чтобы проверить, что тесты выполнены, прошли и достаточно протестированы модули. Пункт 9,4,4 в ISO 26262-6: 2018 требует, чтобы вы анализировали покрытие требований по каждому модулю. Проверьте, что все тесты протестировали предполагаемую модель и прошли. Кроме того, измерьте охват модуля путем сбора результатов покрытия модели в тестах. Чтобы оценить охват проверки требованиями к модулю, используйте метрики в Test Result Analysis разделе панели управления тестирования модели.

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

Элемент контрольного спискаПросмотр действияМетрика панели управленияЗафиксировать
1 - Каждый результат теста прослеживается до тестового примера?Используйте только результаты тестирования, которые появляются на панели мониторинга. Результаты тестирования, которые не отслеживаются до теста, не отображаются на панели мониторинга. Щелкните виджет в разделе Test Status, чтобы просмотреть таблицу тестов и результатов их трассировки.

Model Test Status

Table of failed test cases

Идентификатор метрики - TestCaseStatusDistribution

Для получения дополнительной информации смотрите Распределение статуса теста.

Повторно запустите тесты, которые результаты должны проследить, и экспортируйте новые результаты.
2 - Каждый контрольный пример прослеживается до результата теста?Проверяйте, что нулевые тесты не протестированы и нулевые тесты отключены.

Model Test Status

Widget showing count of untested test cases

Идентификатор метрики - TestCaseStatusDistribution

Для получения дополнительной информации смотрите Распределение статуса теста.

Для каждого отключенного или непроверенного теста в Диспетчере тестов включите и запустите тест.
3 - Все ли тесты были выполнены?Проверяйте, что нулевые тесты не протестированы и нулевые тесты отключены.

Model Test Status

Widget showing count of untested test cases

Идентификатор метрики - TestCaseStatusDistribution

Для получения дополнительной информации смотрите Распределение статуса теста.

Для каждого отключенного или непроверенного теста в Диспетчере тестов включите и запустите тест.
4 - Все тесты проходят?

Проверяйте, что прошло 100% тестов для модуля.

Model Test Status > Passed

Dial widget indicated percentage of test cases that passed

Идентификатор метрики - TestCaseStatusPercentage

Для получения дополнительной информации смотрите Процент состояния теста.

Для каждого непройденного теста проверьте отказ в Test Manager и исправьте соответствующий контрольный пример или элемент проекта в модели.
5 - Все результаты теста включают результаты покрытия?Вручную проверьте результаты каждого теста в Диспетчере тестов, чтобы убедиться, что они содержат результаты покрытия.Не применяетсяДля каждого результата тестирования, который не включает покрытие, откройте тест в Диспетчере тестов и включите набор покрытия. Еще раз запустите тест.
6 - Достигнуты ли требуемые структурного покрытия цели для каждого модуля?Проверьте, что тесты достигли 100% -ного покрытия модели для типов покрытия, которые требуются вашему модульному тестированию. Для определения необходимых типов покрытия учитывайте уровень безопасности вашего программного блока и используйте таблицу 9 в пункте 9.4.4 ISO 26262-6: 2018.

Model Coverage

Model coverage results chart

Идентификатор метрики - ExecutionCoverageBreakdown

Идентификатор метрики - ConditionCoverageBreakdown

Идентификатор метрики - DecisionCoverageBreakdown

Идентификатор метрики - MCDCCoverageBreakdown

Для получения дополнительной информации смотрите:

Для каждого элемента проекта, который не охвачен, анализируйте, чтобы определить причину пропущенного покрытия. Анализ может выявить недостатки в тестах, требованиях или реализации. При необходимости добавьте тесты, чтобы покрыть элемент. Кроме того, добавьте фильтр обоснования, который обосновывает пропущенное покрытие, как описано в Create, Edit и View Coverage Filter Rules (Simulink Coverage).
7 - Были ли недочеты приемлемо обоснованы?

Вручную проверьте обоснования покрытия. Щелкните на панели в Model Coverage виджете, чтобы просмотреть таблицу результатов для соответствующего типа покрытия. Чтобы открыть результат тестирования в Диспетчере тестов для дальнейшего просмотра, щелкните гиперссылку в столбце Artifacts.

Model Coverage

Table of decision coverage results

Идентификатор метрики - ExecutionCoverageBreakdown

Идентификатор метрики - ConditionCoverageBreakdown

Идентификатор метрики - DecisionCoverageBreakdown

Идентификатор метрики - MCDCCoverageBreakdown

Для получения дополнительной информации смотрите:

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

Верификация модулей в соответствии со стандартом ISO 26262

Панель Модели Testing Dashboard предоставляет информацию о качестве и полноте проверки действий, основанных на требованиях к единицам измерения. Чтобы соответствовать ISO 26262-6: 2018, необходимо также протестировать программное обеспечение на других архитектурных уровнях. ISO 26262-6: 2018 описывает податливость требования к этим уровням проверки:

  • Модульное тестирование в таблице 7, метод 1j

  • Интеграционная проверка программного обеспечения в таблице 10, метод 1а

  • Встроенное программное обеспечение проверки в таблице 14, метод 1а

Общий процесс верификации, подробно описанный в пункте 9 стандарта ISO 26262-8: 2018, включает дополнительную информацию о том, как вы можете систематически достигать проверки для каждого из этих уровней с помощью планирования, спецификации, выполнения, оценки и документации тестов. В этой таблице показов, как Панель тестирования модели применяется к требованиям ISO 26262-8: 2018, пункт 9 для уровня модульного тестирования и дополнительные действия, необходимые для отображения податливости.

ТребованиеАргумент податливостиДополнительные мероприятия
9.4.1 - Возможности проверочной деятельностиПанель Модели Testing Dashboard применяется ко всем программным модулям, связанным и не связанным с безопасностью.Не применяется
9.4.2 - Методы верификацииПанель мониторинга тестирования модели предоставляет сводные данные о завершении основанного на требованиях проверки (Таблица 7, метод 1j), включая представление о результатах тестирования.

Когда это применимо, примените один или несколько из этих других методов верификации:

  • Проверка анализа и анализа вручную списка

  • Применение других инструментов, таких как инструмент статического анализа кода, анализ потока управления и анализ потока данных

  • Разработка дополнительных тестов, таких как интерфейсные тесты, тесты на инъекцию отказов и сравнение между ними

9.4.3 - Методы вывода тестовМодель управления модельным тестированием предоставляет несколько способов выполнить требования программного модуля и соответствующие тесты, что помогает вам вывести контрольные примеры из требований.Можно также вывести тесты с помощью других инструментов, таких как Simulink® Design Verifier™.
9.4.4 - Требования и структурное покрытие

Model Testing Dashboard помогает показать:

  • Полнота покрытия требований

  • Ветвь/заявление и покрытие модели MCDC, достигнутое тестированием

  • Обоснование достаточности достигнутого охвата

Инструментальная панель обеспечивает структурное покрытие только на уровне модели. Для отслеживания структурного покрытия на уровне кода можно использовать другие инструменты.
9.4.5 - Тестовое окружениеПанель мониторинга тестирования модели помогает в основанном на требованиях проверке на уровне модели.Примените обратные сравнительные тесты, чтобы убедиться, что поведение модели эквивалентно сгенерированному коду.

Ссылки:

  • ISO 26262-4: 2018 (en) Дорожные транспортные средства - Функциональная безопасность - Часть 4: Разработка продукта в уровень системы, Международная организация стандартизации

    ISO 26262-6: 2018 (en) Дорожные автомобили - Функциональная безопасность - Часть 6: Разработка продукта на уровне программного обеспечения, Международная организация стандартизации

    ISO 26262-8: 2018 (en) Дорожные транспортные средства - Функциональная безопасность - Часть 8: Вспомогательные процессы, Международная организация стандартизации

См. также

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте