根據主要使用者流程定義負載測試

已完成

負載測試是持續驗證的重要部分。 若要開始使用,您必須識別應用程式流程。 在本單元中,您會了解使用者和系統流程、為何重要,以及測試的設計準則。

什麼是應用程式流程?

流程是由完成工作所需的應用程式互動所組成。

  • 使用者流程

    這些流程會指出使用者如何與您的應用程式互動。 在 Contoso Shoes 案例中,購買項目的結帳程序是使用者流程的範例。 有參與庫存管理的這些元件:

    • 前端 Web 應用程式
    • Azure Functions 中的結帳邏輯
    • Azure Cosmos DB 中的後端資料庫

    從任務關鍵性的觀點而言,這些元件必須具有高可用性,且能夠從失敗復原。 例如,前端網頁需要快速載入,因為組織預期同時有大量使用者。

  • 系統流程

    這些流程通常並非使用者面向,但是系統流程元件的中斷或降低可能會影響使用者體驗。 例如,系統流程可為非同步活動,會從資料庫挑選訂單,並產生出貨標籤。

注意

大部分的應用程式都有多個流程。 每個流程都可以觸及結構的各種元件。 此外,元件可以出現在多個流程中。 請務必了解元件失敗時,哪些流程會受到影響。

定義負載測試及其閾值

負載測試會模擬真實世界的流量,以測試應用程式的效能。 不過,目標不是產生大量負載來中斷您的系統。 該目標可以透過壓力測試來達成。

負載測試可協助識別使用者流程元件的效能、效能限制、資源使用率,以及最佳調整行為。 負載測試應該反映每個相關的使用者流程和系統流程。 良好的設計需要有應用程式的知識。 從詢問問題開始,例如:

  • 需要進行哪些 API 呼叫?
  • API 呼叫的順序為何?
  • 應該搭配 API 呼叫使用哪些測試資料?

根據答案:

  1. 識別重要案例和相依性,並設定預期的使用方式、可用性、效能和可擴縮性目標。

  2. 定義一組可測量的閾值,以量化關鍵案例的預期效能。 例如,針對應用程式元件,您可以考慮預期使用者登入數目的閾值、API 每秒要求數,以及背景程序的每秒作業數。

  3. 使用閾值來定義負載測試,產生實際流量來測試應用程式效能、驗證預期的調整作業和相關活動。 使用這些閾值來為涵蓋測試和生產的應用程式開發健康情況模型。

    在結帳程序流程範例中,您可以將每個步驟的平均頁面載入持續時間閾值設定為小於 500 毫秒,並同時支援最多 100 個使用者。

現在您已定義所有臨界值,可以實作負載測試。 本課程模組使用 Azure 負載測試

雖然您可以透過 Azure 入口網站來設定及部署 Azure 負載測試,但是強烈建議使用程式設計方法。 使用 API 以自動化方式部署、設定及執行測試。 下一個單元會討論該方法。

知識檢查

1.

所有使用者和系統流程是否同樣重要?

2.

元件的中斷一律會導致服務降低嗎?

3.

負載測試是否可以協助您評估使用者流程的預期效能?