接口自動(dòng)化之測(cè)試用例設(shè)計(jì)(一)

JMeter第一階段打卡結(jié)束之后,大家可以拿公司的接口試試手,完成接口測(cè)試。

有個(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è)接口干嘛用的
    
設(shè)計(jì)接口用例
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容