智慧應用程式工作負載的部署和測試注意事項
維護健康的應用程式生命週期管理 (ALM) 流程,以避免生產問題並快速解決任何回歸問題。
確定您的 ALM 策略
通過制定全面的 ALM 策略 (包括版本控制、持續整合/持續部署(CI/CD) 和自動化測試),確保您的開發過程高效且可擴展。
評估從簡單到高級 CI/CD 的選項:
- 手動部署解決方案。
- 使用使用者友好的 管道 Power Platform 進行自動部署 (無原始程式碼控制)。
- 使用或 Azure DevOps GitHub 工具進行 Power Platform 自動化部署 + 原始程式碼控制。
- 作為部署過程的一部分,自動測試 Copilot。
使用環境管理解決方案
為開發、測試和生產維護單獨的環境。 這種做法有助於隔離問題,並確保在將更改送達使用者之前對其進行全面測試。
使用 解決方案 在不同環境中移動創建的 Copilot Studio 外掛程式。
主要建議和注意事項:
- 在解決方案的上下文中工作:確保所有開發都在解決方案的框架內進行。
- 用於獨立部署的單獨解決方案:僅當需要獨立部署元件時,才創建不同的解決方案。
- 瞭解限制:了解自動部署的限制,並評估部署后必須手動設置或更新哪些設置,例如 Application Insights 集成、部署的通道和安全設置。
- 使用自定義發行者和前綴:實施自定義發行者和前綴,以便更好地組織和管理。
- Use 環境 variables (使用變數):將 環境變數 用於因環境而異的設置和密鑰。
- 匯出並部署為託管解決方案:將解決方案導出並部署為託管解決方案,設置開發環境時除外。
- 將自定義限制為開發:避免在開發環境之外進行自定義。
- 自動化 ALM 流程:考慮自動化 ALM 以進行原始程式碼控制和自動化部署。
範例
此示例概述了智慧應用程式工作負載的部署策略,並描述了與每個環境關聯的角色和流程:開發 (Dev)、測試 (Test)、質量保證 (QA) 和生產 (Prod)。
開發環境(Dev):
- 目的:用於解決方案的初始創建和自定義。
- 活動:開發人員構建和修改元件,例如應用程式、流程和 Copilot。 所有自訂和配置都在此處執行。
- 主要做法:
- 對所有元件使用自定義發行者和前綴。
- 為設置和金鑰實施環境變數。
- 確保所有更改都經過版本控制並記錄在案。
檢測環境(Test):
- 目的:對開發的方案進行初步驗證和測試。
- 活動:解決方案作為託管解決方案從開發環境匯出,並導入到測試環境。 執行功能和集成測試是為了及早發現和解決問題。
- 主要做法:
- 維護單獨的測試環境以模擬真實場景。
- 使用環境變數管理特定於 Test 環境的設置和密鑰。
- 自動執行部署流程以確保一致性和可重複性。
質量保證環境(Q.A. 或 QA)):
- 目的:致力於全面的品質保證和使用者驗收測試 (UAT)。
- 活動:託管解決方案從測試環境導入到 QA 環境。 進行了廣泛的測試,包括性能、安全性和 UAT,以確保解決方案滿足所有要求和標準。
- 主要做法:
- 使用環境變數管理特定於 QA 的設置和金鑰。
- 讓用戶參與 UAT 以收集反饋並確保解決方案滿足他們的需求。
- 盡可能自動化測試流程,以提高效率和準確性。
生產環境(Prod):
- 目的:託管解決方案的即時、面向使用者版本。
- 活動:成功進行 QA 測試後,受管理的解決方案將從 QA 環境匯出並導入到生產環境。 此環境受到嚴格控制,以確保穩定性和可靠性。
- 主要做法:
- 將解決方案部署為託管解決方案,以防止未經授權的更改。
- 使用環境變數管理特定於生產的設置和金鑰。
- 監控和維護解決方案以確保最佳性能並及時解決任何問題。
總體策略:
- 關注點分離:每個環境都有不同的目的,確保開發、測試、QA 和生產活動不會相互干擾。
- 自動化:自動化 ALM 流程,包括原始程式碼控制、測試和部署,以提高效率並降低出錯風險。
- 一致性:通過使用環境變數和自動化部署腳本來保持跨環境的一致性。
建立測試策略
確保您有一個明確的計劃來驗證您的 Copilot 和集成是否按預期運行。
為智慧應用程式工作負載定義測試策略。 使用測試框架 批量測試用戶話語,並驗證是否觸發了適當的主題,或者第一個「您是不是要找」選項在 90% 的情況下是正確的選項?
測試集成作為完整端到端對話測試的一部分,使用 Test Framework Scale test 功能。
使用 Power CAT Copilot Studio Kit 配置 Copilot 和測試。 針對 Copilot Studio API()Direct Line 運行單個測試,並根據預期結果評估 Copilot 回應。
確保您了解非功能性需求,例如可用性、合規性、資料保留/駐留、效能、隱私、復原時間、安全性和可擴充性。 例如,網站上的聊天 Widget 應在點擊后的 5 秒內載入並開始對話。 同樣,觸發以向使用者返回資訊雲端流程應在 10 秒內提供所需的數據。