史上最全的网银转账测试分析与设计网上银行转账
    在银行项目面试中,面试官常问起网上银行转账功能如何测试,该问题既能考查面试者银行知识储备又能考查面试者的沟通表达能力。而很多人对于这个问题觉得很难回答,网上关于这块资料也并不多,特整理相关的测试点,抛砖引玉。
    附图:网上银行转账截图
图1:录入转账信息
图2:转账安全认证
账功能分析:
    通过选择付款账号、填写转账金额、输入收款账户(含收款账号、收款人姓名、开户行)
以及其他附加信息(手机号、备注等),填写好之后,进入安全认证页面选择安全工具、填写安全密码,最后提交转账。
测试分析与设计思路
    1.正常流程类设计(确保系统实现了业务需求)
    2.异常流程类设计(确保边界等异常均做出了必要的限制)
    3.其他考查点(如转账还会涉及手续费、汇路选择等)
    4.输入框验证类
    5.用户体验等非功能考查
详细测试分析下:
    1.付款账号、金额、收款账号、安全认证全部输入正确的,可以转账成功
        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.1 手续费XXX封顶(比如50元封顶)
        3.2 最低手续费(比如最低收1元)
        3.3 手续费折扣(头3笔免手续费,手续费5折)
    4.其他特殊场景:       
        4.1 转账当时限额、单笔限额(具体安全认证工具有关)
        4.2 转对公账号
        4.3 转账汇路考虑,普通转账,实时转账的测试
        4.4 外币转账
        4.4 转入账户与转出账户相同(结果为转账失败)
        4.5 转账超时导致转账失败(手续费照扣)
    5.输入框验证和用户体验等非功能考虑
        为了不让文章写起来特别长,故此部分略去。
作者:千里           
本文登刊于51testing杂志     
如需转载,请联系51testing杂志负责人