智慧型應用程式工作負載的部署和測試注意事項
維護良好的應用程式生命週期管理 (ALM) 流程,以避免生產問題並迅速解決任何回歸問題。
確定 ALM 策略
透過制定包括版本控制、持續整合/持續部署 (CI/CD) 和自動化測試在內的全面 ALM 策略,確保您的開發流程高效且可擴展。
評估從簡單到進階的 CI/CD 選項:
- 手動部署解決方案。
- 使用 Power Platform 中使用者友善的管線進行自動部署 (無需原始檔控制)。
- 使用 Azure DevOps 或 GitHub Power Platform Tools 進行行自動部署 + 原始檔控制。
- 作為部署過程的一部分,自動測試智慧型應用程式工作負載。
使用解決方案進行環境管理
維護用於開發、測試和生產的獨立環境。 這種做法有助於隔離問題並確保變更在到達使用者之前經過徹底的測試。
使用解決方案在不同環境之間移動在 Microsoft Copilot Studio 中建立的外掛程式。
主要建議及注意事項:
- 在解決方案的背景下工作:確保所有開發都在解決方案的框架內進行。
- 獨立部署的單獨解決方案:僅在需要獨立部署元件時才建立不同的解決方案。
- 了解限制:了解自動部署的局限性,並評估部署後必須手動設定或更新哪些設定,例如 Application Insights 整合、部署管線和安全設定。
- 使用自訂發行者和首碼:實作自訂發行者和首碼,以便更好地組織和管理。
- 使用環境變數:使用環境變數來儲存不同環境中不同的設定和密碼。
- 作為受控解決方案匯出和部署:將解決方案作為受控解決方案匯出和部署,設定開發環境時除外。
- 將客製化限制在開發範圍內:避免在開發環境之外進行客製化。
- 自動化 ALM 流程:考慮自動化 ALM 以進行原始檔控制和自動化部署。
範例
此範例概述了智慧型應用程式工作負載的部署策略,並描述了與每個環境相關的角色和流程:開發 (Dev)、測試 (Test)、品質保證 (QA) 和生產 (Prod)。
開發環境 (Dev):
- 目的:用於解決方案的初始建立和自訂。
- 活動:開發人員建置和修改應用程式、流程和代理程式等元件。 所有自訂和設定都在這裡完成。
-
關鍵做法:
- 對所有元件使用自訂發行者和首碼。
- 為設定和秘密實現環境變數。
- 確保所有變更都經過版本控制並記錄下來。
測試環境 (Test):
- 目的:對開發的解決方案進行初步驗證和測試。
- 活動:解決方案從開發環境作為受控解決方案匯出並匯入測試環境。 進行功能和整合測試以便儘早發現和解決問題。
-
關鍵做法:
- 維護單獨的測試環境來模擬真實世界情境。
- 使用環境變數來管理特定於測試環境的設定和密碼。
- 自動化部署流程以確保一致性和可重複性。
品質保證環境 (Q.A.或QA):
- 目的:致力於全面的品質保證和使用者驗收測試 (UAT)。
- 活動:將受控解決方案從測試環境匯入到 QA 環境。 我們進行了廣泛的測試,包括效能、安全性和 UAT,以確保解決方案符合所有要求和標準。
-
關鍵做法:
- 使用環境變數來管理 QA 特定的設定和密碼。
- 讓使用者參與 UAT 以收集意見反應,並確保解決方案滿足他們的需求。
- 盡可能實現測試流程自動化,以提高效率和準確性。
生產環境 (Prod):
- 目的:受控解決方案的即時、面向使用者版本。
- 活動:成功完成 QA 測試後,受控解決方案從 QA 環境匯出並匯入生產環境。 該環境受到嚴格控制以確保穩定性和可靠性。
-
關鍵做法:
- 依管理方式部署解決方案,以防止未經授權的變更。
- 使用環境變數來管理特定於生產的設定和密碼。
- 監控和維護解決方案以確保最佳效能並及時解決任何問題。
總體策略:
- 關注點分離:每個環境都有不同的用途,確保開發、測試、品質保證和生產活動不會互相干擾。
- 自動化:自動化 ALM 流程,包括原始檔控制、測試和部署,以提高效率並降低錯誤風險。
- 一致性:透過使用環境變數和自動部署指令碼來保持跨環境的一致性。
建立測試策略
確保您有一個明確的計劃來驗證您的智慧型應用程式工作負載和整合是否如預期運作。
定義智慧型應用程式工作負載的測試策略。 使用測試框架批次測試使用者話語並驗證適當的主題觸發程序或第一個「您的意思是」選項在 90% 的情況下是正確的。
使用測試框架擴展測試能力,將測試整合作為完整的端到端對話測試的一部分。
使用 Power CAT Copilot Studio Kit 設定代理程式和測試。 針對 Copilot Studio API (Direct Line) 執行單獨的測試,並根據預期結果評估代理程式回應。
確保您了解非功能性需求,例如可用性、合規性、資料保留/駐留、效能、隱私、復原時間、安全性和可擴充性。 例如,網站上的聊天小工具應在點擊後 5 秒內載入並開始對話。 類似地,觸發回傳資訊給使用者的雲端流程應該在 10 秒內提供所需的資料。