在目前的平台项目当中,数据新增或者修改已经是一个必备功能,数据相关的测试就需要关注数据的准确性,除此之外,一些电商搞活动的时候,经常能看到系统bug导致多次支付多次扣款的问题,被客户投诉,这些都指向同一个问题,截流问题,也是本文探讨的重点。
1)什么情况下会出现数据重复提交的问题?
用户操作系统新增数据,网页卡顿了,页面没有及时变更,没有返回成功的提示,此时又比较着急,这时候可能就会多次点击提交按钮;
某些功能添加数据不是一步完成的,通常要分成好几步,用户操作完第一步进入第二步页面的时候,又返回了上一步,这种重复的前进和后退操作也有可能会产生重复数据;
用户在提交数据的页面直接刷新,导致页面还是停留在提交之前的状态,这个时候就会多次提交。
2)哪些重要的场景必须测试截流功能?
涉及重要核心数据的接口,必须要安排截流测试,包括:多次连续点击看下有无重复提交,相同账号登录两个不同终端同时操作,看下有无报错,关注数据提交之后页面刷新速度,关注数据唯一性校验。
另外,涉及金钱交易的接口,必须安排截流测试,比如:快速多次点击支付按钮,在弱网环境下页面没有返回之前再次点击支付按钮,涉及拼团秒杀等,多个不同用户卡点同时下单等,关注结果返回情况,有无超库存等情况。
3)解决数据重复提交问题有哪些方法?
常用的方法是直接加锁,相同用户在一定时间(比如10s内)禁止多次操作。
或者,前端加按钮,提交之后按钮置灰,比如获取验证码这种,倒计时1分钟。