---
title: "意思決定モデルのバリアントのトラブルシューティング"
slug: "troubleshooting-a-decision-model-variant"
abstract: "コンテキスト編集、ロジックチェック、ゲストコンテキスト編集、モッキングリクエストにはテストキャンバスを使Sitecore Personalize。"
---
# 意思決定モデルのバリアントのトラブルシューティング

Sitecore Personalizeは**Test Canvas**内の意思決定モデルのバリアントに対する堅牢なテスト環境を提供します。エラーの特定とトラブルシューティング、意思決定モデルのロジックの検証、特定のゲストの選択、ゲストコンテキストの編集で意思決定モデルの応答をテストするのを支援するよう設計されています。

[意思決定モデルのバリアントをテスト](https://doc.sitecore.com/personalize/ja/users/sitecore-personalize/introduction-to-decisioning-in-sitecore-personalize/managing-decision-model-variants-in-sitecore-personalize/test-a-decision-model-variant.html "Test a decision model variant")する際には、このトピックに慣れておくことをお勧めします。以下は**、Test Canvas**を用いて意思決定モデルのバリアントを最適化し、トラブルシューティングするためのいくつかの戦略です。

## ゲストコンテキストの編集

**テストキャンバス**の**リクエスト**タブは、意思決定モデルが実行時に使用するコンテキストを表示します。これにより、意思決定に利用可能なデータの洞察が得られ、特に意思決定テーブルやデータにアクセスするプログラム可能なツールを作成する際に有用です。

また、キャンバス上でテストを開始する前にコンテキストを手動で編集することも可能です。これにより、関連する属性を持つゲストプロファイルを探したり作成したりする必要がなく、意思決定モデルのロジックをテストできます。例えば、ゲストの最終訪問日に対する意思決定モデルの反応を評価するには、ゲストコンテキスト内のlastSeen属性を編集し、それ以前の日付に置き換えて、意思決定モデルが期待通りに動作しているか確認できます。

![The Request tab in the Test Canvas shows the guest context that the decision model uses.](https://doc.sitecore.com/api/markdown-image/personalize/ja/users/sitecore-personalize/images/Request_tab.png)

## 実行タブとログタブの使用

エラーが発生した場合、**テストキャンバス**の**「実行」**タブからエラーの原因となる特定のノードを特定し、説明的なエラーメッセージが表示されます。

![The Executions tab in the Test Canvas indicates which decision model node causes the error.](https://doc.sitecore.com/api/markdown-image/personalize/ja/users/sitecore-personalize/images/Executions_tab.png)

もし意思決定モデルの [プログラム可能な文にprint()文を追加](https://doc.sitecore.com/personalize/ja/users/sitecore-personalize/introduction-to-decisioning-in-sitecore-personalize/managing-programmable-decisions/including-print-statements-in-programmable-decisions.html "Including print statements in programmable decisions") した場合、**ログ** タブの出力値を使ってエラーをデバッグすることもできます。このタブは例外に遭遇するまでのデータをキャプチャし、問題のあるコードセグメントの特定プロセスを簡素化します。

## ライブ意思決定モデルにおける誤りの再現

既にライブ体験で使われている意思決定モデルの問題をトラブルシューティング・解決するために、**テストキャンバス**上でエラーを再現するオプションがあります。

まず、[実行](https://doc.sitecore.com/personalize/ja/users/sitecore-personalize/introduction-to-experiments-in-sitecore-personalize/view-operational-data-for-an-experiment-in-sitecore-personalize/view-an-execution-report-for-an-experiment-in-sitecore-personalize.html "View an execution report for an experiment in Sitecore Personalize")レポートで失敗した実行に関連付けられたゲストを特定します。次に、決定モデルの本番バージョンを複製し、このドラフトコピーを使って、識別されたゲストを **テストキャンバス**に読み込みます。このセットアップにより、制御されたテスト環境でシナリオを再構築し、根本原因を特定することができます。

## エンティティデータに関するトリガー体験のテスト

トリガー体験用に設計された意思決定モデルをテストするには、エンティティデータをモックする必要があります。これはテスト **キャンバス** の **リクエスト** タブで、オブジェクトの参照属性refまたはエンティティ全体をエンティティに追加することでできます。

例えば、次の画像では、最近のゲストセッションのrefがentityオブジェクトに追加されています。その結果、テストは特定のセッションが意思決定モデルをトリガーする状況をシミュレートし、リアルタイムでどのように応答するかの洞察を提供します。

![Testing a triggered experience by adding the reference of a guest session to the entity object.](https://doc.sitecore.com/api/markdown-image/personalize/ja/users/sitecore-personalize/images/Troubleshoot_entity_data.png)

あるいは、意思決定モデルのカスタムイベントへの応答を模倣するために、次の画像に示すように、イベントデータ全体を直接そのentityオブジェクトに挿入することもできます。この方法により、より多くの属性を使って意思決定モデルのパフォーマンスを評価することができます。

![Testing a triggered experience by adding the entire event data of a custom event to the entity object.](https://doc.sitecore.com/api/markdown-image/personalize/ja/users/sitecore-personalize/images/Troubleshoot_custom_event.png)

## カスタム値を用いたインタラクティブ体験のテスト

インタラクティブな体験向けに構築された意思決定モデルは、リクエストに提供されたカスタム値に依存することがあります。この種の意思決定モデルは **、テストキャンバス**でリクエストをモックすることでテストできます。これを行うには、コンテキストオブジェクトの最上層にリクエストオブジェクトを追加し、paramsオブジェクト内のリクエスト内にカスタム値を配置します。

これが、モックされた全体の文脈はこうなるでしょう:

![Testing an interactive experience by adding the request object into the top level of the context object.](https://doc.sitecore.com/api/markdown-image/personalize/ja/users/sitecore-personalize/images/Troubleshoot_custom_value.png)