1、翻页的坑,page没有初始化
这个问题测试环境就已经发现过好几次,每个都只看了response的数据,count有值,list为空,没注意去看请求参数,问了前端说可能是缓存的关系,清了之后进来没有翻页搜索确实是好的,也就那么过去了,后来产品验收时提出来了,后端开发就说看下日志,一语惊醒梦中人,翻页搜索后page值没有变为1,总共只有9条数据,每页10条,直接请求第4页那肯定是没有数据的

2、涉及支付时,小数末位数需要考虑5,四舍五入时会存在问题
场景:商品使用2个积分+0.01进行退换,原价0.1,用户使用1积分,订单支付时提示“支付金额不对”
原因:前后端计算方法不一致,差1分钱
后端:单个商品金额=原价-【(原价-促销价)* 用户所用积分/商品可使用积分】四舍五入
(0.1-0.01)*1/2,四舍五入=0.05
前端:单个商品金额=【原价-(原价-促销价)* 用户所用积分/商品可使用积分】四舍五入
0.1-(0.1-0.01)*1/2,四舍五入=0.06
处理方法:
1)前后端计算方法保持一致
2)后端计算时先保留6位小数再四舍五入
3、涉及缓存的数据,需要和数据库比对是否一致
测试积分兑换时碰到redis存的积分值比数据库大,兑换失败
比如用户剩余积分是500,商品可用积分是600,兑换时提示“当前积分不够”,使用499积分时可以下单
总结:构造测试数据时也不能太随意,可见经验的重要
网友评论