Main Content

要件ファイルへのリンク

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

サンプル ファイルを開く

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

openExample(['slrequirements/' ...
    'IntegratingResultsFromAnExternalResultFileExample'])
要件エディターcounter_req の要件セットを開きます。この要件セットには要件 ID と説明をもつ子要件があります。

The Requirements Editor displays the counter_req requirement set, which has one parent requirement and three child requirements.

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

Three test results are shown in Microsoft Excel. The test name is shown in the left column and the test result is shown in the right. Two tests passed and one test failed.

カスタム ドキュメント インターフェイスの作成と登録

外部の結果ファイルへのリンクを作成する前に、まず、Microsoft Excel ファイルへのリンクとファイルからの結果の取得を有効にするためのカスタム ドキュメント インターフェイスを作成して登録します。

  1. MATLAB® コマンド ラインで次のコードを実行して myCustomDocInterface.m ファイルを開きます。

    open(fullfile(matlabroot,"toolbox","slrequirements","slrequirements","linktype_examples","myCustomDocInterface.m"))

  2. 関数名 myCustomDocInterfacelinktype_myexternalresults に置き換えます。

  3. myCustomDocInterface.m のコピーを現在のフォルダーに保存します。MATLAB の [エディター] タブで [保存][コピーに名前を付けて保存] をクリックします。ファイルを linktype_myexternalresults.m として保存します。

  4. docInterface.Label'Excel Results' に設定します。

  5. docInterface.Extensions{'.xlsx'} に設定します。

  6. 既存の 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 の詳細については、Define Custom Document Interface for Direct Linking to Requirementsを参照してください。

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

  8. カスタム ドキュメント インターフェイスを登録します。コマンド ラインに次のように入力します。

    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

    The Outgoing Links Editor displays the new link with the previously described details.

  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 という名前の外部結果ファイルのテスト ケースについての結果へのリンクが作成されます。要件エディターで、リンクが [リンク][確認者] セクションに表示されます。

    Requirement that has a link in the Requirements Editor

検証ステータスの表示

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

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

Requirements Editor with an open requirement set that has three requirements. One requirement is verified.

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

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

updateVerificationStatus(reqSet)
status = getVerificationStatus(reqSet)

参考

アプリ

関数

関連する例

詳細