インテリジェント アプリケーション ワークロードの導入とテストに関する考慮事項
健全なアプリケーション ライフサイクル管理 (ALM) プロセスを維持して、運用上の問題を回避し、回帰に迅速に対処します。
ALM戦略を決定する
バージョン管理、継続的インテグレーション/継続的デプロイメント (CI/CD)、自動テストを含む包括的なALM戦略を開発することで、開発プロセスの効率性とスケーラビリティを確保します。
シンプルなものから高度なものまで、CI/CDのオプションを評価します。
- ソリューションの手動展開。
- ユーザーフレンドリーな パイプライン Power Platform を使用した自動デプロイメント(ソース管理なし)。
- Azure DevOps または GitHub Power Platform ツールを使用した自動デプロイメント + ソース管理。
- 展開プロセスの一環として副操縦士の自動テストを実行します。
環境 管理用のソリューションを使用する
開発、テスト、本番用に別々の環境を維持します。 この方法は、問題を切り分け、変更がユーザーに届く前に徹底的にテストされることを保証するのに役立ちます。
ソリューション を使用して、 Copilot Studio 異なる環境間で作成されたプラグインを移動します。
主な推奨事項と考慮事項:
- ソリューションのコンテキスト内で作業する: すべての開発がソリューションのフレームワーク内で実行されるようにします。
- 独立した展開のための個別のソリューション: コンポーネントを個別に展開する必要がある場合にのみ、個別のソリューションを作成します。
- 制限事項を理解する: 自動展開の制限事項を理解し、統合、展開されたチャネル、セキュリティ設定など、展開後に手動で設定または更新する必要がある設定を評価します。 Application Insights
- カスタム パブリッシャーとプレフィックスを使用する: 整理と管理を改善するために、カスタム パブリッシャーとプレフィックスを実装します。
- 環境 変数を使用する: 環境によって異なる設定とシークレットには、 環境 変数 を使用します。
- 管理対象ソリューションとしてエクスポートおよび展開: 開発 環境 を設定する場合を除き、ソリューションを管理対象としてエクスポートおよび展開します。
- カスタマイズを開発に制限する: 開発以外でのカスタマイズは避けてください 環境。
- ALMプロセスの自動化: ソース管理と自動展開のためにALMを自動化することを検討します。
例
この例では、インテリジェント アプリケーション ワークロードのデプロイメント戦略の概要を示し、開発 (Dev)、テスト (Test)、品質保証 (QA)、および運用 (Prod) の各 環境 に関連付けられている役割とプロセスについて説明します。
開発 環境 (開発):
- 目的: ソリューションの初期作成とカスタマイズ。
- アクティビティ: 開発者は、アプリ、フロー、コパイロットなどのコンポーネントを構築および変更します。 すべてのカスタマイズと構成はここで実行されます。
- 主な実践:
- すべてのコンポーネントにカスタム パブリッシャーとプレフィックスを使用します。
- 設定とシークレットに 環境 変数を実装します。
- すべての変更がバージョン管理され、文書化されていることを確認します。
環境 (テスト) のテスト:
- 目的: 開発されたソリューションの予備的な検証とテスト。
- アクティビティ: ソリューションは、Dev環境 から管理ソリューションとしてエクスポートされ、Test環境 にインポートされます。 問題を早期に特定して解決するために、機能テストと統合テストが実施されます。
- 主な実践:
- 実際のシナリオをシミュレートするために、別のテスト 環境 を維持します。
- 環境 変数を使用して、テスト 環境 に固有の設定とシークレットを管理します。
- 一貫性と再現性を確保するために展開プロセスを自動化します。
品質保証 環境 (Q.A. またはQA):
- 目的: 徹底した品質保証とユーザー受け入れテスト (UAT) に専念します。
- アクティビティ: 管理ソリューションは、テスト 環境 からQA環境 にインポートされます。 ソリューションがすべての要件と標準を満たしていることを確認するために、パフォーマンス、セキュリティ、UATを含む広範なテストが実施されます。
- 主な実践:
- QA固有の設定とシークレットを管理するには、環境 変数を使用します。
- UATにユーザーを参加させてフィードバックを収集し、ソリューションがユーザーのニーズを満たしていることを確認します。
- 可能であればテスト プロセスを自動化して、効率と精度を高めます。
プロダクション 環境 (Prod):
- 目的: ソリューションのライブのユーザー向けバージョンをホストします。
- アクティビティ: QAテストが成功すると、管理ソリューション がQA環境 からエクスポートされ、本番環境 環境 にインポートされます。 この 環境 は、安定性と信頼性を確保するために厳密に管理されています。
- 主な実践:
- 不正な変更を防ぐために、管理されたソリューションを展開します。
- 環境 変数を使用して、本番環境固有の設定とシークレットを管理します。
- ソリューションを監視および保守して、最適なパフォーマンスを確保し、問題があればすぐに対処します。
全体的な戦略:
- 関心の分離: 各 環境 は明確な目的を持ち、開発、テスト、QA、および本番環境のアクティビティが互いに干渉しないようにします。
- 自動化: ソース管理、テスト、デプロイメントなどのALMプロセスを自動化して、効率を高め、エラーのリスクを軽減します。
- 一貫性: 環境 変数と自動デプロイメント スクリプトを使用して、環境間で一貫性を維持します。
テスト戦略を確立する
副操縦士と統合が期待どおりに機能することを検証するための明確な計画があることを確認します。
インテリジェントなアプリケーション ワークロードのテスト戦略を定義します。 テスト フレームワーク を使用して、ユーザーの発話を一括テストし、適切な トピック がトリガーされること、または最初の「もしかして」オプションが90% のケースで正しいものであることを検証します。
テスト フレームワークのスケール テスト機能を使用して、完全なエンドツーエンドの会話テストの一部として統合をテストします。
使用 パワーCAT Copilot Studio キット 副操縦士とテストを構成します。 Copilot Studio API (Direct Line) に対して個別のテストを実行し、予想される結果に対して副操縦士の応答を評価します。
可用性、コンプライアンス、データ保持/データ所在地、パフォーマンス、プライバシー、回復時間、セキュリティ、スケーラビリティなどの非機能要件を必ず理解してください。 たとえば、Webサイト上の チャット ウィジェット は、クリックしてから5秒以内に読み込まれ、会話が開始される必要があります。 同様に、ユーザーに情報を返すためにトリガーされた クラウド フロー は、10秒以内に必要なデータを提供する必要があります。