注意
プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が事前にアクセスし、そこからフィードバックを得ることができます。
Power Apps Test Engine には、アプリケーションの決定論的分析を活用して、テスト作成を強化するモデル コンテキスト プロトコル (MCP) サーバー実装が含まれています。 このガイドでは、この機能を使用して、より正確でコンテキストに関連するテストを生成する方法について説明します。
モデル コンテキスト プロトコルとは
モデル コンテキスト プロトコル (MCP) は、コンテキストとアクションを提供するための AI ツール間の通信の標準です。 Test Engine のコンテキストでは、次のことが可能になります。
- 決定論的分析: アプリケーション構造のスキャンと分析
- コンテキスト認識: コードの関係と依存関係の理解
- コード生成: コンテキストに基づくコード スニペットの作成
- 対話型アシスタント: ユーザーからの問い合わせに対して、関連する提案で応答
- 計画の統合: 構造化されたテスト計画のための プラン デザイナー の操作
Test Engine MCP サーバーでは、Visual Studio、GitHub Copilot、その他の互換性のあるツールなどの MCP クライアントで使用できる標準入出力 (stdio) を実装できます。
Test Engine MCP サーバーのしくみ
Test Engine MCP サーバーでは、決定論的なアプリケーション スキャンと生成型のレコメンデーションが組み合わされます。
スキャン フェーズ: アプリケーション構造を分析して、次の項目を特定します。
- コントロールの種類と階層
- ナビゲーション パス
- データ ソースとスキーマ
- 一般的な対話パターン
- ソリューション コンポーネントの関係
- エンティティ定義とリレーションシップ
- フォーム スクリプトとビジネス ルール
- カスタム コード コンポーネント
分析フェーズ: スキャン結果を処理して、次の事項を特定する絞り込んだプロンプトを決定します。
- テスト可能なコンポーネントとプロパティ
- 潜在的なテストシナリオ
- テスト カバレッジの向上機会
- リスク領域
- データの依存関係
- 必要なテスト データの設定
計画統合フェーズ: プラン デザイナーと連携して次のことを行います。
- ビジネス要件別にテストを整理する
- 重要なテストシナリオに優先順位を付ける
- 構造的なテスト計画を作成する
- 計画品目に対するテスト カバレッジの追跡
- テストカバレッジに関するレポートを生成する
レコメンデーション フェーズ: 状況に応じて関連性の高いプロンプトを生成し、以下を支援します。
- テストテンプレートと構造
- Power Fx アサーション
- ナビゲーション シーケンス
- データ検証パターン
- モック データの定義
- エラー処理のシナリオ
統合フェーズ: stdio を介して MCP クライアントと通信し、次のことを行います。
- ユーザー プロンプトに応答する
- コンテキストに応じた提案を提供する
- 完全なテストケースの生成を支援する推奨プロンプト
MCP アプローチを使用する利点
モデル コンテキスト プロトコル サーバーには、改善するように構成できる純粋な生成アプローチに比べて、いくつかの利点があります。
| 利点 | プロパティ |
|---|---|
| 精度 | 決定論的分析により、生成されたテストが実際のコントロールとプロパティを参照していることを確認します |
| 信頼性 | テストは、想定されるパターンではなく、アプリケーションの実際の構造に基づいています |
| コンテキスト認識 | MCP サーバーはアプリケーションの構造を理解し、より関連性の高いテストを生成できます |
| プラン デザイナーとの統合 | ビジネス要件と計画項目に従ってテストを編成できます |
| ソリューション メタデータの活用 | ソリューションのエンティティ定義、リレーションシップ、およびビジネス ルールを使用します |
| テスト データ生成 | ソリューションのデータ モデルに基づいて適切なテスト データを構築するための提案を作成します |
| LLM を補完する | 大規模言語モデルと連携して生成機能を強化 |
| 標準化されたアプローチ | MCP 仕様に準拠し、さまざまなクライアントとの一貫性のある 対話 を実現 |
MCP サーバーの設定
Test Engine MCP サーバーを使用するには:
- Power Apps Test Engine CLI の最新バージョンをインストールする
- ワークスペースにアプリケーション ソース ファイルを設定する
- MCP を構成してワークスペースを分析する
- MCP クライアントをサーバーに接続する
前提条件
- Power Apps Test Engine CLI (最新バージョン)
- ソース管理された Power Platform ソリューション
- Visual Studio または GitHub Copilot などの MCP と互換性のあるクライアント
プラン デザイナーと MCP の併用
プラン デザイナー では、テスト作業を整理し、優先順位を付けるための構造化されたアプローチを利用でいます。 Test Engine MCP サーバーと共に使用すると、テスト生成プロセスが強化されます。
- テスト計画の作成: 特定の目的と達成基準を持つテスト計画を定義します
- 要件マッピング: テストをビジネス要件およびソリューション コンポーネントにリンクします
- テストの優先度: ソリューションを実装する際に、集中的にテストするための重要なパスとリスクの高い領域を特定します
- カバレッジ分析: 計画項目とソリューション コンポーネントに対するテスト カバレッジを追跡します
- テスト データ定義: テスト シナリオごとにテスト データ要件を指定します
プラン デザイナー情報で MCP サーバーが強化される方法
MCP サーバーは、プラン デザイナー情報を利用して以下を実行します。
- テスト生成を優先度の高い領域に集中させる
- 計画定義の要件をカバーするテスト データを作成する
- 特定の計画項目を検証するためのテストを構造する
- ビジネスの優先順位に合わせた包括的なテスト カバレッジを生成する
- テストとビジネス要件間で追跡できるようにする
はじめに
MCP サーバーと開始するための情報については、Test Engine MCP を確認してください。
決定論的分析と生成 AIの組み合わせ
Test Engine MCP サーバーの真の力は、決定論的分析と生成機能の組み合わせにあります。
- 決定論的分析では、実際のコンポーネントを特定することで精度を確保します。
- 生成 AIは、自然言語理解と創造的なテストシナリオを提供します。
- これらを組み合わせることで、信頼性があり包括的なテストが生成されます
このハイブリッド アプローチは、次の両方の制限を克服するのに役立ちます。
- 純粋な決定論的アプローチでは、独創的なテストシナリオをカバーできない可能性があります
- 純粋な生成アプローチでは、存在しないコントロールや不適切なプロパティが参照される可能性があります
- 生成された結果を洗練、改善するためのプロセスを確認する
ベスト プラクティス
Test Engine MCP サーバーを使用する場合:
- 完全なソース コンテキストの提供: ソリューション フォルダーにすべての関連ファイルが含まれていることを確認します
- 具体的なプロンプト: 特定のコントロール名と想定される動作を含めます
- 段階的な改善: 基本的なテストから始めて、徐々に複雑化します
- 生成されたテストの確認: 実行前にテストを確認および調整します
- 手作業の専門知識との融合: MCP サーバーをテスト知識の代わりではなく、生産性向上ツールとして活用します
トラブルシューティング
MCP サーバーで問題が発生した場合は、次のトラブルシューティング手順を試してください。
| Issue | 解決策 |
|---|---|
| サーバーが起動に失敗 | インストールと PATH 環境変数を確認する |
| クライアントが接続できない | Stdio 構成とファイルのアクセス許可を確認する |
| 生成されたテストが不正なコントロールを参照している | ソリューション ファイルが完全で最新であることを確認する |
| 分析が不完全であるように思われる | 詳細ログを使用して、サーバーがスキャンしている内容を確認する |