第一部分 轉載和學習
第二部分 基於支付版本的測試梳理
-------------第一部分---------------------------------------------------------------------
【轉載】https://blog.csdn.net/qq_24373725/article/details/79535729
總結下之前測試過程中的支付相關的測試用例:
支付流程:
1:正常的發起一筆流量充值請求,檢查點:
1)用戶發過去的信息有攜帶key值
2)商戶系統本地數據會留存一份用戶的訂單信息,並且會根據每筆訂單信息生成一筆支付信息(同時留存到本地)
3)第三方支付成功,第三方有存支付訂單信息
4)充值成功,用戶的流量余額有對應增加
異常用例
1、修改用戶發過去的數據:
1)產品ID 與價值不對等---->檢查點:篡改數據和key,檢查商戶系統報錯:key值不對或者是用戶數據有誤。
2)取消充值流量
3)重復發起流量充值請求
2、商戶系統-第三方之間:
1)密鑰搞錯-第三方報錯,不接收密鑰
2)提交商戶系統里面不存在的訂單/支付訂單->第三方這里也是不能通過請求
3)篡改用戶支付金額-->第三方也要檢查
3、第三方--用戶之間:
1)支付密碼錯誤/余額不足
2)取消支付
3)重復支付[對賬--->處理退款]
退款流程
正常的用例:
1.用戶發起退款--->該用戶的訂單以及支付訂單號都要存在。---檢查點:商戶系統/第三方檢查數據沒有問題,可以退款成功--->交易狀態改成退款
異常用例:
1:無故發起退款:提交不存在的訂單號或者支付訂單號 --->訂單號不存在/支付訂單號不存在
2:信息不匹配發起退款:提交訂單號與支付訂單號不匹配的數據--->訂單號/支付訂單號有誤
3:退款大於實際金額:提交的退款金額大於實際支付訂單的金額-->商戶系統要報錯
4:商戶系統這里發過去的請求:退款金額大於實際支付金額-->第三方要報錯
=======================================
實際測試中,遇到的支付經典場景:
課程購買金額是99.0,但實際微信扣款是98.98,還有2分錢是微信通過其他優惠(券)
支付回調時,判斷微信扣款金額和課程待付款金額不一致,未回調成功
導致實際支付了,課程沒購買成功。。
怎么解決呢:?
=======================================
轉載end.
--------第二部分 --------------------------------------------------------------------------
下面是基於項目中支付版本的測試梳理
❀在測試APP支付時,我們重點測試了
1.購買流程驗證(在不同訂單狀態,對訂單的繼續支付,或終止交易)
2.購買入口(商品詳情頁、訂單列表頁、重復提交訂單)
3.各個界面與原型、UI效果圖的一致
上述測試方向都偏表象。
❀在后面了解了支付流程和開發的處理難點后,有這樣的測試需求:
1.一個商品只對應一個訂單(生成訂單前刪除已失效訂單、查詢已存在的訂單是否支付成功)
2.步驟①當在第三方(微信或支付寶)支付后,
步驟②第三方將結果返回給商戶后台(建哥的接口程序),
步驟③后台再更新數據庫中相關字段的狀態,並通知APP前端展示支付結果。
若完成步驟1后,步驟2到步驟3,通信失敗(或延時),可能導致同一訂單前台進行多次支付。
那么需要退款
----------------------------------------------------------------------------------
看來,在介入測試 前,對於開發的概要設計或詳細設計,要學習和旁聽,掌握設計細節,才能獲得更細化、更本質的測試需求。