轉賬功能分析:
通過選擇付款賬號、填寫轉賬金額、輸入收款賬戶(含收款賬號、收款人姓名、開戶行)以及其他附加信息(手機號、備注等),填寫好之后,進入安全認證頁面選擇安全工具、填寫安全密碼,最后提交轉賬。
測試分析與設計思路:
1.正常流程類設計(確保系統實現了業務需求)
2.異常流程類設計(確保邊界等異常均做出了必要的限制)
3.其他考查點(如轉賬還會涉及手續費、匯路選擇等)
4.輸入框驗證類
5.用戶體驗等非功能考查
詳細測試分析如下:
- 付款賬號、金額、收款賬號、安全認證全部輸入正確的,可以轉賬成功
1.1 付款賬號是借記卡,也可以是活期存折
1.2 金額在(0,余額]之內,同時需要對邊界值進行設計
1.3 收款賬號、收款人姓名、開戶行需要全部對應
1.4 如果收款賬號是行內賬號,只需要進行賬號與姓名的匹配即可,系統不再需要選擇開戶行信息
1.5 收款賬號需要考慮:行內賬號,跨行轉賬,同城、異地轉賬,借記卡、信用卡賬號,同名賬戶(本人,本行)。轉活期存折、轉定期存折(變定期)轉定期存單(不能)
1.6 安全認證:U盾(插入U盾輸入密碼),手機驗證碼(發短信到手機,輸入驗證碼進行驗證)
2.轉賬無效/失敗的情況說明:
2.1 付款賬號金額不夠、即轉賬金額大於賬戶余額
2.2 信用卡不能轉出,定期存折不能轉出。一般會在賬號選擇的時候,進行屏蔽。
2.3 轉出賬戶被銷戶,凍結、掛失等異常狀態,不能轉出。
2.4 小於0,等於0要測試,為非數字(該不是重點)
2.5 轉入賬戶:收款賬號,收款人姓名,開戶行三者的任意不匹配
2.6 正常狀態、掛失狀態的卡可以轉入,凍結、銷戶卡(不存在的卡)不能轉入
2.7 U盾密碼錯誤、使用別人的U盾,驗證碼錯誤、超時、為空都會轉賬失敗 3.特殊的業務場景(手續費相關)
3.特殊的業務場景(手續費相關)
3.1 手續費XXX封頂(比如50元封頂)
3.2 最低手續費(比如最低收1元)
3.3 手續費折扣(頭3筆免手續費,手續費5折)
4.其他特殊場景:
4.1 轉賬當時限額、單筆限額(具體安全認證工具有關)
4.2 轉對公賬號
4.3 轉賬匯路考慮,普通轉賬,實時轉賬的測試
4.4 轉入帳戶與轉出帳戶相同(轉帳失敗)
4.5 轉帳超時導致轉帳失敗
5.輸入驗證框和用戶體驗等非功能考慮
轉賬交易測試點
1、金額字段的校驗:非數字、sql相關字符、負數、邊界值與數據庫設計長度,為空是否報錯,必輸項校驗;
2、金額最小單位計算時進位錯誤:0.00,0.01分,0.05分無法加減或無法從數據庫中取到;
3、轉賬金額大於、等於、小於當前余額;
4、系統間百分制是否轉換正確:有以元為單位,有以分為單位;
5、有轉賬限額時(每日、預警、每月),在轉賬超時是否占用限額;
6、流水號長度超過數據庫設計最大長度;
7、流水號重復參數控制:不允許重復,返回重復報錯;允許重復,返回本地之前交易結果,本地結果不明則上主機查證后返回;
8、流水號批量讀取放入內存(需要驗證重啟服務后,流水號讀取是否正確),用完后再批量讀取,日切時與最大流水號對比,達到最大值進行初始化是否正確;
9、並發時流水號是否正確生成;
10、不同數據庫、不同瀏覽器;
11、手續費2種扣款方式:一種為內扣,即實際轉賬金額=轉賬金額-手續費;一種為外扣;
12、轉賬由於事務(手動與定時任務並發)對同一筆轉賬處理2次;
13、數據鏈路通訊異常:1)連接核心失敗;2)核心返回應答超時;3)連接第三方失敗;4)第三方返回應答超時;
一般沖正需要先考慮沖正通訊出現異常的一方,在保證異常方沖正成功后,才去沖正另一方;