exponenta event banner

Изучение состояния и качества тестирования с помощью панели мониторинга тестирования моделей

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

Панель управления анализирует артефакты в проекте, такие как требования, модели и результаты тестирования. Каждая метрика на панели измеряет различные аспекты качества тестирования модели и отражает руководящие принципы в признанных в отрасли стандартах разработки программного обеспечения, таких как ISO 26262 и DO-178C.

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

Изучение тестирования артефактов и метрик для проекта

Откройте проект, содержащий модели и тестовые артефакты. В этом примере в командной строке введите dashboardCCProjectStart.

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

  • На вкладке Проект (Project) щелкните Панель мониторинга тестирования модели (Model Testing Dashboard).

  • В командной строке введите modelTestingDashboard.

При первом открытии панели мониторинга для проекта панель мониторинга должна идентифицировать артефакты в проекте и отслеживать их по моделям. Чтобы выполнить анализ и собрать результаты метрики, щелкните Трассировка (Trace) и Собрать все (Collect All).

На панели инструментов отображаются результаты метрики для модели, выбранной на панели «Артефакты». Чтобы собрать метрические данные для модели, щелкните Собрать результаты (Collect Results). Если требуется собрать метрики для всех моделей в проекте, щелкните Собрать результаты (Collect Results) > Собрать все результаты (Collect All Results). Если данные метрики были ранее собраны для модели, инструментальная панель заполняется из существующих данных. Для сбора данных для метрики требуется лицензия на продукт, поддерживающий нижележащие артефакты, такие как Simulink Requirements, Simulink Test или Simulink Coverage. Однако для просмотра существующих метрических данных лицензия не требуется.

Просмотр отслеживания артефактов проектирования и тестирования

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

  • Функциональные требования - требования, связанные с моделью со ссылкой, в которой для параметра Тип задано значение Implements или косвенно связаны с моделью посредством других требований. Создайте или импортируйте эти требования в файл требований (.slreqx) с использованием требований Simulink.

  • Design - файл модели, содержащий тестируемый компонент, а также библиотеки и словари данных, используемые моделью.

  • Тестовые случаи (Test Cases) - тестовые случаи, в которых выполняется модель или библиотека. Создайте эти тестовые примеры в файле набора тестов с помощью Simulink Test.

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

Артефакт появляется в папке Untraced, если панель мониторинга не отслеживает артефакт по модели компонента. Папка содержит артефакты, в которых отсутствует возможность отслеживания, и артефакты, которые панель мониторинга не может отследить. Если артефакт создает ошибку во время анализа отслеживания, он отображается в папке Ошибки. Дополнительные сведения о неустановленных артефактах и ошибках см. в разделе Трассировка артефактов к компонентам для анализа тестирования модели.

Перейдите к артефакту требования db_DriverSwRequest > Функциональные требования > db_req_funct_spec.slreqx > Отмена обнаружения переключения и щелкните по требованию. На панели «Сведения» отображается имя артефакта и путь к папке проекта, содержащей артефакт. Можно выполнить прокрутку до компонента или свернуть или развернуть список артефактов, щелкнув артефакт правой кнопкой мыши или используя меню справа от панели поиска.

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

На панели «Артефакты» можно собирать и просматривать результаты метрики для каждой модели. Просмотр результатов для модели db_DriverSwRequest, на панели «Артефакты» нажмите db_DriverSwRequest. Чтобы открыть результаты для нескольких компонентов одновременно, щелкните правой кнопкой мыши компонент и выберите команду Открыть на новой вкладке. В верхней части панели инструментов отображается имя модели, временная метка сбора данных и имя пользователя, который собрал данные. Если артефакты в проекте изменяются после сбора результатов, значок Устаревшие метрики показывает, что некоторые виджеты панели мониторинга могут отображать устаревшие данные, которые не включают изменения. Затронутые виджеты выделяются серым цветом. Повторно соберите метрические данные, чтобы обновить устаревшие виджеты данными из текущих артефактов. В этом примере данные на панели мониторинга не устарели.

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

  • Отсутствие прослеживаемости между требованиями и испытаниями

  • Тесты или требования с непропорциональным количеством ссылок

  • Тесты определенных типов, которые необходимо просмотреть

  • Неудачные или отключенные тесты

  • Недостающее покрытие

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

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

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

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

Оценка тестирования и прослеживаемости требований

