Ссылка на файл результатов

В этом рабочем процессе вы связываете требование с файлом результатов тестирования, который находится в Microsoft® Excel® формат с использованием редактора исходящих ссылок и API. Статус верификации в Simulink® Requirements™ Editor отражает результаты тестирования. Эти рисунки соответствуют рабочему процессу включения результатов внешнего тестирования в статус верификации потребности. Дополнительные сведения см. в разделе Включение результатов из внешних источников в статус верификации.

Ссылка на файл результатов с помощью редактора исходящих ссылок

Создайте набор требований с именем counter_req.slreqx в редакторе требований и сохраните его в расположении с возможностью записи. Этот набор требований имеет дочерние требования, которые имеют идентификаторы и описания требований. Для получения дополнительной информации о том, как создать наборы требований, смотрите Работа с требованиями в редакторе Simulink.

Файл внешних результатов является файлом Excel под названием results.xlsx. Статус верификации в Simulink Requirements обновляется на основе значений камер на листе Excel. Уникальный идентификатор в столбце Test определяет каждый результат в столбце Status. Метки Test и Status содержатся в строке заголовка.

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

Создайте и зарегистрируйте тип ссылки

Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m. Выполните следующие действия:

  1. Создайте новый файл MATLAB.

  2. Скопируйте содержимое linktype_TEMPLATE в новый файл. Сохраните файл следующим linktype_myexcelresults.m.

  3. В linktype_myexcelresults.m:

    1. Замените имя функции linktype_TEMPLATE с linktype_myexcelresults.

    2. Задайте linkType.Label как 'Excel Results'.

    3. Задайте linkType.Extensions как {'.xlsx'}.

    4. Раскомментируйте команду для GetResultFcn в порядок использовать его в linktype_myexcelresults и введите:

      linktype.GetResultFcn = @GetResultFcn;
      ......
      function result = GetResultFcn(link)
          testID = link.destination.id;
          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, см. «Ссылки и типы ссылок».

  4. Сохраните linktype_myexcelresults.m.

  5. Зарегистрируйте тип ссылки. В командной строке введите:

    rmi register linktype_myexcelresults

    Примечание

    Если команда возвращает предупреждение, необходимо отменить регистрацию файла и повторить шаг 5. Отменить регистрацию файла путем ввода:

    rmi unregister linktype_myexcelresults

Создайте ссылку

Выполните следующие действия, чтобы добавить ссылку вручную в Редактор исходящих ссылок:

  1. Откройте Редактор требований и, в counter_req.slreqx набор требований, щелкните правой кнопкой мыши дочернее требование 1.3 и выберите Open Outgoing Links dialog.

  2. В диалоговом окне Редактор исходящих ссылок, на вкладке Requirements, нажмите New.

  3. Введите следующие данные для установления ссылки:

    • Описание: resultcounterSetsValue

    • Тип документа: Excel Results

    • Документ: results.xlsx

    • Расположение: counterSetsValue

  4. Нажмите OK. Ссылка выделена в Links разделе редактора требований.

Просмотр состояния верификации

Обновите статус верификации в редакторе требований. Нажмите Refresh кнопку для просмотра статуса верификации требований в редакторе требований. Это показывает состояние верификации для всего набора требований, который прошел или не прошел проверку.

Требования к counterSetsValue полностью проверены. Здесь статус верификации показывает, что из трех тестов прошел один тест.

Ссылка на файл результатов с помощью API

Создайте набор требований с именем counter_req.slreqx в редакторе требований и сохраните его в расположении с возможностью записи. Этот набор требований имеет дочерние требования, которые имеют идентификаторы и описания требований. Для получения дополнительной информации о том, как создать наборы требований, смотрите Работа с требованиями в редакторе Simulink.

Файл внешних результатов является файлом Excel под названием results.xlsx. Статус верификации в Simulink Requirements обновляется на основе значений камер на листе Excel. Уникальный идентификатор в столбце Test определяет каждый результат в столбце Status. Метки Test и Status содержатся в строке заголовка.

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

Создайте и зарегистрируйте тип ссылки

Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m. Выполните следующие действия:

  1. Создайте новый файл MATLAB.

  2. Скопируйте содержимое linktype_TEMPLATE в новый файл. Сохраните файл следующим linktype_myexcelresults.m.

  3. В linktype_myexcelresults.m:

    1. Замените имя функции linktype_TEMPLATE с linktype_myexcelresults.

    2. Задайте linkType.Label как 'Excel Results'.

    3. Задайте linkType.Extensions как {'.xlsx'}.

    4. Раскомментируйте команду для GetResultFcn в порядок использовать его в linktype_myexcelresults и введите:

      linktype.GetResultFcn = @GetResultFcn;
      ......
      function result = GetResultFcn(link)
          testID = link.destination.id;
          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, см. «Ссылки и типы ссылок».

  4. Сохраните linktype_myexcelresults.m.

  5. Зарегистрируйте тип ссылки. В командной строке введите:

    rmi register linktype_myexcelresults

    Примечание

    Если команда возвращает предупреждение, необходимо отменить регистрацию файла и повторить шаг 5. Отменить регистрацию файла путем ввода:

    rmi unregister linktype_myexcelresults

Создайте ссылку

Выполните следующие действия, чтобы создать ссылку:

  1. Из MATLAB® в командной строке введите:

    externalSource.id = 'counterSetsValue';
    externalSource.artifact = 'results.xlsx';
    externalSource.domain = 'linktype_myexcelresults';

  2. Найти требование, относящееся к ссылке, путем ввода:

    requirement = reqSet.find('Type', 'Requirement', 'SID', 4);

  3. Создайте ссылку путем ввода:

    link = slreq.createLink(requirement, externalSource);
    Это создает ссылку как тест counterSetsValue для требуемого SID. В редакторе требований ссылка появится в разделе Links > Confirmed By.

Просмотр состояния верификации

Обновите статус верификации для набора требований. В командной строке MATLAB введите:

reqSet.updateVerificationStatus
Выберите статус верификации для требования путем ввода:
status = reqSet.getVerificationStatus
Это показывает состояние верификации для всего набора требований, который прошел или не прошел проверку. Щелкните Refresh для просмотра статуса верификации требований в редакторе требований.

Требования к counterSetsValue полностью проверены. Здесь статус верификации показывает, что из трех тестов прошел один тест.

Похожие темы