相关支付官方的文档:
微信支付:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=2_2
支付宝支付:https://docs.open.alipay.com/270/105899/
苹果支付:https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html#//apple_ref/doc/uid/TP40008267-CH1-SW1
支付的正常流程:
按照PRD,不赘述
支付的异常流程:
支付金额操作:
1、支付的余额小于待支付的钱
2、调起支付输入密码框后,不进行输入密码,是否会生成订单
3、调起支付输入密码框后,输入错误的密码,是否会生成订单,并且是否会重试(一般是微信或支付宝控制的)
4、点击立即付款后,通过fiddler或其他工具,修改付款金额,将金额改成1元,是否会修改成功
第三方应用未设置:
1、微信/支付宝支付,未安装微信或支付宝APP怎么处理
2、苹果支付,未登录或未设置过支付信息怎么处理
特殊操作:
1、重复支付,是否会出现问题
2、连续快速点击立即付款,是否会出现多次扣款的情况,应该只响应一次
3、多设备同时登录,同时付款,是否会出现问题
网络/中断/退出APP问题:
1、点击立即付款后,出现断网/中断流程/退出APP,是否会生成待支付的订单
2、点击立即付款后,出现断网/中断流程/退出APP,随即联网,查看是否会刷新页面
3、点击立即付款后,调出来密码输入框,输入密码后,出现断网/中断流程/退出APP,是否会生成支付成功的订单
4、点击立即付款后,调出来密码输入框,输入密码后,出现断网/中断流程/退出APP,随即联网,查看是否会刷新页面
5、弱网环境下,造成网络请求超时,查看支付情况
6、弱网环境下,付款成功后,返回APP的过程中造成网络请求超时,查看支付情况
7、使用wifi/4G进行支付
服务器问题:
1、发起支付时,我方服务器出现问题
2、发起支付时,第三方服务器出现问题
3、支付过程中,可以调起支付密码框,输入密码后,第三方服务器出现问题
4、支付成功后,给我方返回数据过程中我方服务器出现问题
5、支付成功后,第三方服务器出现问题
支付后页面刷新情况:
1、支付成功/失败后,返回APP,页面刷新是否正常
2、跳转到第三方支付平台进行支付,支付成功/失败后不通过第三方平台返回APP,手动返回APP,查看页面刷新是否正常
3、多设备同时登录后,一个设备支付成功后,另一个设备的刷新情况
失败的相关提示信息:
1、上述各种情况下的失败,均要有用户可以清晰明了的提示信息,不能出现error:xxx之类的用户无法理解的提示信息
总而言之:功能测试方面,要从用户可以感知的每一个地方,去做测试,我们无法预知用户在使用过程中会遇到什么问题,所以每个可以感知到的地方,都是可以来做相关的异常测试的,比如断网、退出app、中断测试等
三种支付方式的官方流程:
苹果支付的流程:
1. 程序向服务器发送请求,获得一份产品列表。
2. 服务器返回包含产品标识符的列表。
3. 程序向App Store发送请求,得到产品的信息。
4. App Store返回产品信息。
5. 程序把返回的产品信息显示给用户(App的store界面)
6. 用户选择某个产品
7. 程序向App Store发送支付请求
8. App Store处理支付请求并返回交易完成信息。
9. 程序从信息中获得数据,并发送至服务器。
10. 服务器纪录数据,并进行审(我们的)查。
11. 服务器将数据发给App Store来验证该交易的有效性。
12. App Store对收到的数据进行解析,返回该数据和说明其是否有效的标识。
13. 服务器读取返回的数据,确定用户购买的内容。
14. 服务器将购买的内容传递给程序。