JMeter第一階段打卡結(jié)束之后,大家可以拿公司的接口試試手,完成接口測(cè)試。
- 1.什么是接口?
- 2.針對(duì)輸入?yún)?shù)
- 3.針對(duì)輸出結(jié)果
- 4.針對(duì)接口邏輯
- 5. 針對(duì)接口超時(shí)
- 6.針對(duì)廢棄接口
- 7.針對(duì)接口合理性
有個(gè)很重要的點(diǎn)要注意:JMeter只是執(zhí)行用例或者是產(chǎn)生壓力的工具。至于用例怎么寫(xiě),產(chǎn)生多少的壓力,還是要看使用者的。
- 舉個(gè)例子:就像一把菜刀,在大廚手里,可以花式雕刻,什么菜對(duì)應(yīng)什么刀工,炒土豆絲就是土豆絲,燉土豆塊就是土豆塊;但是,同樣的一把刀,到我們(我)手里,切出來(lái)的就是土豆條。
- 工具,就是工具,主要還是看用的那個(gè)人怎么用。
1.什么是接口?

代碼里的話(huà),一個(gè)接口其實(shí)就是一個(gè)函數(shù),像下面這樣的兩個(gè)接口
//基于Python+flask
from flask import Flask
app = Flask(__name__)
@app.route('/')#接口為 /
def hello_world():
return 'Hello, World!' #返回Hello, World
@app.route('/login', methods=['POST', 'GET'])#接口為login,請(qǐng)求方法為:post,get
def login():
error = None
if request.method == 'POST':
if valid_login(request.form['username'],
request.form['password']):
return log_the_user_in(request.form['username'])
else:
error = 'Invalid username/password'
return render_template('login.html', error=error)
if __name__ == '__main__':
app.run("127.0.0.1")
2.針對(duì)輸入?yún)?shù)
對(duì)于接口來(lái)說(shuō),輸入就是入?yún)?。常?jiàn)參數(shù)類(lèi)型有:數(shù)值,字符串,數(shù)組,多維數(shù)組等
2.1數(shù)值
- 等價(jià)類(lèi)
在編寫(xiě)功能用例的時(shí)候,等價(jià)類(lèi)是十分常用的一種方法,這個(gè)"價(jià)",不知道大家怎么理解?
1. int
2. float
3. double
- 邊界值
- 遍歷
- 可能存在的問(wèn)題
1.傳入非特定類(lèi)型程序異常退出
2.超長(zhǎng)字符沒(méi)有進(jìn)行異常處理,導(dǎo)致存儲(chǔ),顯示等異常
3.其他用戶(hù)可見(jiàn)的敏感數(shù)據(jù)
2.2 字符串
- 等價(jià)類(lèi)
1. String
2. ....
- 邊界值
- 遍歷
2.3 數(shù)組
- 個(gè)數(shù)
例如:權(quán)限以數(shù)組存儲(chǔ),數(shù)組上限30,但是有第31個(gè)權(quán)限
- 內(nèi)容
1.數(shù)組內(nèi)容異常處理
2.重復(fù)的元素
3.元素為0
- 可能導(dǎo)致的異常
1.元素個(gè)數(shù)為0,異常退出
2.重復(fù)數(shù)據(jù)沒(méi)處理,結(jié)果異常
2.4多維數(shù)組
經(jīng)常會(huì)遇到數(shù)組嵌套,JSON串嵌套的情況,一層一層測(cè)試
3.針對(duì)輸出結(jié)果
- 針對(duì)輸出結(jié)果設(shè)計(jì)測(cè)試,其實(shí)就是針對(duì)接口返回的結(jié)果進(jìn)行分析測(cè)試。
3.1 業(yè)務(wù)結(jié)果
這個(gè)就根據(jù)具體的業(yè)務(wù),具體分析輸出結(jié)果,然后進(jìn)行寫(xiě)用例
3.2 錯(cuò)誤處理
- 錯(cuò)誤碼
- 錯(cuò)誤異常返回結(jié)果有很多情況很多值,根據(jù)返回的錯(cuò)誤碼和錯(cuò)誤類(lèi)型進(jìn)行比對(duì),根據(jù)業(yè)務(wù)需要設(shè)計(jì)測(cè)試用例
- 異常處理
我們不一定能夠覆蓋所有的錯(cuò)誤碼,所以常見(jiàn)的問(wèn)題就是: 1.錯(cuò)誤處理不足,導(dǎo)致前端異常2.錯(cuò)誤提示處理不當(dāng),導(dǎo)致用戶(hù)看到錯(cuò)誤碼。(什么SQL異常,error等)3.錯(cuò)誤提示不當(dāng),用戶(hù)看了提示不知道哪里出了問(wèn)題,怎么解決
4.針對(duì)接口邏輯
針對(duì)接口邏輯,也就是場(chǎng)景型接口。
4.1 數(shù)值限制
例如:電商類(lèi)設(shè)計(jì)了一個(gè)活動(dòng),用戶(hù)積分800分的用戶(hù)可以參與。那么,活動(dòng)的一些接口就有了一個(gè)800分的限制
4.2 狀態(tài)限制
例如:電商類(lèi)產(chǎn)品,用戶(hù)登錄之后才可以購(gòu)買(mǎi)商品。那么,下單的一些接口就有了一個(gè)用戶(hù)登錄限制
4.3 權(quán)限限制
例如:一些OA類(lèi)產(chǎn)品,管理員對(duì)應(yīng)的權(quán)限操作,普通用戶(hù)對(duì)應(yīng)的操作,業(yè)務(wù)流程對(duì)應(yīng)的操作等,那么,這些接口就有了一個(gè)對(duì)應(yīng)的權(quán)限限制
5. 針對(duì)接口超時(shí)
- 沒(méi)有進(jìn)行超時(shí)處理,整個(gè)流程阻塞
- 超時(shí)后,又收到接口返回,導(dǎo)致邏輯出現(xiàn)錯(cuò)亂
6.針對(duì)廢棄接口
- 因?yàn)樾枨笞兏?暫時(shí)不用,沒(méi)有及時(shí)刪除
- 新老版本更替,廢棄接口沒(méi)有檢查,對(duì)應(yīng)服務(wù)沒(méi)有更新
7.針對(duì)接口合理性
- 字段冗余
具體業(yè)務(wù),具體分析
- 接口冗余
例如:刪除單個(gè),和多選刪除
單個(gè)刪除是不是多選刪除為1的情況?
- 接口命名
有沒(méi)有發(fā)現(xiàn)撈日志的時(shí)候,看了半天接口名,不知道這個(gè)接口干嘛用的
