注意
プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が事前にアクセスし、そこからフィードバックを得ることができます。
Power Apps Test Engine には、Power Platform ソリューションを効果的にテストするための包括的な機能セットが提供されています。 このページでは、Power Platform アプリケーション用の堅牢なテスト スイートを構築するために利用できる機能が詳しく説明されています。
アプリケーションテスト機能
Test Engine の機能は、アプリケーションのテストから始まります。
キャンバス アプリケーションのテスト
実現できること: コントロールと対話し、ビジネス ロジックを検証し、エンド ユーザー エクスペリエンスを検証する キャンバス アプリの包括的なテストを作成します。
主要な機能:
- コントロールベースのテスト: DOM の知識を必要とせずに、スタジオ名を使用してアプリ コントロールを操作できます
- UI 検証: テスト実行中に コントロールのプロパティ、可視性、および状態を確認します
- ナビゲーション テスト: アプリ内での画面の切り替えとユーザー フローを検証します
- 数式の評価: Power Fx 式を使用して複雑なビジネス ロジックをテストします
- データ バインディングの検証: アプリとデータ ソースの間でデータが正しく流れることを確認します
使用する場合:
- キャンバス アプリで重要なユーザージャーニーを検証します
- 数式の変更またはコントロールの更新後にアプリの機能を確保する
- 複雑なキャンバス アプリ用の回帰テストスイートの構築
モデル駆動型アプリケーションのテスト
実現できること: フォーム、ビュー、ビジネス プロセス フロー、ダッシュボードなどのモデル駆動型アプリのテストを自動化します。
主要な機能:
- フォーム対話: フォームの読み込み、データ入力、ビジネス ルールの検証をテストします
- ビュー ナビゲーション: グリッドビュー、フィルタリング操作、レコード選択を検証します
- コマンド実行: リボン ボタンとコマンドバーの対話をテストします
- ビジネス プロセス フロー: ステージ移行と必須フィールドを検証します
- ダッシュボードの検証: ダッシュボード コンポーネントとインタラクティブ フィルターをテストします
使用する場合:
- 複雑なモデル駆動型アプリ間で一貫した動作を保証する
- カスタマイズ後のフォーム ルールとビジネス ロジックの検証
- 複数のエンティティにまたがるエンドツーエンドのビジネス プロセスのテスト
Dataverse 統合テスト
できること: データ操作、ビジネス ルール、計算フィールドなど Dataverse と対話するアプリケーションをテストします。
主要な機能:
- CRUD 操作: Dataverse の作成、更新、非アクティブ化、および削除操作をテストします
- ビジネス ルールの検証: ビジネス ルールが期待どおりに実行されることを確認します
- セキュリティ モデルのテスト: セキュリティ ロールとアクセス許可が正しく機能することを検証します
- 計算およびロールアップ フィールドのテスト: 数式と集計が正しく計算されることを確認します
- 関連付けナビゲーション: 検索フィールドと関連エンティティの対話のテスト
使用する場合:
- 複雑な Dataverse 対話を伴うデータ集約型アプリケーションのテスト
- スキーマ変更後のビジネス ルールと計算フィールドの検証
- セキュリティ ロール アクセス許可が意図したとおりに機能することを確認する
特殊なテスト機能
次の特殊な機能を使用すると、AI を活用したコンポーネント、認証とセキュリティ、データ シミュレーションなどの高度なシナリオをテストできます。 これらの機能により、複雑な環境や非決定論的な環境でも、Power Platform ソリューションの堅牢性、安全性、信頼性を確保できます。
AI と Copilot 機能のテスト
実現できること: 非決定論的な動作に対応する特殊な機能を備えた AI 搭載コンポーネントをテストします。
主要な機能:
- AI Builder プロンプト テスト: AI モデルの応答を検証し、テスト フローに統合します
- 類似性マッチング: AI が生成したコンテンツでは、完全一致ではなく近似比較を使用します
- コンテンツ検証: AIが生成したコンテンツが、完全一致を必要とせずに、想定される基準を満たしていることを検証します
- エラー処理: AI モデルのエラー条件とフォールバック動作をテストします
使用する場合:
- AI Builder コンポーネントを使用するアプリケーションのテスト
- Copilot で生成したコンテンツがビジネス要件を満たしていることを検証する
- 自然言語処理機能のテストスイートの構築
認証とセキュリティのテスト
実現できること: さまざまな認証方法とセキュリティ構成でアプリケーションをテストします。
主要な機能:
- 複数の認証方法: 対話型、サービス プリンシパル、およびセッションの永続化をサポートします
- MFA 処理: 多要素認証を強制する環境でテストします
- シミュレートされたユーザー コンテキスト: さまざまなセキュリティ ロールと権限でテストします
- トークン管理: テスト手順全体で認証トークンの処理を自動化します
使用する場合:
- MFA要件のある安全なエンタープライズ環境でのテスト
- 異なるセキュリティロールを持つユーザーのアプリの動作検証
- サービス プリンシパル認証を使用した CI/CD パイプラインでのテストの自動化
データのシミュレーションとモック作成
実現できること: 外部依存関係をシミュレートすることにより、信頼性の高い分離されたテストを作成します。
主要な機能:
- コネクタ応答のモック: 実際のサービスを呼び出さずにコネクタからの応答をシミュレートします
- 決定論的テスト: 外部システムに関係なく予測可能なテスト条件を作成します
- エラー シナリオ テスト: コネクタからのエラー条件をシミュレートして、例外処理をテストします
- パフォーマンス テスト: さまざまなシミュレートされた応答時間でアプリの動作をテストします
使用する場合:
- 有料の API サービスに依存するアプリをコストなしでテストする
- 外部依存関係なしで確実に実行されるテストの作成
- コネクタの障害シナリオのエラー処理の検証
開発者エクスペリエンス機能
次の機能は、テスト作成者と開発者のエクスペリエンスを向上させるように設計されています。 これらは、テスト作成を合理化し、拡張性を有効にし、Power Platform 統合とソリューションの自動テスト ワークフローをサポートするツールを提供します。
AI 支援によるテスト作成
実現できること: ソース管理された Power Platform ソリューションで GitHub Copilot の AI 機能を使用して、テスト作成を高速化します。
主要な機能:
- 自然言語テストの生成: 平易な言葉でシナリオを記述してテストを作成します
- ソース コンテキスト認識: ソリューション ファイルを使用して正確なコントロール参照とナビゲーション フローを生成します
- サンプルベースの学習: 既存のサンプルをより複雑なテスト シナリオのテンプレートとして使用します
- ガイド付きテスト パターン: エッジ ケースと例外処理を含む完全なテストスイートを生成します
使用する場合:
- 既存のアプリケーション用の新しいテストスイートを迅速にブートストラップ
- AI が生成した例によるテスト作成パターンの学習
- 最小限の手動コーディングで包括的なテストカバレッジを作成
Power Fx 作成テスト
できること: 使い慣れた Power Fx 数式言語を使用してテストを記述し、作成者と開発者の両方がテストを作成できるようにします。
主要な機能:
- 数式ベースのアサーション: Power Fx 式を使用してテスト条件を検証します
- プロパティ アクセスのコントロール: アプリ コントロールのプロパティを直接参照して検証します
- コレクション操作: 使い慣れた関数を使用してデータ コレクションを操作します
- 複雑な条件テスト: Power Fx 演算子と関数を使用して高度なテストロジックを表現します
使用する場合:
- 既存の Power Fx 知識を活用したテストの作成
- アプリ作成者が理解して管理できるテストの作成
- 高度なアプリ動作のための複雑な検証ロジックの構築
拡張性フレームワーク
実現できること: Test Engine の機能をカスタマイズおよび拡張して、特殊なテスト ニーズに対応します。
主要な機能:
- カスタム プロバイダー: 固有のアプリケーションの種類に特化したプロバイダーを作成します
- ユーザー定義関数: カスタム C# 関数で Power Fx を拡張します
- カスタム型: 複雑なテストシナリオに特化した型を定義します
- テスト フレームワークの統合: Test Engine を既存のテスト フレームワークに接続します
使用する場合:
- 標準プロバイダーでカバーされていないカスタム コントロールまたはコンポーネントのテスト
- 固有のビジネス要件に特化したテストロジックの実装
- 既存のテストインフラストラクチャとの統合
ALM および CI/CD 統合
実現できること: 自動テストを開発ライフサイクルと継続的統合のパイプラインに組み込みます。
主要な機能:
- コマンドライン実行: ターミナルまたはビルド エージェントからテストを実行します
- パイプライン統合: Azure DevOps または GitHub Actions ワークフローにテストを簡単に組み込みます
- テスト レポート: パイプライン消費の構造化されたテスト結果を生成します
- 環境の切り替え: 展開パイプラインのさまざまな環境でテストします
使用する場合:
- CI/CD パイプラインでの自動テストの実装
- Power Platform ソリューション展開の品質ゲートの作成
- 開発チームのための継続的なテストプラクティスの確立
診断とトラブルシューティング
次の診断およびトラブルシューティング機能は、テストの実行中に発生した問題をすばやく特定、分析、および解決するのに役立ちます。 これらのツールは、視覚的な成果物と詳細なログを提供して、デバッグを簡素化し、テストの信頼性を向上させます。
ビジュアル テストの成果物
実現できること: テスト実行の視覚的な証拠をキャプチャして、デバッグと欠陥解決を簡素化します。
主要な機能:
- スクリーンショットのキャプチャ: 主要なテストポイントで自動的にスクリーンショットを取得します
- ビデオ録画: 複雑なシナリオのテスト実行のビデオを録画します
- エラー コンテキスト キャプチャ: テストが失敗したときにより多くのコンテキスト情報を収集します
- トレースとログ: デバッグ用の詳細な実行ログを生成します
使用する場合:
- 断続的なテストの失敗のデバッグ
- 複雑なテストシナリオを視覚的に文書化
- テスト環境にアクセスできないチーム メンバーとテスト結果を共有する
今後の機能
次の今後の機能は、Test Engine で計画されている機能強化を示しています。 これらの機能により、会話型 AI、Power Automate フロー、高度な AI テスト シナリオのサポートが拡張され、テスト戦略がさらに強化されます。
Microsoft Copilot Studio 統合
Microsoft Copilot Studio との計画的な統合により、会話エクスペリエンスと AI を活用した仮想オペレーターのテストが可能になり、ボットの応答、会話フロー、バックエンド システムとの統合を検証できます。
Power Automate テスト
自動フロー、フロー アクション、トリガーをテストするためのより包括的な機能を提供する Power Automate テストの強化サポートが開発中です。 この作業は、フロー コンポーネントの統合テストと単体テストの両方のアプローチをサポートします。
その他の AI テスト機能
今後の機能強化には、AI Builder SDK の AI エバリュエーターや、カスタム評価シナリオのサポートの拡張が含まれ、予測可能で再現性のあるテスト結果で AI を活用した機能を簡単に検証できるようになります。