天天看點

一個完整的性能測試流程

1、系統基礎功能驗證

性能測試在什麼階段适合實施?切入點很重要!一般而言,隻有在系統基礎功能測試驗證完成、系統趨于穩定的情況下,才會進行性能測試,否則性能測試是無意義的。

2、測試團隊組建

根據該項目的具體情況,組建一個幾人的性能測試team,其中DBA是必不可少的,然後需要一至幾名系統開發人員(對應前端、背景等),還有性能測試設計和分析人員、腳本開發

和執行人員;在正式開始工作之前,應該對腳本開發和執行人員進行一些教育訓練,或者應該由具有相關經驗的人員擔任。

3、工具的選擇

綜合系統設計、工具成本、測試團隊的技能來考慮,選擇合适的測試工具,最起碼應該滿足一下幾點:

①支援對web(這裡以web系統為例)系統的性能測試,支援http和https協定;

②工具運作在Windows平台上;

③支援對webserver、前端、資料庫的性能計數器進行監控;

4、預先的業務場景分析

為了對系統性能建立直覺上的認識和分析,應對系統較重要和常用的業務場景子產品進行分析,針對性的進行分析,以對接下來的測試計劃設計進行準備。

二、測試計劃

測試計劃階段最重要的是分析使用者場景,确定系統性能目标。

1、性能測試領域分析

根據對項目背景,業務的了解,确定本次性能測試要解決的問題點;是測試系統能否滿足實際運作時的需要,還是目前的系統在哪些方面制約系統性能的表現,或者,哪些系統因素導緻

系統無法跟上業務發展?确定測試領域,然後具體問題具體分析。

2、使用者場景剖析和業務模組化

根據對系統業務、使用者活躍時間、通路頻率、場景互動等各方面的分析,整理一個業務場景表,當然其中最好對使用者操作場景、步驟進行詳細的描述,為測試腳本開發提供依據。

3、确定性能目标

前面已經确定了本次性能測試的應用領域,接下來就是針對具體的領域關注點,确定性能目标(名額);其中需要和其他業務部門進行溝通協商,以及結合目前系統的響應時間等資料,确定

最終我們需要達到的響應時間和系統資源使用率等目标;比如:

①登入請求到登入成功的頁面響應時間不能超過2秒;

②報表稽核送出的頁面響應時間不能超過5秒;

③檔案的上傳、下載下傳頁面響應時間不超過8秒;

④伺服器的CPU平均使用率小于70%,記憶體使用率小于75%;

⑤各個業務系統的響應時間和伺服器資源使用情況在不同測試環境下,各名額随負載變化的情況等;

4、制定測試計劃的實施時間

預設本次性能測試各子子產品的起止時間,産出,參與人員等等。

三、測試腳本設計與開發

性能測試中,測試腳本設計與開發占據了很大的時間比重。

1、測試環境設計

本次性能測試的目标是需要驗證系統在實際運作環境中的性能外,還需要考慮到不同的硬體配置是否會是制約系統性能的重要因素!是以在測試環境中,需要部署多個不同的測試環境,

在不同的硬體配置上檢查應用系統的性能,并對不同配置下系統的測試結果進行分析,得出最優結果(最适合目前系統的配置)。

這裡所說的配置大概是如下幾類:

①資料庫伺服器

②應用伺服器

③負載模拟器

④軟體運作環境,平台

測試環境測試資料,可以根據系統的運作預期來确定,比如需要測試的業務場景,資料多久執行一次備份轉移,該業務場景涉及哪些表,每次操作資料怎樣寫入,寫入幾條,需要多少的

測試資料來使得測試環境的資料保持一緻性等等。

可以在首次測試資料生成時,将其導出到本地儲存,在每次測試開始前導入資料,保持一緻性。

2、測試場景設計

通過和業務部門溝通以及以往使用者操作習慣,确定使用者操作習慣模式,以及不同的場景使用者數量,操作次數,确定測試名額,以及性能監控等。

3、測試用例設計

确認測試場景後,在系統已有的操作描述上,進一步完善為可映射為腳本的測試用例描述,用例大概内容如下:

用例編号:查詢表單_xxx_x1(命名以業務操作場景為主,簡潔易懂即可)

用例條件:使用者已登入、具有對應權限等。。。

操作步驟:

①進入對應頁面。。。。。。

②查詢相關資料。。。。。。

③勾選導出資料。。。。。。

④修改上傳資料。。。。。。

PS:這裡的操作步驟隻是個例子,具體以系統業務場景描述;

4、腳本和輔助工具的開發及使用

按照用例描述,可利用工具進行錄制,然後在錄制的腳本中進行修改;比如參數化、關聯、檢查點等等,最後的結果使得測試腳本可用,能達到測試要求即可;

PS:個人而言,建議盡量自己寫腳本來實作業務操作場景,這樣對個人技能提升較大;一句話:能寫就絕不錄制!!!

四、測試執行與管理

在這個階段,隻需要按照之前已經設計好的業務場景、環境和測試用例腳本,部署環境,執行測試并記錄結果即可。

1、建立測試環境

按照之前已經設計好的測試環境,部署對應的環境,由運維或開發人員進行部署,檢查,并仔細調整,同時保持測試環境的幹淨和穩定,不受外來因素影響。

2、執行測試腳本

這一點比較簡單,在已部署好的測試環境中,按照業務場景和編号,按順序執行我們已經設計好的測試腳本。

3、測試結果記錄

根據測試采用的工具不同,結果的記錄也有不同的形式;現在大多的性能測試工具都提供比較完整的界面圖形化的測試結果,當然,對于伺服器的資源使用等情況,可以利用一些計數器或

第三方監控工具來對其進行記錄,執行完測試後,對結果進行整理分析。

五、測試分析

1、測試環境的系統性能分析

根據我們之前記錄得到的測試結果(圖表、曲線等),經過計算,與預定的性能名額進行對比,确定是否達到了我們需要的結果;如未達到,檢視具體的瓶頸點,然後根據瓶頸點的具體資料,

進行具體情況具體分析(影響性能的因素很多,這一點,可以根據經驗和資料表現來判斷分析)。

2、硬體裝置對系統性能表現的影響分析

由于之前設計了幾個不同的測試環境,故可以根據不同測試環境的硬體資源使用狀況圖進行分析,确定瓶頸是再資料庫伺服器、應用伺服器抑或其他方面,然後針對性的進行優化等操作。

3、其他影響因素分析

影響系統性能的因素很多,可以從使用者能感受到的場景分析,哪裡比較慢,哪裡速度尚可,這裡可以根據2\5\8原則對其進行分析;

至于其他諸如網絡帶寬、操作動作、存儲池、線程實作、伺服器處理機制等一系列的影響因素,具體問題具體分析,這裡就不一一表述了。

4、測試中發現的問題

在性能測試執行過程中,可能會發現某些功能上的不足或存在的缺陷,以及需要優化的地方,這也是執行多次測試的優點。

六、性能測試思維導圖

一個完整的性能測試流程
一個完整的性能測試流程

以上就是一個較簡單,完整的性能測試過程,當然其中很有很多值得分析和探讨的内容,限于篇幅和時間問題,這裡不一一贅述,以後會慢慢對性能測試執行、瓶頸分析、優化的内容不斷

本文轉載自

  • 原文作者:老_張
  • 原文連結:https://www.cnblogs.com/imyalost/p/6854479.html