支付測(cè)試
支付測(cè)試
引言:如今,隨著非現(xiàn)金支付手段的不斷推廣和應(yīng)用,“非現(xiàn)金社會(huì)”正在形成。非現(xiàn)金支付已成為日常生活中不可或缺的伙伴。那么,對(duì)于互聯(lián)網(wǎng)產(chǎn)品來(lái)說(shuō),支付也是涉及到公司收入的一個(gè)重大環(huán)節(jié)。對(duì)于我們測(cè)試人員,支付測(cè)試也是測(cè)試中的重要一環(huán)。下面就結(jié)合工作中遇到的問(wèn)題,來(lái)給大家介紹一下常用的支付測(cè)試。
★支付分類★
首先,根據(jù)不同維度,我們可以把支付分為不同的種類。如下圖所示:

其次,一般來(lái)講,線上支付分為兩種消費(fèi)模式。一種是直接支付金額,如淘寶,京東等購(gòu)物網(wǎng)站,或是360云盤(pán),視頻會(huì)員等這種會(huì)員服務(wù);另一種是充值購(gòu)買(mǎi)金豆之類的虛擬幣,在網(wǎng)站中使用虛擬幣進(jìn)行消費(fèi),比如游戲平臺(tái)、花椒等產(chǎn)品。
★測(cè)試方法★
功能測(cè)試:
通過(guò)將邊界值分析、等價(jià)類劃分、錯(cuò)誤推測(cè)、因果圖等各種測(cè)試方法進(jìn)行結(jié)合,整理出盡可能全面的測(cè)試案例,對(duì)支付功能及其相關(guān)功能進(jìn)行測(cè)試,以確保整個(gè)支付流程以及涉及到支付流程的其他流程在任何情況下都能正常進(jìn)行。
接口測(cè)試:
明確整個(gè)支付流程所需要調(diào)用的接口,分清楚商家和第三方支付平臺(tái)的接口以及參數(shù)和請(qǐng)求方式。包括對(duì)接口特定參數(shù)的加密,使用異常訂單號(hào)模擬支付,對(duì)服務(wù)端的校驗(yàn)等等。
安全測(cè)試:
支付涉及到金額方面,所以要考慮安全測(cè)試方面。支付請(qǐng)求的偽造、金額的惡意篡改、惡意模擬第三方接口來(lái)調(diào)用商家接口等等。這都是我們需要考慮到的問(wèn)題。
★支付流程★
常見(jiàn)的支付流程如下圖所示:

★測(cè)試點(diǎn)★
支付流程測(cè)試點(diǎn)
▼
付款金額和應(yīng)付金額是否一致
(比如:掃描的支付二維碼,和顯示的應(yīng)支付金額是否一致)。歪個(gè)樓,題主曾經(jīng)就踩過(guò)坑呀,頁(yè)面顯示的應(yīng)付金額通過(guò)接口vip.product返回了,前端顯示出來(lái)應(yīng)付金額。但是,支付的二維碼是通過(guò)接口vip.getPayUrl這個(gè)接口返回的,結(jié)果二維碼掃出來(lái)的值和顯示的應(yīng)付金額不一樣呀!!!最后問(wèn)題是在于,vip.getPayUrl中取的是服務(wù)器緩存,導(dǎo)致二維碼顯示的金額跟前端展示的應(yīng)付金額不一致。所以測(cè)試支付還是要走整個(gè)支付流程才行,從確認(rèn)訂單到最后的支付成功,任何一步都有可能有問(wèn)題。
同一種支付方式,不同的支付入口
(比如:如下圖所示,支付寶有兩個(gè)支付入口。即可通過(guò)掃描二維碼支付,也可以通過(guò)支付寶網(wǎng)頁(yè)支付。在測(cè)試過(guò)程中,兩個(gè)入口都要覆蓋到。再歪個(gè)樓,題主在測(cè)試過(guò)程中踩過(guò)的坑二:通過(guò)支付寶網(wǎng)站支付,支付成功后,頁(yè)面沒(méi)有跳轉(zhuǎn)回原服務(wù)套餐網(wǎng)頁(yè)。最后的原因是服務(wù)配置的return_url不正確,導(dǎo)致支付后,沒(méi)有跳回原頁(yè)面。如果測(cè)試用例覆蓋不到這種場(chǎng)景,那么將會(huì)造成非常嚴(yán)重的線上事故。
3. 支付成功后,產(chǎn)品購(gòu)買(mǎi)是否成功
(比如會(huì)員服務(wù)產(chǎn)品,購(gòu)買(mǎi)后會(huì)員到期時(shí)間是否正常延遲;比如購(gòu)買(mǎi)商品,支付成功后,訂單狀態(tài)是否更改,商品種類和數(shù)量是否正確等等)
4. 支付成功后,用戶的金額是否扣除成功
支付金額測(cè)試點(diǎn)
▼
a)???????? 正常金額支付
b) ? ? ? ? 金額的最小值:0.01
c) ? ? ? ? 無(wú)意義的值:0元
d) ? ? ? ? 最大金額:設(shè)置支付的最大金額
e)???????? 銀行卡或微信等,設(shè)置每日最大消費(fèi)金額或者單筆最大消費(fèi)金額
f)????????? 銀行卡或微信余額不足時(shí)支付
支付流程測(cè)試點(diǎn)
▼
a)???????? 正常完成支付流程
b)???????? 調(diào)起訂單后,取消訂單
c)???????? 支付中斷后,繼續(xù)支付
d)???????? 支付中斷后結(jié)束支付
e)???????? 單筆訂單單筆支付
f)????????? 多訂單合并支付
g)???????? 持續(xù)點(diǎn)擊支付,是否會(huì)出現(xiàn)多次購(gòu)買(mǎi)
支付方式測(cè)試點(diǎn)
▼
a)???????? 支付寶支付
b)???????? 支付寶網(wǎng)頁(yè)支付
c)???????? 微信支付
d)???????? 銀行卡支付
優(yōu)惠券或折扣(有一定的優(yōu)惠)
▼
a)???????? 支付中使用優(yōu)惠券/折扣,應(yīng)付金額和實(shí)際支付金額是否正確
b)???????? 優(yōu)惠券/折扣是否是必選,是否可以不選擇折扣
c)???????? 支付訂單退款完成后,優(yōu)惠券/折扣是否還能使用



