Увеличьте покрытие путем генерации тестовых воздействий

Используя Simulink® Design Verifier™, можно сгенерировать тестовые воздействия, которые реплицируют ошибки проектирования, достигают целей тестирования или соответствуют критериям покрытия. Simulink Test™ может создать тесты, которые используют тестовые воздействия и ожидали выходные параметры от Simulink Design Verifier.

Полный рабочий процесс

Генерация теста следует за этим рабочим процессом.

  1. Выберите существующий файл результатов Simulink Design Verifier или сгенерируйте новые результаты путем анализа модели.

    • Если вы используете существующий файл результатов, можно загрузить результаты также:

      • Используя команду Simulink Test sltest.import.sldvData.

      • Используя пункты меню Simulink Design Verifier. В модели выберите Analysis> Design Verifier> Results> Load. Выберите файл MAT с результатами анализа.

    • Если при запуске анализ модели, окно Simulink Design Verifier Results Summary появляется после того, как анализ завершается.

  2. В окне сводных данных результатов нажмите Export test cases to Simulink Test.

  3. Введите имя существующей или новой тестовой обвязки.

  4. Выберите источник тестовой обвязки для сгенерированных тестовых воздействий. Можно выбрать

    • Inport: входные параметры содержатся в файле данных Simulink Design Verifier и сопоставляются с блоками Inport в тестовой обвязке. Отображение показывают в разделе Inputs теста. Используя Inport опция позволяет вам сопоставлять другие входные параметры с тестовой обвязкой блоки Inport, которые могут быть полезны для выполнения нескольких тестов или итераций с помощью той же тестовой обвязки.

    • Signal Builder: входные параметры содержатся в группах в блоке Signal Builder в тестовой обвязке. Используя Signal Builder опция позволяет вам просматривать тестовые воздействия в редакторе блока Signal Builder.

  5. Выберите новый или существующий тестовый файл и введите имена для тестового файла и теста.

  6. Нажмите ОК, чтобы экспортировать тесты в Simulink Test. Тестовые файлы и тесты обновляются в менеджере по Тесту.

Пример генерации теста

Этот пример показывает, как сгенерировать тесты для подсистемы контроллера с помощью Simulink Design Verifier и экспортировать тесты в тестовый файл в Simulink Test. Пример требует лицензии Simulink Design Verifier.

Модель является системой теплового насоса с обратной связью. Контроллер принимает измеренную комнатную температуру и входные параметры установленной температуры. Контроллер выводит шину трех сигналов, управляющих вентилятором, тепловым насосом и направлением теплового насоса (тепло или холодный). Модель содержит обвязку, которая тестирует нагревание и охлаждение сценариев.

  1. Откройте модель.

    open_system(fullfile(docroot,'toolbox','sltest','examples',...
    'sltestTestCaseFromDVExample.slx'));
  2. Установите текущую рабочую папку на перезаписываемую папку.

  3. В модели сгенерируйте тесты для подсистемы Controller. Щелкните правой кнопкой по блоку Controller и выберите Design Verifier> Generate Tests for Subsystem.

    Simulink Design Verifier генерирует тесты для компонента.

  4. В окне сводных данных результатов нажмите Export test cases to Simulink Test.

  5. В диалоговом окне Export Design Verifier Test Cases, введите:

    • Тестовая обвязка: TestHarness1

    • Источник обвязки: Signal Builder

    • Выберите Use a new test file

    • Тестовый файл: ./TestFile_GeneratedTests.mldatx

    • Тест: <Create a new test case>

  6. Нажмите OK.

    Новый тестовый файл создается в рабочей папке, и тестовая обвязка добавляется к основной модели, принадлежавшей подсистеме Controller. Кликните по значку обвязки, чтобы предварительно просмотреть новую тестовую обвязку.

  7. Кликните по миниатюре TestHarness1, чтобы открыть обвязку и дважды кликнуть источник блока Signal Builder, чтобы видеть сгенерированные входные параметры.

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

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