負載測試方案(一)
- 目的
負載測試,是效能測試中的一種,通過測試系統、資料在資源超負荷環境(梯度漸進的過程)中執行時,持續正常執行的能力,程式能否承擔,分析其效能行為,以發現效能瓶頸、記憶體洩漏、資料不能實時同步等設計上的錯誤或驗證系統的負載能力。
注:負載測試屬於效能測試的子集,負載測試是測試軟體本身最大所能承受的效能測試,如一個人背X斤:
負載測試:50斤、100斤、200斤情況下,是否能堅持5分鐘。
壓力測試:200,300,400...斤情況下的表現,什麼時候失敗,失敗之後什麼表現,重新扛200是否正常。
容量測試:在堅持5分鐘的情況下,他一次最多能扛多少斤。
梯度漸進的過程:通過逐步增加系統負載,確定在滿足效能指標的情況下,系統所能承受的最大負載量。
- 實現
怎麼在保證在合理時間(有限的時間)內完成合理的測試。
-
- 瞭解被測物件的需求及實現技術
測什麼、怎麼測是要切合實際需求、專案具體實現來分析的
-
- 確定基量數
跟據需求,將效能測試指標進行抽象化,基礎資料容量、業務資料容量、最佳併發數等。
-
- 確定測試場景
以“併發,迴圈操作,多使用者”為主,結合實際需求,進行場景組合分析,確定測試場景,有目的的進行測試。
-
- 測試資源籌備
可測試性分析、測試資源(硬體資源、軟體資源、人力資源、時間資源)籌備。
-
- 測試執行
藉助自開發指令碼(Python、Java、sql、nosql)、工具輔助(jmeter、SoapUI、loadrunner、postman等)。
-
- 持續整合測試
Jenkins持續整合測試,持續跟蹤測試,很多效能問題不是1次,2次,1天、2天就能立馬暴露出來的。
-
- 結果分析
效能須要透過表象看本質,結合系統架構、軟硬體配置、網路寬頻等進行分析。
A、指標分析:吞吐量、tps每秒處理事務數,每秒請求事務數量、響應時間、錯誤率等。
B、伺服器監控:cpu、記憶體、磁碟IO、負載Load。
C、日誌分析:日誌列印、耗時情況、錯誤率、模組或函式被呼叫的情況。
-
- 風險分析、識別
敏捷測試理念引入:測試動作要提前,全過程參與,傳統的軟體測試相比,全過程測試管理方式不僅可以有效降低產品的質量風險,而且還可以提前對軟體產品缺陷進行規避、縮短對缺陷的反饋週期和整個專案的測試周期,建立“以預防為主”的質量意識,缺發現得越晚,修復成本越大,風險也越高(如修改引入新問題)。
XXX專案知識圖譜測試方案
- 測試關鍵活動
(該活動的實施不全都是面向測試人員)
軟體測試活動包括設計評審,程式碼走讀,資料測試(資料分層測試、資料庫測試),效能測試,使用者介面測試、系統測試等。
設計評審,程式碼正規檢視,資料測試:解決各節點(資料提取、轉換、載入)資料轉換規則、計算規則、資料修復錯誤,絕大部分邏輯錯誤等問題。
效能測試:穿插各個階段進行
使用者介面測試、系統測試:測試階段完成,要發現隱藏深入的邏輯問題及模組間配合問題。
資料分層測試:提早實施測試、便於問題範圍定位、分析
以測試小組的方式開展工作。通過加強不同業務模組測試與測試之間,相同業務模組測試與開發和產品經理之間的溝通交流,來提高人員的測試水平,提升測試質量。
測試過程中需要不斷總結,形成可共享的測試方法和經驗。