引言
在進入今天的內容前, 先想幾個問題:
什么是測試計劃?
什么是性能測試計劃?
在你的性能知識領域中, 你認為性能測試計劃應該包含哪些內容?
因為作為企業的金牌面試官, 經過我面試的求職者,沒有四位數,至少也有個位數。無論是性能測試的小白還是高級性能測試工程師,幾乎都沒有認真的或者完整的去實施過性能測試計劃。
![]()
其實,導致這種現在的原因,無非兩種:
1、企業 不太注重 性能測試;
2、測試人員本身的能力不足。
看到這里, 你是不是會說, 你看:不是我不專業,不是我不想寫專業的性能測試計劃,只是我的企業對性能測試計劃的要求不高。
作為一名性能測試工程師,你的專業度,一定是高于企業里的其他人,所以,你要做的,就是把你的專業,無限的放大,來完善企業中的空白。
切勿有這種想法:反正BOSS不專業, 我隨便寫幾段話糊弄過去就行了。同時,也為了能讓你在與面試官的聊天中,體現你的專業,讓面試官"折服"你,我寫了這篇文章,希望你能學以致用。
什么是性能測試計劃
說道什么是性能測試計劃, 我們就不得不提,什么是測試計劃。引用官方文檔:
描述了要進行的測試活動的范圍、方法、資源和進度的文檔;
是對整個信息系統應用軟件組裝測試和確認測試;
它確定測試項、被測特性、測試任務、誰執行任務、各種可能的風險;
測試計劃可以有效預防計劃的風險,保障計劃的順利實施。
在項目的前期,測試計劃是必須要做的,也是一名軟件測試管理者必須具備的能力。一份完整的測試計劃,可以:
為測試各項活動制定一個現實可行的、綜合的計劃,包括每項測試活動的對象、范圍、方法、進度和預期結果;
確定測試所需要的時間和資源,以保證其可獲得性、有效;
確立每個測試階段測試完成以及測試成功的標準、要實現的目標;
識別出測試活動中各種風險,并消除可能存在的風險,降低由不可能消除的風險所帶來的損失。
你看, 測試計劃的優勢這么多:
向上:領導做宏觀調控;
向下:測試人員了解項目不同階段的測試任務。
你還覺得測試計劃的不重要嗎?
知道了測試計劃,那我們再來聊一聊性能測試計劃。簡單的一句話概括:就是針對項目的性能制定的測試計劃。
測試計劃包含整體測試的各個階段:接口、功能、性能、自動化、集成等……
而性能測試計劃,就是針對性能測試的計劃設定,理解了性能測試計劃,那:
性能測試計劃包含哪些內容?
以及如何編寫有效的性能測試計劃呢?
如何讓你的性能測試計劃符合實際的項目呢?
帶著這些疑問,我們來逐一聊一聊。
性能測試計劃包含的內容
說到性能測試計劃, 我先上一個圖:
![]()
看到這份性能測試計劃, 是不是感覺似曾相識。是不是與你編寫的性能測試計劃的方案一樣?是不是覺得,這些內容,已經足夠了?
如果你是這樣想,那么,還請你思考以下幾個問題:
如果沒有性能目標,你能否進行性能測試;
如果沒有性能場景和性能指標,你能否編寫性能腳本;
如果沒有系統架構圖, 你能否快速的了解系統架構邏輯;
如果沒有部署監控,你能否快速的定位及分析性能瓶頸。
你看,這些都是在實際的性能測試中需要的,那肯定就需要在性能測試計劃中列出來。否則, 如何進行腳本設計,如何進行監控部署,如何發現問題,分析性能瓶頸呢?
按照上面的思路, 我再提供一張性能測試計劃圖,來對比一下:
![]()
通過這兩張圖的對比,可以發現,第二張圖更完整,不管向上對老板,向下對員工,都是一目了然。所以,你可以發現,一份好的性能測試計劃,即使給外行人看,也能知道要目的和要做的內容。
這時候,你可能有疑問,我這份性能測試計劃這么多內容,那要寫多長時間呢?每一項的內容,又要如何來寫呢?如何讓一個性能測試小白,快速掌握性能測試計劃的編寫要領呢?
這里,我就逐一進行拆解。
背景
先描述項目背景, 再闡述本次項目性能測試背景。
性能目標
結合性能測試的場景,設定測試目標,例如:
根據基準場景:測試某接口的最大容量;
根據穩定性場景:測試某接口的最大運行時間。
壓測范圍
根據系統的主流程,篩選需要壓測的接口,如:
計算接口;
同步接口;
其他主要接口。
啟停準則
這里主要包含:
啟動準則:完事具備,需要開始進行性能測試;
結束準則:所有測試任務都完成,結束測試;
暫停準則:在測試過程中,因測試環境受到干擾無法進行測試,導致暫停測試;
再啟動準則:解決完測試過程中的問題,可以繼續進行測試。
性能指標
包含內容,如下:
目標接口;
目標TPS;
TPS標準方差;
響應時間;
響應時間標注方差。
系統架構圖
系統邏輯架構圖;
系統部署架構圖。
壓測前準備
主要是硬件資源,例如:
服務器臺數:根據實際項目需要進行申請;
服務器用途:數據庫、緩存、集群、應用服務、監控服務部署等等;
服務器配置:需要根據上線的服務器配置一樣。
工具準備
壓測工具:實際壓測的工具,例如:Jmeter、Ladrunner、Lcust等;
監控工具:Prmethues、Grafana、Kafka、Lgstash、Spring Bt Admin等。
數據準備
測試腳本數據的準備:
讀取csv文件的數據;
直接寫入數據庫的數據。
性能設計
包含兩部分,即:
性能測試策略:連續、遞增策略;
業務場景設計:4種場景,如:基準場景、容量場景、穩定性場景、異常場景。
監控設計
包含兩部分,如下:
全局監控設計:如 Prmetheus、Grafana、Spring Bt Admin等;
定向監控設計:對具體的應用、數據庫等進行監控分析,如 jstack、mysqlreprt等。
項目組織架構
參與性能測試的項目組成員:
PM
架構師
開發工程師
性能測試工程師
性能腳本編寫工程師:性能測試分析工程師、運維
成果輸出
包含三部分內容,即
過程性輸出:性能測試腳本、性能缺陷列表;
性能測試報告;
性能調優報告。
項目風險分析
主要通過以下幾點進行分析:
業務層的需求是否明確;
環境問題;
數據問題;
業務模型;
人員問題等等。
你看,我把性能測試計劃每一項的內容進行拆解, 這樣是不是就通俗易懂了。但是這個顆粒度,我覺得作為一名測試經驗不夠豐富的性能工程師來說,還是有些迷茫。
在下篇文章中,我會把上面的內容再進行拆分并落地,讓你徹底掌握編寫性能測試計劃的方法。
最后:在我的V :atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.