在測試到訂單支付時镀赌,很多同學(xué)不知道支付有哪些測試異常點。希望下面總結(jié)的內(nèi)容可以幫到大家际跪。(這里主要是支付的點商佛, 部分包含訂單相關(guān)的點)
一、支付流程
我們在測試一個功能時姆打,需要先了解一下這個邏輯良姆,而訂單支付邏輯普遍都會有以下內(nèi)容:
創(chuàng)建本地唯一訂單號;
-
去調(diào)用支付幔戏,在支付平臺生成一個支付訂單玛追;
- 會返回一個支付憑證(payInfo)
- 支付訂單號在回調(diào)方法中會拿到
-
此時待支付狀態(tài)下,支付平臺回調(diào)通知接口;
- 在本地保存待支付訂單信息(此時有兩個訂單記錄:一個本地訂單痊剖,一個支付平臺的訂單韩玩,兩個ID關(guān)聯(lián))
用戶根據(jù)收到的支付憑證發(fā)起支付(只需要管支付成功的,不成功可以當(dāng)成忽略)
-
支付平臺回調(diào)通知接口(支付成功)
- 更新支付訂單
- 更新本地訂單
- 后續(xù)操作
-
主動查詢訂單狀態(tài)
- 更新支付訂單
- 更新本地訂單
- 后續(xù)操作
退款或體現(xiàn)(不做具體闡述)
二陆馁、實際遇到支付的異常測試點
上面的內(nèi)容了解即可找颓,大部分內(nèi)容項目熟了就知道了,很多時候具體項目具體分析氮惯。下面的異常測試點大多是我親身經(jīng)歷過的容易出現(xiàn)異常的情況叮雳。
具體測試場景:
- 連續(xù)訪問2次(或以上)支付接口,在第一次訪問未回調(diào)完成時妇汗,第二次訪問需要做限制帘不;
- 可能出現(xiàn)的問題:直接返回第二次的結(jié)果,而第一次就可能是成功的杨箭,只是第一次請求返回的結(jié)果被第二次請求返回的失敗結(jié)果所覆蓋寞焙;
- 連續(xù)訪問回調(diào)訂單接口(向支付平臺提交支付請求接口),生成的多個簽名互婿,需要校驗訂單返回的是否是最新的簽名捣郊;
- 可能出現(xiàn)的問題:使用前面生成的一個簽名去支付,會報錯慈参;
- 一個訂單反復(fù)提交支付再返回呛牲,退出支付再次調(diào)取支付只允許生成不同的簽名,這個根據(jù)需求驮配;
- 需要校驗1個簽名只能支付1次娘扩,這個根據(jù)需求;
- 支付簽名的校驗壮锻,這個看需求及個人琐旁。如:異常/特殊符號等;
- 支付0元/0.01元/0.001元猜绣;
- 支付負(fù)值灰殴;
- 支付回調(diào)超時情況后端處理:一個合理的文案。方法:加擋板/斷點掰邢;
- 注意一下消息回調(diào)牺陶,如果是第三方支付系統(tǒng),通常會有消息的異步回調(diào)辣之。
- 如:支付后掰伸,會在一定時間內(nèi)無限循環(huán)查詢接口,最后會回傳成功或失敗召烂,但是訂單不會直接知道這個結(jié)果,系統(tǒng)需要再次訪問一個接口了解支付的最新狀態(tài)才能知道訂單是否支付成功娃承;
10.網(wǎng)上找的圖片奏夫,可借鑒怕篷。原地址:https://blog.csdn.net/wjoxoxoxxx/article/details/79813437
測試過程中容易疏忽的測試點
如果有疑問點、補充點酗昼,歡迎隨時指出廊谓!