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

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

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

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

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

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

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

Анализировать артефакты тестирования с помощью Модели, Тестирующей Инструментальную панель:

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

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

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

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

    Примечание

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

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

Метрический ID — TestCaseWithRequirementPercentage

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

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

2 — Делает каждую трассировку теста к правильным требованиям?

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

Tests Linked to Requirements

Table of test cases and linked requirements

Метрический ID — 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

Метрический ID — RequirementWithTestCasePercentage

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

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

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

Tests by Type

Table that lists each test case and its type

Метрический ID — TestCaseType

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

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

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

Tests Linked to Requirements

Table of test cases and linked requirements

Метрический ID — TestCaseWithRequirements

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

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

Анализ результатов испытаний

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

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

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

Model Test Status

Table of failed test cases

Метрический ID — TestCaseStatusDistribution

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

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

Model Test Status

Widget showing count of untested test cases

Метрический ID — TestCaseStatusDistribution

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

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

Model Test Status

Widget showing count of untested test cases

Метрический ID — TestCaseStatusDistribution

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

Для каждого отключенного или непротестированного теста, в менеджере по Тесту, включают и запускают тест.
4 — Делают всю передачу тестов?

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

Model Test Status > Passed

Dial widget indicated percentage of test cases that passed

Метрический ID — TestCaseStatusPercentage

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

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

Model Coverage

Model coverage results chart

Метрический ID — ExecutionCoverageBreakdown

Метрический ID — ConditionCoverageBreakdown

Метрический ID — DecisionCoverageBreakdown

Метрический ID — MCDCCoverageBreakdown

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

Для каждого элемента дизайна, который не покрыт, анализируйте, чтобы определить причину пропущенного покрытия. Анализ может показать недостатки в тестах, требованиях или реализации. При необходимости добавьте тесты, чтобы покрыть элемент. В качестве альтернативы добавьте фильтр выравнивания, который выравнивает по ширине пропущенное покрытие, как описано в Создают, Редактирование и Правила Фильтра Покрытия Представления (Simulink Coverage).
7 — недостатки были приемлемо выровнены по ширине?

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

Model Coverage

Table of decision coverage results

Метрический ID — ExecutionCoverageBreakdown

Метрический ID — ConditionCoverageBreakdown

Метрический ID — DecisionCoverageBreakdown

Метрический ID — MCDCCoverageBreakdown

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

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

Модульная верификация в соответствии с ISO 26262

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

  • Тестирование программного блока в Таблице 7, методе 1j

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

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

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

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

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

  • Ручной анализ и аналитический контрольный список

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

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

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

Модель, Тестирующая Инструментальную панель, помогает в показе:

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

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

  • Объяснение для достаточности достигнутого покрытия

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

Ссылки:

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

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

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

Смотрите также

Похожие темы