下面我簡(jiǎn)單說(shuō)下消費(fèi)(網(wǎng)銀、掃碼下單)、出款、通知、查詢(xún)接口的部分測(cè)試點(diǎn)
用例主要分為正確輸入、錯(cuò)誤參數(shù)名、錯(cuò)誤參數(shù)值、異常測(cè)試四個(gè)模塊
正確輸入:對(duì)正確范圍內(nèi)的參數(shù)值進(jìn)行設(shè)計(jì)用例,驗(yàn)證結(jié)果;比如說(shuō),支付方式參數(shù)有微信、支付寶、銀行卡三個(gè)值,需要對(duì)著三種情況各設(shè)計(jì)一條用例
錯(cuò)誤參數(shù)名:對(duì)每一個(gè)參數(shù)名設(shè)計(jì)錯(cuò)誤的參數(shù)名,進(jìn)行提交測(cè)試;覆蓋范圍大概就是邊界值、類(lèi)型、空
錯(cuò)誤參數(shù)值:對(duì)每一個(gè)參數(shù)值設(shè)計(jì)錯(cuò)誤的參數(shù)值,進(jìn)行提交測(cè)試;覆蓋范圍大概就是邊界值、類(lèi)型、空、正確值范圍外和邏輯關(guān)聯(lián)的值
網(wǎng)銀下單接口
訂單狀態(tài)
1.訂單狀態(tài)為待支付,再次使用此訂單號(hào)執(zhí)行網(wǎng)銀、掃單下單接口
? ? a.訂單狀態(tài)為待支付,修改金額不一致,再次使用此訂單號(hào)執(zhí)行網(wǎng)銀、掃單下單接口
2.訂單狀態(tài)為支付成功,再次使用此訂單號(hào)執(zhí)行網(wǎng)銀、掃碼下單接口
3.訂單狀態(tài)為關(guān)閉,再次使用此訂單號(hào)執(zhí)行網(wǎng)銀、掃碼下單接口
網(wǎng)銀支付頁(yè)面
1.多次打開(kāi)返回的網(wǎng)銀支付頁(yè)面url(關(guān)閉頁(yè)面,再打開(kāi)頁(yè)面)
2.多個(gè)窗口同時(shí)打開(kāi)網(wǎng)銀支付頁(yè)面url,同時(shí)支付
3.網(wǎng)銀支付頁(yè)面和本系統(tǒng)訂單的超時(shí)時(shí)間不相同,需要驗(yàn)證不同超時(shí)二者的表現(xiàn)情況
????a.網(wǎng)銀支付頁(yè)面未超時(shí),本系統(tǒng)訂單超時(shí),打開(kāi)網(wǎng)銀支付頁(yè)面url,同時(shí)支付。驗(yàn)證后臺(tái)訂單情況
????b.本系統(tǒng)訂單未超時(shí),網(wǎng)銀支付頁(yè)面超時(shí)后,打開(kāi)網(wǎng)銀支付頁(yè)面url
????c.本系統(tǒng)訂單未超時(shí),網(wǎng)銀支付頁(yè)面超時(shí)后,重新使用此訂單號(hào)提交網(wǎng)銀下單接口
? ? d.本系統(tǒng)訂單超時(shí),網(wǎng)銀支付頁(yè)面超時(shí)后,打開(kāi)網(wǎng)銀支付頁(yè)面url
4.打開(kāi)網(wǎng)銀支付頁(yè)面url后,驗(yàn)證每個(gè)可選擇的銀行渠道
5.打開(kāi)網(wǎng)銀支付頁(yè)面url后,選擇銀行渠道之后返回,重新選擇其他銀行????
掃碼下單
訂單狀態(tài)
1.訂單狀態(tài)為待支付,再次使用此訂單號(hào)執(zhí)行網(wǎng)銀、掃單下單接口
????a.訂單狀態(tài)為待支付,修改金額不一致,再次使用此訂單號(hào)執(zhí)行網(wǎng)銀、掃單下單接口
2.訂單狀態(tài)為支付成功,再次使用此訂單號(hào)執(zhí)行網(wǎng)銀、掃碼下單接口
3.訂單狀態(tài)為關(guān)閉,再次使用此訂單號(hào)執(zhí)行網(wǎng)銀、掃碼下單接口
二維碼狀態(tài)
1..二維碼和本系統(tǒng)訂單的超時(shí)時(shí)間不相同,需要驗(yàn)證不同超時(shí)二者的表現(xiàn)情況
????a.二維碼未超時(shí),本系統(tǒng)訂單超時(shí),掃二維碼進(jìn)行支付。驗(yàn)證后臺(tái)訂單情況
????b.本系統(tǒng)訂單未超時(shí),二維碼超時(shí)后,掃碼進(jìn)行支付
????c.本系統(tǒng)訂單未超時(shí),二維碼超時(shí)后,重新使用此訂單號(hào)提交掃碼下單接口
? ? d.本系統(tǒng)訂單超時(shí),網(wǎng)銀支付頁(yè)面超時(shí)后,掃碼進(jìn)行支付
支付通知
1.金額異常,通知金額和原訂單金額不一致,驗(yàn)證后臺(tái)訂單情況
2.漏單,通知中的訂單號(hào)在本系統(tǒng)中查不到記錄,驗(yàn)證后臺(tái)訂單情況
3.重復(fù)通知,先通知訂單失敗,再通知支付成功,驗(yàn)證后臺(tái)訂單情況
4.多筆成功,兩筆支付成功的通知對(duì)應(yīng)了一筆商戶(hù)訂單,驗(yàn)證后臺(tái)訂單情況
5.本系統(tǒng)訂單超時(shí)關(guān)閉后,收到支付通知,驗(yàn)證后臺(tái)訂單情況
查詢(xún)
1.關(guān)注輪詢(xún)機(jī)制,驗(yàn)證定時(shí)查詢(xún)邏輯
2.掃碼支付后,輪詢(xún)后頁(yè)面是否更新正確
3.輪詢(xún)后,后臺(tái)訂單狀態(tài)變化情況
簽名規(guī)則說(shuō)明
在接口傳遞時(shí),都會(huì)驗(yàn)簽,我們用的MD5加密。
機(jī)制就是:請(qǐng)求方把參數(shù)組成一個(gè)字符串,再通過(guò)MD5加密,最后把加密所得的參數(shù)連同其他參數(shù)一起發(fā)送給接收方;接收方收到請(qǐng)求之后進(jìn)行驗(yàn)簽操作,把接收到的參數(shù)通過(guò)MD加密,得到的加密字符串和請(qǐng)求方傳遞的加密字符串進(jìn)行比較,如果一致則驗(yàn)簽通過(guò),不一致則返回簽名驗(yàn)證失?。ㄗ铌P(guān)鍵的是商戶(hù)id和商戶(hù)key,加密時(shí)用到了id和key,但是請(qǐng)求參數(shù)里面只傳了id,接受方會(huì)根據(jù)id查詢(xún)到商戶(hù)key,再進(jìn)行MD5加密并進(jìn)行比較MD5加密后的值;避免傳遞中途被人攔截篡改參數(shù)值)
比如說(shuō)
1.請(qǐng)求方的加密字符串:input_charset=UTF-8&pay_type=20&merchant_code=101711&key=FDSFKHSD574523&order_no=asdfasdgasdimzxbertrtt
2.請(qǐng)求方加密后的值:CCE52BF1784C45B8A38C4CCAA3FF009F
3.請(qǐng)求參數(shù):input_charset=UTF-8&pay_type=20&merchant_code=101711&order_no=asdfasdgasdimzxbertrtt&sign=CCE52BF1784C45B8A38C4CCAA3FF009F
4.接收方查詢(xún)到key后重組字符串:input_charset=UTF-8&pay_type=20&merchant_code=101711&key=FDSFKHSD574523&order_no=asdfasdgasdimzxbertrtt
5.接收方通過(guò)MD5加密后和請(qǐng)求參數(shù)里面的sign參數(shù)值進(jìn)行比較