Стандартной мерой качества тестирования является прослеживаемость между индивидуальными требованиями и проверяющими их испытаниями. Чтобы оценить прослеживаемость тестов и требований, используйте метрические данные в разделе «Анализ тестовых примеров» панели мониторинга. Вы можете быстро найти проблемы в требованиях и тестах, используя сводные данные в виджетах. Щелкните виджет, чтобы просмотреть таблицу с подробными результатами и ссылками, чтобы открыть артефакты.

Требования отсутствуют тесты

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

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

Требования с непропорциональным количеством испытаний

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

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

Отсутствуют требования к тестам

В разделе «Тесты, связанные с требованиями» виджет «Несвязанные» показывает, сколько тестов не связано с требованиями. Добавьте ссылки из этих тестов к требованиям, которые они проверяют. Виджет набора номера «Тесты с требованиями» показывает ход выполнения связывания как процент тестов, связанных с требованиями.

Щелкните на любом виджете в разделе, чтобы просмотреть подробные результаты в таблице Тест, связанной с требованиями. Для каждого тестового случая в таблице отображается исходный файл, содержащий тест, и указывается, связан ли тестовый случай хотя бы с одним требованием. Если щелкнуть графический элемент «Несвязанные» (Unlinked), таблица будет отфильтрована для отображения только тех тестовых примеров, в которых отсутствуют ссылки на требования.

Тесты с непропорциональным количеством требований

В виджете «Требования к тесту» приводится сводка по количеству требований, связанных с каждым тестом. Для каждого значения цветная ячейка указывает количество требований, связанных с этим количеством тестов. Более темные цвета указывают на большее количество тестов. Если у теста слишком много или слишком мало требований, может быть сложнее исследовать ошибки для этого теста, и может потребоваться изменить тест или требования так, чтобы их было легче отслеживать. Например, если тест проверяет гораздо больше требований, чем другие тесты, попробуйте разбить его на несколько меньших тестов и связать их с требованиями.

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

Непропорциональное количество испытаний одного типа

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

Для просмотра тестовых примеров одного типа щелкните соответствующую строку в таблице Тесты по типу (Tests by Type), чтобы открыть таблицу Тип тестового случая (Test case type). Для каждого тестового случая в таблице отображается исходный файл, содержащий тест, и тип теста. Чтобы просмотреть результаты для всех тестов, в столбце Тип щелкните значок фильтра, а затем выберите Очистить фильтры.

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

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

Чтобы просмотреть сводку результатов теста и измерений покрытия, используйте виджеты в разделе Анализ результатов теста моделирования (Simulation Test Result Analysis) панели инструментов. Поиск проблем в тестах и модели с помощью метрик результатов теста. Поиск пробелов в покрытии с помощью метрик покрытия и добавление тестов для устранения отсутствующего покрытия. При выполнении тестов для модели экспортируйте результаты и сохраните файл в проекте. Затем соберите метрики панели мониторинга и проверьте результаты для этих проблем тестирования.

Тесты, которые не прошли

В разделе «Статус теста модели» виджеты «Непроверенный» и «Отключенный» указывают, сколько тестов для компонента не было выполнено. Запустите тесты с помощью Simulink Test Manager и экспортируйте новые результаты.

Графический элемент Failed указывает, сколько тестов не прошло. Откройте каждый неуспешный тест в диспетчере тестов и изучите артефакты, вызвавшие сбой. Исправьте артефакты, повторно запустите тесты и экспортируйте результаты.

Щелкните любой виджет в разделе, чтобы открыть таблицу Статус теста. Для каждого тестового случая в таблице отображается исходный файл, содержащий тест, и состояние результата теста. Если щелкнуть виджеты Неудачный (Failed), Непроверенный (Untested) или Отключенный (Disabled), таблица будет отфильтрована, чтобы показать только тесты для этих результатов. Панель управления анализирует только последний результат теста, который отслеживается для каждого тестового случая.

Отсутствует покрытие

Графический элемент «Покрытие модели» показывает, имеются ли элементы модели, не охваченные тестами. Если один из типов покрытия показывает покрытие менее 100%, можно исследовать пробелы в покрытии. Добавьте тесты для покрытия пробелов или выравнивания точек, которые не требуется покрывать. Затем снова запустите тесты и экспортируйте результаты.

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

См. также

Связанные темы