1、性能測試流程
需求調研-測試環境搭建-測試腳本編寫-數據製造-執行測試-迴歸調優-執行報告
2、java 線程的狀態,影響比較大的狀態是
runnable, waiting, timewaiting,blocked,terminter
blocked timewaiting
3、jmeter怎麼使用Java類
編寫一個類實現javasampleclient,並實現其方法,裏面寫業務邏輯,如果有對外暴漏的參數,可寫在getdefaultparamters方法中;
打成jar,將其和依賴的jar放在lib/etx下
jmeter使用時調用javasampler 引用
4、性能測試有哪些指標,各自的閾值是多少
cpu 系統的消耗的80%
Load 小於內存核數
磁盤io。80%
內存。 80%
網絡io。帶寬上線
5、tps壓不上去有哪些原因
壓力機本身的性能瓶頸
網絡io
被測程序的性能瓶頸
其他外部程序導致的time-waiting
中間件tomcat mysql nginx的鏈接限制
測試機的性能評級
Java線程的阻塞,等待
6、程序cpu高和數據庫cpu高的分析思路
程序cpu參考兩個數據tps和響應時間,如果tps比較高是正常的資源消耗,如果tps比較低,有可能是程序過於消耗cpu,可以使用jprofilter分析下
數據庫CPU高有可能是某些sql導致消耗資源過大,可根據慢查詢監控,查看執行計劃,是否未用索引或者索引失效導致
7、Java持久代和老年代存放什麼數據
持久代(方法區)存放靜態變量,常量,Java類的屬性
老年代存放類的實例和數組等
8、Java內存溢出爲什麼,有哪些分析方法
Java內存溢出是由於老年代中存活大量的對象,gc無法回收,導致虛擬機一直處於FGC狀態,此時會報出out of memory 錯誤;
首先找到jvm中那些對象佔用大量的空間,可使用jvisualvm 和jmap分析
9、如果構造測試數據,你主要用什麼
連接jdbc使用sql製造數據
使用存儲過程
使用接口構造數據
10、如何製造動態參數
把程序返回的結果通過正則匹配找到需要的參數,將其保存,程序調用使用該變量,因爲返回的結果是動態的,所以調用時也是動態的
11、性能測試設計,一般有哪些性能場景
基礎場景:基準測試,單交易測試 ,混合測試,穩定性
其他場景:高可用,異常
12、線下環境怎麼評估線程環境
線下環境和線上環境配置一致
使用單機器測試結果評估多機器考慮一定性能消耗
機器配置不要和線上機器配置差異過大
線上一般能評估性能問題,但是需要真實數據,還是直接在線上測試比較好
13、jmeter使用場景哪些beanshell
如果需要對使用前的參數做處理,可以使用beanshell的前置處理器
如果對返回的參數做邏輯判斷,可以使用beanshell的斷言
https://blog.csdn.net/liuyuzhu111/article/details/103852586
看完自己默寫的,腦子真是笨的異常,記不住,理解力差,只能背下來了