前幾天,聽了悟石、文朗、風良同學的效能測試分享會,真是受益匪淺!但是對於我們這些效能測試的菜鳥同學來說,還真是有點小深奧啊。在這裡
整理了一下自己以前學習效能測試時的一些小積累,以一個菜鳥的身分來聊一下效能測試的流程啊!算是做一個請教啊,有不對的地方還請多多灌水啊!
我們先從實際出發,如果有一個項目要找你做效能測試,你要做什麼工作?
情境:客戶(這裡的客戶只是一個代名詞)要你做一個系統的並發使用者數測試。這時候做為一個效能測試工程師你要做什麼工作?
借用文朗同學的模型也分三個階段:計劃階段、執行階段、輸出階段!
一、計劃階段
I、明確測試需求
客戶提出來的需求可能是通俗的或者不明確的,做為一個效能測試工程師你必須用你的專業去和客戶溝通,引導客戶發現客戶的隱性需求,並以專業術語將需求明確化。比如我們的情境,客戶可能提出的只是要測系統的並發使用者數,我們則必須考慮到在最大並發使用者數時系統的資源使用率問題,以及最能直觀反應使用者的RT時間等等,並將此細化做為一個需求!
II、確認測試對象的環境
A、軟體環境
你必須知道被測試系統的以下資訊:
1、系統架構(B/S OR C/S架構,如果是B/S必須明確測試的對象是線上的還是不是線上的,如果是線上的你要考慮適當的加壓策略,絕不能在測試過程中把系統壓垮。
2、被測系統所使用的協議、連接埠、操作平台、開發的語言以及代理
3、被測試系統的伺服器,包括APP伺服器,WEB伺服器,DB伺服器!各個伺服器請一定細化到版本,以類比真實的測試環境。
B、資料環境
1、你要知道與系統許可權相關的一些資訊,比如說帳戶名稱/密碼
2、你要明確測試過程中使用到的大資料量是由誰提供。
3、一些特殊情況的處理!比如說如果這個系統有驗證碼功能,你要怎麼辦,是讓開發給你開一個後門還是直接屏蔽掉驗證碼的功能或者其它的解決辦法。
C、硬體環境
你需要瞭解被測系統伺服器的類型及具體配置以及網路環境及負載機的情況!!
III、熟悉業務進行情境分析
在得到以上兩方面的資訊後,你還要知道被測試系統的具體商務程序,這裡我們只要知道系統的常用工作流程就可以了。這時候系統的日誌會給我們很大的協助,所以別忘記向客戶要系統的記錄檔。有了這些資料,你就可以進行情境分析了。
IV、瞭解你的測試資源
這一部分就和功能測試差不多了,包括時間的資源,人力的資源以及工具的情況
有了上述四部分的資訊你就可以準備你的效能測試計划了,與功能測試計劃不同的是,在效能測試計劃裡面我們會把我們的效能測試用例寫在計劃裡。
二、執行階段
一般情況下效能測試的執行會分三個步驟來進行:分別是DE-BUG RUN(使用較少的Vuser數及較少的時間來執行,主要目的是驗證指令碼的功能的正確性) 、Capacity Testing(依據測試案例進行測試,主要目的是驗證系統的效能,不通過的話則要進行效能調優) 、Stress Testing(傳說中的壓力測試,一般會執行較長時間24H,48H,72H不等)
在這裡要特別提一下效能調優也就是效能分析過程。效能分析絕對是效能測試的精髓。N多的效能計數器!N多的小工具!N漂亮的效能分析圖!記得以前一同事說,看效能測試分析圖就要看股市的K線圖一樣,外行看熱鬧,內行看門道!越看越有勁!!!可惜我是外行!!!
三、輸出階段
有了前面的基礎你就可以對你的整個效能測試過程做一個總結了,也就是我們的效能測試報告了。這時候就是我們收穫的時刻了,狂歡吧!!!