一、準備工作
1、系統基礎功能驗證
效能測試在什麼階段適合實施?切入點很重要!一般而言,只有在系統基礎功能測試
驗證完成、系統趨於穩定的情況下,才會進行效能測試,否則效能測試是無意義的。
2、測試團隊組建
根據該項目的具體情況,組建乙個幾人的效能測試team,其中dba是必不可少的,然後需要一至幾名系統開發人員(對應前端、後台等),還有效能測試設計和分析人員、指令碼開發
和執行人員;在正式開始工作之前,應該對指令碼開發和執行人員進行一些培訓,或者應該由具有相關經驗的人員擔任。
3、工具的選擇
綜合系統設計、工具成本、測試團隊的技能來考慮,選擇合適的測試工具,最起碼應該滿足一下幾點:
①支援對web
(這裡以web系統為例)系統的效能測試,支援http和https協議;
②工具執行在windows
平台上;
③支援對webserver、前端、資料庫
的效能計數器進行監控;
4、預先的業務場景分析
為了對系統效能建立直觀上的認識和分析,應對系統較重要和常用的業務場景模組進行分析,針對性的進行分析,以對接下來的測試計畫設計進行準備。
二、測試計畫
測試計畫階段最重要的是分析使用者場景,確定系統效能目標。
1、效能測試領域分析
根據對專案背景,業務的了解,確定本次效能測試要解決的問題點;是測試系統能否滿足實際執行時的需要,還是目前的系統在哪些方面制約系統效能的表現,或者,哪些系統因素導致
系統無法跟上業務發展?確定測試領域,然後具體問題具體分析。
2、使用者場景剖析和業務建模
根據對系統業務、使用者活躍時間、訪問頻率、場景互動等各方面的分析,整理乙個業務場景表,當然其中最好對使用者操作場景、步驟進行詳細的描述,為測試指令碼開發提供依據。
3、確定效能目標
前面已經確定了本次效能測試的應用領域,接下來就是針對具體的領域關注點,確定效能目標(指標);其中需要和其他業務部門進行溝通協商,以及結合當前系統的響應時間等資料,確定
最終我們需要達到的響應時間和系統資源使用率等目標;比如:
①登入請求到登入成功的頁面響應時間不能超過2秒;
②報表審核提交的頁面響應時間不能超過5秒;
④伺服器的cpu平均使用率小於70%,記憶體使用率小於75%;
⑤各個業務系統的響應時間和伺服器資源使用情況在不同測試環境下,各指標隨負載變化的情況等;
4、制定測試計畫的實施時間
預設本次效能測試各子模組的起止時間,產出,參與人員等等。
三、測試指令碼設計與開發
效能測試中,測試指令碼設計與開發佔據了很大的時間比重。
1、測試環境設計
本次效能測試的目標是需要驗證系統在實際執行環境中的效能外,還需要考慮到不同的硬體配置是否會是制約系統效能的重要因素!因此在測試環境中,需要部署多個不同的測試環境,
在不同的硬體配置上檢查應用系統的效能,並對不同配置下系統的測試結果進行分析,得出最優結果(最適合當前系統的配置)。
這裡所說的配置大概是如下幾類:
①資料庫伺服器
②應用伺服器
③負載模擬器
④軟體執行環境,平台
測試環境測試資料,可以根據系統的執行預期來確定,比如需要測試的業務場景,資料多久執行一次備份轉移,該業務場景涉及哪些表,每次運算元據怎樣寫入,寫入幾條,需要多少的
測試資料來使得測試環境的資料保持一致性等等。
可以在首次測試資料生成時,將其匯出到本地儲存,在每次測試開始前導入資料,保持一致性。
2、測試場景設計
通過和業務部門溝通以及以往使用者操作習慣,確定使用者操作習慣模式,以及不同的場景使用者數量,操作次數,確定測試指標,以及效能監控等。
3、測試用例
設計確認測試場景後,在系統已有的操作描述上,進一步完善為可對映為指令碼的測試用例描述,用例大概內容如下:
用例編號:查詢表單_***_x1(命名以業務操作場景為主,簡潔易懂即可)
用例條件:使用者已登入、具有對應許可權等。。。
操作步驟:
①進入對應頁面。。。。。。
②查詢相關資料。。。。。。
③勾選匯出資料。。。。。。
④修改上傳資料。。。。。。
ps:這裡的操作步驟只是個例子,具體以系統業務場景描述;
4、指令碼和輔助工具的開發及使用
按照用例描述,可利用工具進行錄製,然後在錄製的指令碼中進行修改;比如引數化、關聯、檢查點等等,最後的結果使得測試指令碼可用,能達到測試要求即可;
ps:個人而言,建議盡量自己寫指令碼來實現業務操作場景,這樣對個人技能提公升較大;一句話:能寫就絕不錄製!!!
四、測試執行與管理
在這個階段,只需要按照之前已經設計好的業務場景、環境和測試用例指令碼,部署環境,執行測試並記錄
結果即可。
1、建立測試環境
按照之前已經設計好的測試環境,部署對應的環境,由運維或開發人員進行部署,檢查,並仔細調整,同時保持測試環境的乾淨和穩定,不受外來因素影響。
2、執行測試指令碼
這一點比較簡單,在已部署好的測試環境中,按照業務場景和編號,按順序執行我們已經設計好的測試指令碼。
3、測試結果記錄
根據測試採用的工具不同,結果的記錄也有不同的形式;現在大多的效能測試工具都提供比較完整的介面圖形化的測試結果,當然,對於伺服器的資源使用等情況,可以利用一些計數器或
第三方監控工具來對其進行記錄,執行完測試後,對結果進行整理分析。
五、測試分析
1、測試環境的系統效能分析
根據我們之前記錄得到的測試結果(圖表、曲線等),經過計算,與預定的效能指標進行對比,確定是否達到了我們需要的結果;如未達到,檢視具體的瓶頸點,然後根據瓶頸點的具體資料,
進行具體情況具體分析(影響效能的因素很多,這一點,可以根據經驗和資料表現來判斷分析)。
2、硬體裝置對系統效能表現的影響分析
由於之前設計了幾個不同的測試環境,故可以根據不同測試環境的硬體資源使用狀況圖進行分析,確定瓶頸是再資料庫伺服器、應用伺服器抑或其他方面,然後針對性的進行優化等操作。
3、其他影響因素分析
影響系統效能的因素很多,可以從使用者能感受到的場景分析,**比較慢,**速度尚可,這裡可以根據2\5\8原則對其進行分析;
至於其他諸如網路頻寬、操作動作、儲存池、執行緒實現、伺服器處理機制等一系列的影響因素,具體問題具體分析,這裡就不一一表述了。
4、測試中發現的問題
在效能測試執行過程中,可能會發現某些功能上的不足或存在的缺陷,以及需要優化的地方,這也是執行多次測試的優點。
六、效能測試思維導圖
效能測試流程
很多人剛剛接觸效能測試的時候,拿到客戶提出的大致需求,如併發使用者數是500,響應時間3秒。然後就開始做指令碼,加壓執行,收集測試結果 等客戶問到 某某流程支援多少併發?各個測試流程比例是否和實際使用者使用情況一致?可擴充套件需求情況如何?然後我們就傻眼了.拿到乙個效能測試任務的時候,我們首先需要明...
效能測試流程
一 需求提測 需求分析 查詢 1 效能指標 tps 現在大於17筆 秒,未來大於100筆 秒。rt小於500ms 2 介面是什麼 3 接 互協議是什麼 http 4 線上資料是多少 5w 5 部署幾台機器 6 系統架構 二 效能方案 1 業務分分析,系統架構,系統設計 2 效能指標 tps 現在大於...
效能測試流程
效能測試思路 資訊 你是有經驗的,你所說的都應該是做過的 效能角度 使用者 快 響應時間 response time 客戶 多 業務處理能力 吞吐量 tps hps pv 開啟頁面數 throughtput 開發商 軟體 演算法 db是否優化 運維 管理員 硬體 資源利用率 調研 1 目的 1 最大...