性能測試流程
性能需求分析
測試人員需要與需求人員(客戶)、領導及項目相關人員進行溝通,同時收集各種項目資料,對系統進行分析,確認測試的意圖。另外,還要需要客戶對性能的態度。重點關注性能指標。
注意事項:
有時測試人員面對的是一般客戶提出來的性能要求,對於一般客戶來說,他們對於性能測試各項要求並不了解,他們可能希望被測系統越快越好,容量越大越好,此時我們需要對系統的性能、測試技術實現方式做好評估后,需要我們介紹性能指標給客戶,明確每個指標的終值,以及告知大概如何設計場景得到這些數據。
需求文檔案例
某系統需求中性能部分的說明如下:
要掌握哪些性能測試需求
系統響應時間要求
每秒完成的業務量的要求
系統資源使用情況要求
用戶並發量以及使用場景設計要求
性能測試計划
測試環境的准備,軟硬件配置,網絡狀況,測試數據的准備
明確測試策略:設計符合需求的測試場景,需要對系統那些業務模塊進行測試
明確人員配備:除測試人員,還包括開發,數據庫,運維等人員的參與協作,性能測試的時間安排。
軟件的運行環境:包括軟件、硬件、網絡環境
測試資源:人力、電腦、工具、數據等
交付物
測試進度計划
性能測試目標要求:性能指標要求
測試策略:性能測試的類型
風險評估:測試啟動、結束、暫停、再啟動、退出准則
注意事項:
服務器和客戶端一定要在同一個局域網內,否則網絡因素會成為性能測試的瓶頸。
在性能測試中要增加一些必要的檢查點(斷言),否則都不知道是否執行操作成功。但是也不要加太多檢查點,否則會影響性能指標
測試程序中要加一些等待時間,使得測試和真是情況一致。但是統計響應時間時要過濾這些時間。
盡量統計出每個頁面、每個動作的響應時間以及響應時間的細分(域名解析、服務器時間、網絡傳輸時間、客戶端時間等),以便更好的分析測試結果
運行性能測試時關閉日志功能,調試腳本時打開日志功能
性能測試的數據准備,盡量保證數據庫里的數據和真實生產環境里的數據同步或略多於真實環境數據,如果數據會不斷累加,要考慮軟件整個生命周期內可能最大數據量
誤區
誤區1:應用程序必須在功能測試通過后才能做性能測試
說明:整體性能需要,但是小模塊接口性能測試也應該盡早展開
誤區2:性能測試要像功能測試一樣,覆蓋到所有功能
說明:不是所有功能,根據二八原則有選擇的制定性能測試方案
誤區3:系統吞吐率雖則並發增加而增加
說明:並不是線性增長,有峰值和平穩期
誤區4:我們一定要想方設法達到客戶給出的性能指標要求
說明:有些需要和客戶溝通增加硬件配置等解決性能瓶頸問題
誤區5:壓力測試、負載測試、容量測試等要一一分開執行
說明:一個整體系統性能測試場景里,應該包括各種類型對的測試
誤區6:性能測試就是工具的使用
說明:工具只是輔助作用,測試方案、場景的分析、問題的定位才是關鍵