相比於普通的功能測試,效能測試對測試工程師的技能要求更高,一般來說,也只有中高階軟體測試工程師才有機會做效能測試。
一、效能測試報告的目的
效能測試報告的
目的是:
總結過程,呈現結論。
效能測試做完了,怎麼做的,各項指標怎麼樣,是否符合預期,我們需要透過一份報告來呈現。
同時,效能測試報告也是一份留檔,在下次業務擴容進行壓測的時候可以作為基線參考,可以更好地評估壓測指標。
效能測試報告給誰看?
在做效能測試的過程中,很多時候是要研發工程師協助一起完成的,
所以最終的報告不僅是我們自己要看,同時也要給研發工程師及架構師看。
因此,我們在撰寫報告的時候要把各個角色關注的指標有效地呈現出來。
二、效能測試過程中的關注點
效能測試分別要關注
施壓端
和服務端。
施壓端
即我們用來模擬壓力發出請求的伺服器,常用的工具有Jmeter、Loadrunner等,模擬較大壓力時通常採用多臺機器組成的叢集。
在施壓過程中,
施壓端一般要關注三個指標:
qps(請求量)、rt(響應時間)、error(錯誤率)。
服務端
即服務程式所在的機器,一般是多臺伺服器組成的叢集,在效能測試過程中是被壓測的物件。
服務端(或服務叢集)一般關注下面幾個指標
:qps(處理的請求量)、rt(響應時間)、cup(cpu使用率)、mem(記憶體佔用情況)、load(負載)、traffic(
網路速率
)。
為什麼要關注上述這些指標呢?看完指標具體含義,你就能get到了:
1)qps
QPS(Query Per Second),每秒鐘能夠處理的請求的數量,是衡量一個系統性能的重要指標。
2)rt
RT(Response Time),響應時間(一般單位為ms),是指從客戶端發一個請求開始計時,到客戶端接收到從伺服器端返回的響應結 果結束所經歷的時間,響應時間由請求傳送時間、網路傳輸時間和伺服器處理時間三部分組成。一般情況下,響應時間還會細分為:最小響應時間、
平均響應時間
、最大響應時間。
3)error
error請求錯誤率,一個請求預期正常的返回code為200,其它code(比如302、404、500等)均為非預期的,記為錯誤。錯誤率是指在施壓機發送的所有請求中,返回code非200的佔比。
4)cpu
CPU(%) 是指測試任務執行的這個時間段內,應用服務系統的 CPU 資源佔用率。這是對一個時間段內CPU使用狀況的統計,透過這個指標可以看出在某一個時間段內CPU被佔用的情況,如果被佔用時間很高,那麼就需要考慮CPU是否已經處於超負荷運作,長期超負荷運作對於機器本身來說是一種損害,因此必須將CPU的利用率控制在一定的比例下,以保證機器的正常運作。
5)mem
Memory (%) 指的是當前系統記憶體的使用量佔總記憶體大小的比率,反應當前機器配置情況對應用的記憶體的一個承載能力,判斷擴容等重要指標。
6)load
Load 就是一定時間內,計算機的任務執行佇列的長度,cpu計算的佇列。 平均Load是指,在特定的一段時間內統計的正在CPU中執行的(R狀態)、正在等待CPU執行的、處於不可中斷睡眠的(D狀態)的任務數量的平均值。平均Load是最常用的指標。
7)traffic
Traffic (kb/s) 指的是網路傳輸的速率,反應了當前應用所屬伺服器頻寬的使用情況。可以細分為 in(入) 和 out(出),一般會統計 最大值、最小值、平均值等。
三、如何做一份精緻的報告
壓測結束,最後要輸出測試報告,一份精緻的報告不僅能夠很好地展示測試結果,同時也是體現自己的專業性的機會。
1、通過幾個問題來介紹精緻報告組成部分
問題1、用什麼文件寫?
如果自己所在公司沒有規定,建議緊跟線上協作的趨勢,使用線上文件編寫,比如騰訊文件、釘釘文件、
飛書文件
等,功能都很豐富好用。
如果自己的所在公司有內部協作平臺,就在指定平臺上寫,最終成稿之後複製到郵件正文傳送即可。
問題2、用什麼語言寫?
根據自己公司的型別來,一般國內公司就用中文,沒必要用英文,花裡胡哨反而不好。
如果是在國際化企業,有不同國籍員工,那就要用公司規定的語種。
問題3、報告內容用圖表還是文字?
我們可以參考優秀的報告模板,總結下來就是字要少,圖表要豐富,能用圖說明的絕不用文字。
相比於文字,圖表顯得專業、高階,而且壓測資料一般都是變化的,只有圖表才能夠準確直觀地展示壓測過程的各項指標。
測資料的圖表一般在壓測工具(Jmeter可以使用第三方外掛)中會自動生成【下方有Jmeter使用影片】,需要我們截圖並整理。圖表有了,接下來就該整理撰寫報告了。
問題4、關鍵內容有哪些?
一份完整的報告應該包含以下關鍵內容:
壓測資訊(包含任務名稱、壓測時間、相關責任人等)
施壓機資訊(包含機房資訊、機器配置等)
服務端資訊(包含機房資訊、機器配置等)
壓測結果(包含平均qps、最大最小耗時、cpu平均使用率、記憶體平均使用率、總的請求數、錯誤率等)
壓測詳情(單個介面時該內容可省略,多個介面時,則將第4項內容按介面拆分展示)
壓測指標(三大指標
qps
、rt、error的圖表放在這裡)
服務監控指標
(伺服器或叢集的指標圖表放在這裡)
問題5、排版格式注意什麼?
報告中字型要協調統一,縮排換行等基本排版要美觀。
問題6、報告附件補充什麼?
測試方案
測試測資料
問題7、傳送報告的注意事項
使用公司指定的郵箱傳送
收件人應包含相關的各個角色
2、給出一份測試報告的樣例,作為參考
作為程式設計師,大家都普遍都低調含蓄,但是該展現自己專業性的時候一定要積極表現。
對於測試工程師來說不僅要掌握專業的測試技能,同時也要提升各種文件的撰寫能力,讓自己的技能得到全面的展現。
更多軟體測試相關學習禮包點選:
需要入門課程、資料、工具、筆記的小夥伴,點選這裡領取!