Расширьте тесты для измененной модели

Предположим, что у вас есть модель, что вы уже анализировали использование Simulink® Design Verifier™, и вы изменяете модель. Исходный тестовый набор не может записать 100%-е покрытие для измененной модели. Повторно анализируйте измененную модель, чтобы убедиться, что она удовлетворяет все новые цели тестирования. Вместо того, чтобы повторно анализировать целую модель, вы сфокусировали новый анализ на только измененной части модели. Таким образом вы усиливаете тесты, созданные для исходной модели, расширяя их, чтобы удовлетворить любые новые цели.

Этот пример использует модель sldvdemo_cruise_control. Вы анализируете модель и генерируете тесты. Затем вы анализируете измененную версию той модели, sldvdemo_cruise_control_mod, расширяя тесты от исходного анализа. Анализ возвращает полный тестовый набор для новой модели.

Создайте стартовые тесты

Анализируйте модель sldvdemo_cruise_control и сгенерируйте тесты, которые достигают 100%-го покрытия.

  1. Откройте модель в качестве примера:

  2. Чтобы запустить анализ Simulink Design Verifier для модели sldvdemo_cruise_control, дважды кликните блок Run Simulink Design Verifier:

    Анализ удовлетворяет 34 цели тестирования для модели sldvdemo_cruise_control. Программное обеспечение хранит получившийся файл данных в подпапке MATLAB® Current Folder:

    sldv_output\sldvdemo_cruise_control\sldvdemo_cruise_control_sldvdata.mat

    В следующем разделе, когда вы анализируете измененную модель, этот файл данных задает стартовые тесты, которые вы расширяете.

  3. Закройте модель sldvdemo_cruise_control и все файлы, созданные анализом. Если спросили, не сохраняйте изменения, которые вы внесли в модель.

Расширьте существующие тесты

Модель sldvdemo_cruise_control_mod является измененной версией sldvdemo_cruise_control. Подсистема контроллера содержит блок Saturation, который указывает, что целевая скорость не может превысить 70.

Откройте измененную модель и анализируйте ее, расширяя тесты, которые вы сгенерировали при анализе модели sldvdemo_cruise_control:

  1. Откройте модель в качестве примера, измененную версию sldvdemo_cruise_control:

  2. Дважды кликните Подсистему контроллера, чтобы видеть изменение в исходной модели, блок Saturation, который задает максимальную скорость:

  3. Закройте Подсистему контроллера.

  4. Выберите Analysis> Design Verifier> Options.

  5. В диалоговом окне Configuration Parameters, на панели Select, под Design Verifier, выбирают Test Generation.

  6. На панели Test Generation, под Existing test cases, выбирают Extend existing test cases.

  7. В поле Data file нажмите Browse и перейдите к MAT-файлу, созданному в Текущей папке MATLAB при анализе исходной модели:

    sldv_output\sldvdemo_cruise_control\sldvdemo_cruise_control_sldvdata.mat
  8. Очистите Ignore objectives satisfied by existing test cases.

    Когда вы очищаете эту опцию, анализ включает тесты, зарегистрированные в файл sldvdemo_cruise_control_sldvdata.mat в комплекте завершающего испытания.

  9. Нажмите Apply, чтобы сохранить эти настройки.

  10. Чтобы открыть основную панель Design Verifier, в дереве Select, нажимают Design Verifier.

  11. Чтобы запустить анализ, нажмите Generate Tests.

    Анализ сначала загружает эти 34 цели, удовлетворенные начальными тестами. Затем это добавляет, что дополнительное время продвигается в те тесты и пытается удовлетворить любые недостающие цели.

  12. В логарифмическом окне нажмите Generate detailed analysis report.

    Анализ удовлетворил в общей сложности 38 удовлетворенных целей для модели sldvdemo_cruise_control_mod. Анализ удовлетворил четыре дополнительных цели, которые соответствуют блоку Saturation.

Похожие темы