JMeter第一階段打卡結束之后,大家可以拿公司的接口試試手,完成接口測試。
有個很重要的點要注意:JMeter只是執(zhí)行用例或者是產生壓力的工具。至于用例怎么寫,產生多少的壓力,還是要看使用者的。
- 舉個例子:就像一把菜刀,在大廚手里,可以花式雕刻,什么菜對應什么刀工,炒土豆絲就是土豆絲,燉土豆塊就是土豆塊;但是,同樣的一把刀,到我們(我)手里,切出來的就是土豆條。
- 工具,就是工具,主要還是看用的那個人怎么用。
1.什么是接口?

接口
代碼里的話,一個接口其實就是一個函數,像下面這樣的兩個接口
//基于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,請求方法為: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.針對輸入參數
對于接口來說,輸入就是入參。常見參數類型有:數值,字符串,數組,多維數組等
2.1數值
- 等價類
在編寫功能用例的時候,等價類是十分常用的一種方法,這個"價",不知道大家怎么理解?
1. int
2. float
3. double
- 邊界值
- 遍歷
- 可能存在的問題
1.傳入非特定類型程序異常退出
2.超長字符沒有進行異常處理,導致存儲,顯示等異常
3.其他用戶可見的敏感數據
2.2 字符串
- 等價類
1. String
2. ....
- 邊界值
- 遍歷
2.3 數組
- 個數
例如:權限以數組存儲,數組上限30,但是有第31個權限
- 內容
1.數組內容異常處理
2.重復的元素
3.元素為0
- 可能導致的異常
1.元素個數為0,異常退出
2.重復數據沒處理,結果異常
2.4多維數組
經常會遇到數組嵌套,JSON串嵌套的情況,一層一層測試
3.針對輸出結果
- 針對輸出結果設計測試,其實就是針對接口返回的結果進行分析測試。
3.1 業(yè)務結果
這個就根據具體的業(yè)務,具體分析輸出結果,然后進行寫用例
3.2 錯誤處理
- 錯誤碼
- 錯誤異常返回結果有很多情況很多值,根據返回的錯誤碼和錯誤類型進行比對,根據業(yè)務需要設計測試用例
- 異常處理
我們不一定能夠覆蓋所有的錯誤碼,所以常見的問題就是: 1.錯誤處理不足,導致前端異常2.錯誤提示處理不當,導致用戶看到錯誤碼。(什么SQL異常,error等)3.錯誤提示不當,用戶看了提示不知道哪里出了問題,怎么解決
4.針對接口邏輯
針對接口邏輯,也就是場景型接口。
4.1 數值限制
例如:電商類設計了一個活動,用戶積分800分的用戶可以參與。那么,活動的一些接口就有了一個800分的限制
4.2 狀態(tài)限制
例如:電商類產品,用戶登錄之后才可以購買商品。那么,下單的一些接口就有了一個用戶登錄限制
4.3 權限限制
例如:一些OA類產品,管理員對應的權限操作,普通用戶對應的操作,業(yè)務流程對應的操作等,那么,這些接口就有了一個對應的權限限制
5. 針對接口超時
- 沒有進行超時處理,整個流程阻塞
- 超時后,又收到接口返回,導致邏輯出現錯亂
6.針對廢棄接口
- 因為需求變更,暫時不用,沒有及時刪除
- 新老版本更替,廢棄接口沒有檢查,對應服務沒有更新
7.針對接口合理性
- 字段冗余
具體業(yè)務,具體分析
- 接口冗余
例如:刪除單個,和多選刪除
單個刪除是不是多選刪除為1的情況?
- 接口命名
有沒有發(fā)現撈日志的時候,看了半天接口名,不知道這個接口干嘛用的

設計接口用例