📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
1、请求签约用户协议:
正向:接口生成二维码签约协议,支付宝点击二维码确认签约成功。
逆向:
a) 判断支付是否需要签约,不需要签约(比如申请APP支付即为不需要支付)返回错误码。
b) 判断是否已签约,已签约返回错误码。
c) 拒绝签约,(没有此场景,不验证)。
d) 取消签约,没有提供取消签约的接口,异步消息,不走用户协议。
e) 重复签约
i. 同一个入参,同时拿到3次地址,进行签约(申请多个签约地址,生成多个签约串,多次签约)。
ii. 签约多次:同一地址签约多次,不同地址签约多次,生成多个签约串,是多个签约号,还是单个签约号,签约后是否成功支付。
iii. 同一个入参,同时拿3次地址,第一个地址签约后解约,拿第二个地址或者第三个进行签约。
iv. 同一个地址,签约后解约,再签约。
f) 签约地址有效性,暂时是一直有效(无需验证签约地址失效时间)。
g) 仅存在未生效签约记录,或者查无记录,查询渠道网关获取最新状态,未生效则返回空(手机号、邮箱变更、APP支付可能会有问题,不指定账号)。
h) 跳转到支付宝页面签约,多次重复点击签约按钮(实际点击签约会生成旋转圈,无法多次重复点击)。
2、 查询有效的用户支付协议:
正向:
a) 存在已生效签约记录,直接返回已生效记录。
b) 仅存在未生效签约记录,查询渠道网关获取最新状态,如何已签约则更新DB返回已生效记录。
逆向(接口应该都返回为空):
a) 查询已过期的签约记录。
b) 查询不存在的签约记录。
c) 查询未生效的签约记录。
3、 创建交易单:
a) 支付宝免密代扣创建交易单正向:
1) 交易状态初始化:创建交易单、创建收款单、创建支付单。
2) 调用渠道网关的支付接口,状态变成处理中(瞬时结果,无法验证)。
3) 交易状态处理中:发起支付:幂等支付单、创单并支付、支付单号(瞬时结果,无法验证)。
4) 发起免密代扣并等待返回结果,等待过程中状态为处理中(瞬时结果,无法验证)。
5) 交易完成后返回支付结果回调:免密代扣支付结果会更新、当网络超时后,等待回调或者业务侧主动调查询接口。
b) 支付宝免密代扣创建交易单逆向:
1) 创建交易初始化超时:发起支付创单,充电调用支付超时、发起支付创单,支付侧网关重启,导致发起支付超时。
2) 创建交易处理中幂等:交易单,收银单,支付单创建后,删除部分单据,去校验幂等,依然创建支付单号(依然保持原单号)。
3) 创建交易处理中重试:1)多次发起同bizOrderId交易单,提示交易订单已完成2)多次发起同buyerId不同bizOrderId交易单,可重新创建交易单。
4) 交易完成重试:交易完成后,重新在发起交易单,提示交易订单已完成。
5) 交易失败:钱不足,交易失败,提示买家余额不足。
6) 交易取消:交易单取消场景,没有此场景。
c) 支付宝APP支付创建交易单正向:
a) 交易状态初始化:创建交易单、创建收款单、创建支付单。
b) 调用渠道网关的支付接口,状态变成处理中(查询3张表状态均为处理中)。
c) 交易状态处理中:发起支付:幂等支付单、创单并支付、支付单号。
d) 唤起第三方金融机构APP进行支付,支付完成后返回支付回调:支付结果依赖三方机构回调消息、支付结果业务侧主动调用查询结果(业务侧的回调结果场景如何)。
d) 支付宝APP支付创建交易单逆向:
a) 创建交易初始化超时:发起支付创单,充电调用支付超时、发起支付创单,支付侧网关重启,导致发起支付超时。
b) 创建交易初始化重试:多次发起同bizOrderId交易单,提示交易订单已完成、多次发起同buyerId不同bizOrderId交易单,可重新创建交易单。
c) 创建交易初始化过期重试:创建交易单实际并不支付,payTokenExpiryMillis一小时过期后,重新用重复payTokenValue调起支付。
d) 创建交易处理中幂等:
1. 交易单,收银单,支付单创建后,删除部分单据,去校验幂等,依然创建支付单号(依然保持原单号)标题、金额、优惠金额、租户、商户、用户信息buyerid、buycode、是否可重试。
2. 修改金额,不修改settlementProps,会提示“合约费项总额不匹配”。
3. 修改金额并同时修改settlementProps,会提示处理中交易单信息不能被修改。
e) 交易完成重试:交易完成后,重新在发起交易单,提示交易订单已完成。
f) 交易失败:钱不足,交易不会失败,只会需要付款,服务端告知不到。
g) 交易取消:交易单取消也无此场景。
e) 微信支付分创建交易单正向:
(a) 调下单接口成功,检查出参各字段,检查数据库各字段,下单金额为0 ,交易状态:trade_init。
(b) 小程序端下单跳转到确认页面:
1. 确认时点取消或一直不点确认,30天后,该交易单被取消。
2. 正常操作确认,更新交易单状态,小程序返回到业务服务页面。
3. 待确认,1小时,token失效,不能进确认页。
(c) 商户ID换个新的,可正常下单。
f) 微信支付分创建交易单逆向:
(a) 系统异常:
1. 交易接口网络异常下单失败,返回系统异常。
2. 交易接口下单微信处理失败,接口返回系统异常。
3. hsf接口超时,小程序侧需要处理。
(b) 已存在一笔业务单号交易单,再次下一笔相同订单,返回code,其他信息不返回。
(c) 同一单,并发多次,只成功一次。
(d) 已存在相同业务单号订单,但token(package)1小时后过期,则返回交易已失效,充电侧提示是否需要重新下单,业务侧:返回错误 让用户重新发起支付分确认。
(e) 相同用户id交易单已存在,次数大于3次即存在3笔,则再次下单返回交易单次数达到上限。
(f) 下单的appid和wx支付分确认接口appid不一致, 修改下单appid,确认页会主体不一致。
(g) 下单的appid传其他的,返回未找到服务号
4、 交易单查询:
(a) 交易单查询正向:
① 交易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易初始化。
②交易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易处理中(只有微信支付分才有此场景)。
③ 交易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易处理完成。
④交易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易处理失败。
⑤易单查询后终态返回,交易单查询后MQ异步通知交易单状态:交易取消。
(b) 交易查询单逆向:
①交易处理失败(用户付款失败):未付款,交易超时关闭。
② 交易处理失败(用户付款失败):支付完成后,全额退款。
③ 交易处理失败(用户付款失败):支付宝交易结束,不可退款,暂时不考虑。
④ 交易取消,用户无法付款。
5、 交易支付(只有微信支付分才有此场景):
a) 交易支付正向:
(a) 待支付订单,调用交易支付接口,补差金额=0,支付回调通知返回trade_finish,交易单状态由processing变更为finished,检查交易表。
(b) 待支付订单,调用交易支付接口,补差金额=交易总金额,支付回调通知返回trade_finish,交易单状态由processing变更为finished,检查交易表。
(c) 待支付订单,调用交易支付接口,0<补差金额<交易总金额,支付回调通知返回trade_finish,交易单状态由processing变更为finished,检查交易表。
(d) 待支付订单,调用交易支付接口,补差金>交易总金额,接口返回失败,没有回调通知,交易表不变。
(e) 0元单,交易状态直接为已完成。
(f) 交易单为200元,可成功支付。
(g) 交易单超过200元即200.01元,支付将失败,订单状态仍然为之前的状态。
b) 交易支付逆向:
(a) 待支付订单,调用交易支付接口,金额不足扣款失败,支付接口返回成功,没有回调通知,交易单状态仍然是processing,检查交易表。
(b) 待支付订单,调用交易支付接口,补差账号不足扣款失败,接口返回成功,交易单状态仍然是processing,检查交易表。
(c) 已支付订单,调用交易支付接口,返回失败。
(d) 多次收到相同支付回调通知,数据库状态一直是已完结。
(e) 小程序支付通知并发,小程序侧的表现。
(f) 金额充足理论上可成功扣款,一直未收到支付回调通知,定时任务执行(自动wx查询支付分接口)成功,交易单状态trade_finish,业务侧订单状态已支付。
(g) 金额不足理论上不可成功扣款,一直未收到支付回调通知,定时任务执行(自动wx查询支付分接口),交易单状态trade_failed,业务侧订单状态待支付。
(h) 执行定时任务,更新交易单失败,再次执行定时任务,可更新成功。
(i) 多次执行定时任务,交易表已更新,则不再更新,交易表是否更新时间。
(j) 待支付订单,一直没进行扣款,一直处理中,目前不可取消,未来加渠道后可取消。
(k) 实际付款成功,没收到支付回调通知,充电业务查交易状态,交易状态进行中此时会触发更新,不用发消息通知业务侧。
(l) 交易支付接口分多次调用不并发,处理成功后其他不处理,第一次返回成功,其他返回失败 提示已支付。
(m) 交易支付接口并发多次调用,处理成功后其他不处理,第一次返回成功,其他返回失败 提示已支付。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】


171万+

被折叠的 条评论
为什么被折叠?



