Автоматизируйте тестирование на пример доставки пакета UAV

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

Введение

Пример Доставки Пакета UAV показывает через инкрементные итерации проектирования, как реализовать маленькую симуляцию мультивертолета к взлету, мухе и земле в другом месте в городской среде. В этом примере мы проходим процесс редактирования маленького, но представительного набора требования, соединяя эти требования с разделами в модели, чтобы implment эти требования, и наконец подтвердили их через тестовый набор.

Анализ требований

Чтобы загрузить необходимый проект и файлы, нажмите Open Live Script или запустите openExample функция.

openExample('uav/AutomateTestingForUAVPackageDeliveryExample')

Simulink Requirements™ позволяет вам автор, анализируйте и управляйте требованиями в Simulink™. Этот пример содержит двадцать функциональных требований, заданных для Руководства и Управления контроллера рейса UAV. Откройте предоставленный проект Simulink и набор требования. В качестве альтернативы можно также открыть файл от вкладки Requirements менеджера по Требованиям приложение в Simulink.

prj = openProject("verifications/AutomatedTestsPackageDelivery.prj");
open('uavPackageDeliveryReqs.slreqx')

Требования разделены на разделы Руководства и Управления. Эти требования сопоставляют непосредственно с разделами в модели мультиротора примера Доставки Пакета UAV. Просмотрите список требований и элементы нажатия кнопки, чтобы видеть и отредактировать детали справа.

Соединение требований к реализации

Simulink Requirements позволяет вам соединить каждое отдельное требование с компонентом модели Simulink, который реализует такое требование. Чтобы соединить требования, откройте сначала модель мультиротора.

open_system('MultirotorModel')

Введите перспективу требований путем нажатия в Перспективном управлении в нижнем правом углу холста модели.

Выберите перспективу Требований.

В перспективе требований перейдите к Логике Руководства и смотрите некоторых, если требования руководства реализованы. Requiremenst № 5 и № 6 помечены в сером. Заголовок и пределы команды рыскания реализованы блоком Waypoint Follower.

open_system('MultirotorModel/Guidance Logic/Full Guidance Logic/Guidance Stateflow/Guidance Mode Selector/GuidanceLogic.WP')

В качестве альтернативы можно перейти к реализации каждого требования от раздела Links каждого требования в редакторе требования. Откройте Редактор Требования. Выберите функциональное требование и перейдите к Ссылкам>> Реализованный разделом во вкладке Details справа.

open('uavPackageDeliveryReqs.slreqx')

Нажмите на Requirement № 19 (индекс 1.2.1.4). Во вкладке Details под Ссылками щелкните по theta_limit ссылке, чтобы пойти туда, где требование реализовано в модели мультиротора. Предел theta блок реализует это требование.

Автоматизируйте тестирование

Гарантировать каждое из требований соответствуют, этот пример включает три автоматических теста, чтобы работать на модели. Чтобы видеть, как эти тесты реализованы, открывают тестовый файл в менеджере по Тесту. Необходимо видеть два тестовых набора, GuidanceLogicSuite и ControlSystemSuite.

uiopen('MultirotorModelTest.mldatx',1)

Тестирование логики руководства

Тестовый тест Изменений состояния Руководства использует Управлять Тестовые обвязки (Simulink Test) для модели. Чтобы видеть тестовую обвязку, кликните по Тестовому тесту Изменений состояния Руководства и расширьте Систему Под Экспериментальным участком теста. Нажмите на кнопку стрелки, чтобы открыть модель:

Обвязка содержит Редактор Сигнала с предопределенным набором входных параметров, чтобы протестировать все фазы машины логического состояния руководства от взлета, чтобы приземлиться.

Чтобы подтвердить требования соответствуются во время simuliation, тест реализует шесть, Оценивают Временную Логику при помощи Временных Оценок (Simulink Test), и соединяет каждый из них с требованием.

Тестирование системы управления

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

Тестовая Система управления, которую Предельный тест Cmd реализует десять, Оценивает Временную Логику при помощи Временных Оценок (Simulink Test) оценки, чтобы убедиться, что все команды в системе управления правильно насыщаются к значениям, установленным требованиями. Эти оценки соединяются с соответствующими требованиями.

Тестовый Тест производительности Системы управления использует Сравнить Выход Модели для Базовых Данных (Simulink Test) тест задницам, является ли система управления в границах или отличается от записанной заранее базовой линии.

Запущение всех тестов

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

Проверка требований

Как последний шаг, откройте Редактор Требования и включите состояние Реализации и Столбцы состояния Валидации от панели инструментов. Цвета столбца указывают, было ли каждое требование реализовано и проверено тестом.