前段時(shí)間溢+支付接口慢,有商戶直接反映掉單嚴(yán)重。
這時(shí),我接到了壓測(cè)溢+支付接口的任務(wù)。
JMeter我并不熟悉,公司也沒有搞自動(dòng)化測(cè)試的QA,一開始team里的一個(gè)同學(xué)簡單做了一些預(yù)研。
溢+支付接口是http的api接口。每一筆支付請(qǐng)求的報(bào)文涉及到參數(shù)和參數(shù)簽名,并且每次請(qǐng)求的簽名都不一樣。我問那位同學(xué),用JMeter應(yīng)該怎么來壓測(cè)呢?
他說了一下他的方式,寫個(gè)程序按照溢+規(guī)則預(yù)先生成一批請(qǐng)求報(bào)文(含參數(shù)和參數(shù)簽名),把這些用例保存成excel,然后導(dǎo)入到JMeter里。接著啟動(dòng)任務(wù)跑。這么做的問題是,壓測(cè)需要大量用例,所以,這些有限的用例肯定是測(cè)不出真實(shí)的結(jié)果的。
那怎么辦?
畢竟大家都是程序員,對(duì)自動(dòng)化測(cè)試也不懂,對(duì)JMeter腳本不熟悉。
我曾把這個(gè)疑問也跟其他同學(xué)講,聽聽他們的想法。
畢竟大家都是程序員,對(duì)自動(dòng)化測(cè)試也不懂,對(duì)JMeter腳本不熟悉。
后來呢,我想到了一個(gè)辦法。
做個(gè)代理接口。什么意思呢? 就是寫個(gè)http接口部署到web容器里,讓JMeter直接調(diào)用這個(gè)http接口。而這個(gè)接口的邏輯是封裝了溢+接口需要的請(qǐng)求報(bào)文(參數(shù)和參數(shù)簽名),然后來調(diào)用溢+接口。
這么一中轉(zhuǎn),問題就迎刃而解了。