Main Content

要件ファイルへのリンク

外向きリンク エディターと API を使用して要件を Microsoft® Excel® 形式のテスト結果ファイルにリンクできます。要件エディターの検証の状態にテスト結果が反映されます。これらの説明は、外部のテスト結果を要件の検証の状態に含めるためのワークフローに従います。詳細については、外部ソースからの結果を検証の状態に含めるを参照してください。

サンプル ファイルを開く

外部の結果ファイルからの結果の統合の例を開きます。

openExample(['slrequirements/' ...
    'IntegratingResultsFromAnExternalResultFileExample'])
要件エディターcounter_req の要件セットを開きます。この要件セットには要件 ID と説明をもつ子要件があります。要件セットの作成方法の詳細については、要件エディターでの要件の処理を参照してください。

外部のテスト結果は results.xlsx という Excel ファイルに含まれています。Requirements Toolbox™ の検証の状態が Excel シートのセルの値に基づいて更新されます。[テスト] 列の一意の ID によって [状態] 列の各結果が特定されます。ヘッダー行には [テスト] および [状態] ラベルが含まれています。

カスタム リンク タイプの作成と登録

外部の結果ファイルへのリンクを作成する前に、まずカスタム リンク タイプを作成して登録します。

matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m にあるテンプレート ファイルを開きます。次の手順に従います。

  1. 新しい MATLAB ファイルを作成します。

  2. linktype_TEMPLATE の内容を新しいファイルにコピーします。ファイルを linktype_myexternalresults.m として保存します。

  3. linktype_myexternalresults.m の場合:

    1. 関数名 linktype_TEMPLATElinktype_myexternalresults に置き換えます。

    2. linkType.Label'Excel Results' として設定します。

    3. linkType.Extensions{'.xlsx'} として設定します。

    4. linktype_myexternalresults で使用するために GetResultFcn のコマンドのコメントを解除し、以下を入力します。

      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 の詳細については、リンクとリンク タイプを参照してください。

  4. linktype_myexternalresults.m を保存します。

  5. リンク タイプを登録します。コマンド ラインに次のように入力します。

    rmi register linktype_myexternalresults

    メモ

    コマンドが警告を返す場合、リンク タイプを登録解除し、再登録する必要があります。次のように入力してリンク タイプの登録を解除します。

    rmi unregister linktype_myexternalresults

要件リンクの作成

要件から、外部の結果ファイルからテスト ケースについてのテスト結果へのリンクを作成して、要件を確認できます。外向きリンク エディターを使用して、または Requirements Toolbox API を使用して、リンクを作成できます。

外向きリンク エディターを使用したリンクの作成

外向きリンク エディターを使用して、要件から外部の結果ファイルへのリンクを作成します。

  1. 要件エディターを開き、counter_req.slreqx 要件セットで子要件 1.3 を右クリックして、[[外向きリンク] ダイアログを開く] を選択します。

  2. 外向きリンク エディターのダイアログ ボックスの [要件] タブで、[新規] をクリックします。

  3. 以下の詳細を入力してリンクを確立します。

    • 説明: resultcounterSetsValue

    • ドキュメント タイプ: Excel Results

    • ドキュメント: results.xlsx

    • 場所: counterSetsValue

  4. [OK] をクリックします。要件エディター[リンク] セクションでリンクが強調表示されます。

API を使用したリンクの作成

API を使用して、要件から外部の結果ファイルへのリンクを作成します。

  1. MATLAB® コマンド プロンプトで、次を入力します。

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

  2. 要件セットを開き、リンクに関連する要件を見つけます。

    reqSet = slreq.open('counter_req.slmx'); 
    requirement = find(reqSet, 'Type', 'Requirement', 'SID', 4);

  3. 以下を入力してリンクを作成します。

    link = slreq.createLink(requirement, externalSource);
    これによって、SID 4 の要件から、counterSetsValue という名前の外部結果ファイルのテスト ケースについての結果へのリンクが作成されます。要件エディターで、リンクが [リンク][確認者] セクションに表示されます。

    The requirement has a link in the Requirements Editor.

検証の状態の表示

要件セットの検証の状態を更新して、Excel の状態ログに基づいて counterSetsValue テスト ケースの検証情報を更新します。

[更新] をクリックして、要件エディターで検証の状態を更新できます。要件セット全体についての検証の状態が表示されるよう、[列] + [検証の状態] が選択されていることを確認します。

The Requirements Editor shows the requirement set with 3 requirements and one is verified.

検証の状態は、3 つの要件のうち 1 つが検証されたことを示しています。

MATLAB コマンド プロンプトで次のように入力して、検証の状態を更新して現在の状態を取得することもできます。

updateVerificationStatus(reqSet)
status = getVerificationStatus(reqSet)

関連するトピック