Можно соединить требование с файлом результата испытаний, который находится в Microsoft® Excel® формат с помощью Исходящего Редактора Ссылок и API. Состояние верификации в Simulink® Редактор Requirements™ отражает результаты испытаний. Эти рисунки следуют за рабочим процессом для включения внешних результатов испытаний в состоянии верификации требования. Для получения дополнительной информации смотрите, Включают Результаты Внешних Источников в Состояние Верификации.
Откройте Объединяющиеся Результаты Внешнего примера файла Результата.
openExample(['slrequirements/' ... 'IntegratingResultsFromAnExternalResultFileExample'])
counter_req
требование установлено в Редакторе Требований. Этот набор требования имеет дочерние требования, которые имеют идентификаторы требования и описания. Для получения дополнительной информации о том, как создать наборы требования, смотрите работу с Требованиями в Редакторе Simulink.
Внешние результаты испытаний содержатся в файле Excel под названием results.xlsx
. Состояние верификации в Simulink Requirements обновляется на основе значений ячеек в листе Excel. Уникальный идентификатор в столбце Test идентифицирует каждый результат в столбце Status. Test и метки Status содержатся в строке заголовка.
Прежде, чем создать ссылки на внешний файл результата, сначала создайте и укажите тип настраиваемой ссылки.
Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m
. Выполните эти шаги:
Создайте новый файл MATLAB.
Скопируйте содержимое linktype_TEMPLATE
в новый файл. Сохраните файл как linktype_myexternalresults.m
.
В linktype_myexternalresults.m
:
Замените имя функции linktype_TEMPLATE
с linktype_myexternalresults
.
Установите linkType.Label
как 'Excel Results'
.
Установите linkType.Extensions
как {'.xlsx'}
.
Не прокомментируйте команду для GetResultFcn
для того, чтобы использовать его в linktype_myexternalresults
и войдите:
linktype.GetResultFcn = @GetResultFcn; ...... function result = GetResultFcn(link) testID = link.destination.id; if testID(1) == '@' testID(1) = []; end resultFile = link.destination.artifact; if ~isempty(resultFile) && isfile(resultFile) resultTable = readtable(resultFile); testRow = strcmp(resultTable.Test,testID); status = resultTable.Status(testRow); if status{1} == "passed" result.status = slreq.verification.Status.Pass; elseif status{1} == "failed" result.status = slreq.verification.Status.Fail; else result.status = slreq.verification.Status.Unknown; end else result.status = slreq.verification.Status.Unknown; end end
GetResultFcn
, смотрите Типы Ссылки и Ссылки.
Сохраните linktype_myexternalresults.m
.
Укажите тип ссылки. В командной строке, введите:
rmi register linktype_myexternalresults
Примечание
Если команда возвращает предупреждение, то необходимо не указать тип ссылки и указать его снова. Не укажите тип ссылки путем ввода:
rmi unregister linktype_myexternalresults
Можно создать ссылку от требования до результата испытаний для теста из внешнего файла результата, чтобы подтвердить требование. Можно создать ссылку при помощи Исходящего Редактора Ссылок, или при помощи API Simulink Requirements.
Создайте ссылку от требования до внешнего файла результатов при помощи Исходящего Редактора Ссылок:
Откройте редактор требований и в counter_req.slreqx
набор требования, щелкните правой кнопкой по дочернему требованию 1.3
и выберите Open Outgoing Links dialog.
В диалоговом окне Outgoing Links Editor, во вкладке Requirements, нажимают New.
Введите эти детали, чтобы установить ссылку:
Description:resultcounterSetsValue
Document type: Excel Results
Document: results.xlsx
Местоположение : counterSetsValue
Нажмите OK. Ссылка подсвечена в разделе Links Редактора Требований.
Создайте ссылку от требования до внешнего файла результатов при помощи API:
Из MATLAB® командная строка, введите:
externalSource.id = 'counterSetsValue'; externalSource.artifact = 'results.xlsx'; externalSource.domain = 'linktype_myexternalresults';
Откройте набор требования и найдите требование связанным со ссылкой:
reqSet = slreq.open('counter_req.slmx'); requirement = find(reqSet, 'Type', 'Requirement', 'SID', 4);
Создайте ссылку путем ввода:
link = slreq.createLink(requirement, externalSource);
SID
4
к результату для теста во внешнем файле результата под названием counterSetsValue
. В Редакторе Требований ссылка появляется в разделе Links> Confirmed By.
Обновите информацию о верификации для counterSetsValue
тест на основе состояния Excel регистрирует путем обновления состояния верификации для установленного требования.
Можно обновить состояние верификации в Редакторе Требований путем нажатия на Refresh . Убедитесь, что Columns +> Verification Status выбран, чтобы просмотреть состояние верификации для целого набора требования.
Состояние верификации показывает, что одно из этих трех требований проверяется.
Можно также обновить состояние верификации и выбрать текущий статус путем ввода следующего в командной строке MATLAB:
updateVerificationStatus(reqSet) status = getVerificationStatus(reqSet)