一、性能測試步驟

後端性能測試工具首先通過虛擬用戶腳本生成器生成基於協議的虛擬用戶腳本,然後根據性能測試場景設計的要求,通過壓力控制器控制協調各個壓力產生器以並發的方式執行虛擬用戶腳本,並且在測試執行過程中,通過系統監控器收集各種性能指標以及系統資源佔用率,最後通過測試結果分析器展示測試結果數據。

從宏觀角度來講,完成企業級性能測試,可以劃分為五個階段:

  1. 性能需求收集以及負載計劃制定;
  2. 錄製並增強虛擬用戶腳本;
  3. 創建並定義性能測試場景;
  4. 執行性能測試場景;
  5. 分析測試報告。

二、性能需求收集以及負載計劃制定

無論是進行什麼類型的測試,第一步工作都是要根據測試目的明確測試的具體需求。一般情況下,企業級後端性能測試的具體需求,主要包含以下內容:

  • 系統整體的並發用戶數;比如,高峰時段會有10萬用戶同時在線。
  • 並發用戶業務操作的分布情況;比如,20%的用戶在做登錄操作,30%的用戶在做訂單操作,其他50%的用戶在做搜索操作。
  • 單一業務操作的用戶行為模式;比如,兩個操作之間的典型停留時間,完成同一業務的不同操作路徑等。
  • 並發用戶高峰期的時間分布規律;比如,早上8點會有大量用戶登錄系統,晚上6點後用戶逐漸退出。
  • 達到最高峰負載的時間長度;比如,並發用戶從0增長到10萬花費的總時間。

完成這些點的測試,只要按照已經明確的需求,開發後續的測試腳本、設計性能測試場景就可以了。但是,如果想要成長為更資深的性能測試工程師,或者已經是性能測試的設計者、資深的性能測試工程師,就需要全程參與到這些需求的獲取和確定中。

獲取這些測試需求是性能測試中最難的兩個工作之一;另一個最難的工作是,測試結果分析與性能問題定位。而其他類似性能測試腳本開發、場景設計等工作看起來很有技術含量,但實際都是一些相對機械性的重複工作。

因為絕大多數情況下沒有明確告知具體的性能需求。對於功能測試來說,如果需求不明確,可以直接求助於產品經理。

對於性能測試需求而言,產品經理通常無法準確告知用戶的各個業務操作所佔的百分比,也無法告知準確的用戶行為模式。產品經理能做的,往往是給出定性描述,然後需要測試人員去計算或者根據過往經驗得到具體的定量需求。

另外,在得到負載模型以後,性能測試設計人員往往還會在此基礎上加入一定的負載冗餘,比如在峰值的基礎上再額外放大20%,以增強系統上線後穩定運行的信心。

通過上面這個分析過程可以認識到,性能測試需求的定義與計劃非常複雜,牽涉到項目的方方面面,需要不斷地沉澱在實戰中獲得的經驗。

三、錄製並增強虛擬用戶腳本

制訂了性能測試計劃後,接下來需要根據性能計劃中涉及的用戶業務操作來開發性能測試的腳本。

從整體角度來看,開發虛擬用戶腳本主要包括以下四個步驟:

  1. 識別被測應用使用的協議;
  2. 錄製腳本;
  3. 完善錄製得到的腳本;
  4. 驗證腳本的正確性。

四、創建並定義性能測試場景

五、執行性能測試場景

六、分析測試報告

性能測試報告的分析,是一項技術含量非常高的工作,優秀的性能測試工程,通過報告中的數值以及數值之間的相互關係,就能判斷出系統中可能存在的問題。性能測試報告的解讀,需要豐富的系統架構、性能理論以及大量實戰經驗的積累。


參考:

「極客時間」-《軟體測試52講》-《第32講 | 無實例無真相:基於LoadRunner實現企業級伺服器端性能測試的實踐(上)》 - 2018-09-10 茹炳晟

「極客時間」-《軟體測試52講》-《第33講 | 無實例無真相:基於LoadRunner實現企業級伺服器端性能測試的實踐(下)》 - 2018-09-12 茹炳晟

推薦閱讀:

相关文章