目錄:導讀
- 前言
- 一、Python編程入門到精通
- 二、接口自動化項目實戰
- 三、Web自動化項目實戰
- 四、App自動化項目實戰
- 五、一線大廠簡歷
- 六、測試開發DevOps體系
- 七、常用自動化測試工具
- 八、JMeter性能測試
- 九、總結(尾部小驚喜)
前言
性能測試方法
1、驗收性能測試
模擬生產上線業務環境,測試是否滿足性能需求
特點:
確定用戶的環境
用戶需求的性能指標
執行、分析結果
驗收性質
測試結果要有客觀性
2、負載測試
主要考察軟件系統在既定負載下的性能表現,其中既定負載一般是指客戶需求的負載。
測試指標一般體現在:響應時間、交易容量TPS(或者吞吐量)、并發容量以及資源使用率等。
3、壓力測試
為了考察軟件系統在極端條件下的表現,我們需要進行壓力測試。其中極端條件可以是超負荷的交易量和并發用戶數。
這個極端條件可能要遠高于用于的性能需求。
壓力測試的目的是:系統出現問題后,需要考察系統處理問題的方式。如我們期待軟件系統在面臨壓力的情況下仍然可以保持穩定,處理速度可以稍微慢些,但是系統不能崩潰。
通過壓力測試可以讓我們識別系統的弱點(或bug)以及了解系統在極限負載下程序將如何運行。
4、并發測試
目的:驗證系統的并發處理能力。
手段:和客戶端建立大量的并發連接時,通過客戶端的響應時間和服務端的性能監測情況來判斷系統是否達到了既定的并發能力指標。
5、配置測試
通過對被測系統軟硬件環境的調整,了解不同環境對系統性能影響的程度,從而找到系統各項資源的最優分配原則。
6、可靠性測試
目的:測試系統在一定負載下長時間運行是否會發生問題。
原因:軟件系統的有些問題并不能一下子就暴露出來,需要時間積累才能達到能夠度量的程度。如內存泄露問題需要經過一段時間積累才能慢慢變得顯著,在運行初期缺很難檢測出來。
7、恢復性測試
目的:驗證系統在局部出現故障情況下,能否繼續使用。 – 針對這一問題,關鍵的業務系統都會采用熱備份或者負載均衡的方式實現系統的恢復。
性能測試關鍵指標
1、響應時間
2、并發用戶數
平均并發用戶數的計算:C = nL/T
其中,C表示平均的并發用戶數
n:表示平均每天訪問用戶數
L:表示一天內用戶從登陸到退出的平均時間
T:表示考察時間,即一天內多長時間有用戶使用系統
3、吞吐量:單位時間內處理用戶請求的數量
4、系統性能計算器
5、思考時間
性能瓶頸定位思路
整體思路:從前到后,從表象到內部
1、首先排查壓力機自身的問題,如CPU、內存、網絡、腳本
2、監控中間件的訪問日志,觀察相應時間耗時,出現在哪一個環節。Tomcat、nginx、apache、mysql
3、排查網絡問題,監控壓力機到后端服務器的網絡是否出現瓶頸
4、監控服務端的所有機器(Tomcat、nginx、apache、mysql)的操作負載,CPU、內存、網絡、磁盤是否達到瓶頸
5、監控應用服務器日志,查看是否存在ERROR、timeout、等報錯
6、監控中間件連接數是否達到上線,比如tomcat、nginx、mysql連接數是否達到上線
7、監控應用程序的線程狀態,使用jstack、jvisualvm查看是否有死鎖、阻塞等情況
8、監控應用程序的jvm,使用jstat、jamp查看gc情況,是否存在內存泄漏
9、監控耗時比較長的代碼方法,使用jprofiler監控應用程序
10、監控數據庫,是否存在慢查詢,一般數據庫CPU高都是因為sql語句效率低
11、監控數據庫的執行計劃,是否有全表掃描,預計索引不生效的情況
12、檢查系統外部依情況,如果外部依賴系統性能差,也會造成本系統性能低
13、對于不好定位的問題,可以考慮采用模塊隔離法來確定問題
下面是我整理的2023年最全的軟件測試工程師學習知識架構體系圖 |
一、Python編程入門到精通
二、接口自動化項目實戰
三、Web自動化項目實戰
四、App自動化項目實戰
五、一線大廠簡歷
六、測試開發DevOps體系
七、常用自動化測試工具
八、JMeter性能測試
九、總結(尾部小驚喜)
不要害怕前進的路途再漫長,只因腳下有堅定的步伐;不要畏懼人生的風雨再狂暴,只因心中有無盡的勇氣。奮斗吧,這世界正等待你展現璀璨的光芒!
不管遇到何等艱難險阻,心中要始終燃燒著激情與勇氣;不論前方多么迷茫困頓,永遠保持信念與堅定的步伐。奮斗的人生,終將綻放屬于自己的輝煌與榮耀!
每一次堅持,都是超越自己的勇敢;每一次努力,都是邁向輝煌的腳步。不停奮斗,才能收獲無盡的可能。相信自己的力量,勇往直前,終將書寫屬于自己的傳世之章。