背景:有2个后台系统A和B,A是PHP写的,B是Java写的,因业务需要将A的功能移到B去,但用户数比较多,得有个适应过程,就采用了一键免登录跳转功能
页面功能:搜索、列表(含操作列)、翻页,点操作列可进入明细页面
其中列表数据是由BI统计,直接从ES同步到数据库里,开始时间为0点0分0秒,结束时间为23点59分59秒,明细页面的数据是从订单表取数的
问题一:测试环境构造列表数据时时间都在这个范围内,未考虑到边界值(也没有去查线上的数据看时间的规律),并未发现问题,到了Beta站,发现列表的字段“环比增长”都是100%,明明每一天的数据都是不一样的,切回老版后环比计算又是对的
问题二:明细页面功能没有改动,所以测试时页面能打开就觉得OK了,没有构造测试数据,到了Beta站用正式账号登录发现每个页面都是空白
接下来就是排查问题,开发一脸懵逼,代码完全没动过,为啥测试站没问题,不科学呀
重新拉分支,发布。。。。
持续了3个小时,终于找到问题原因了:
1、环比增长计算:时间函数转换时会默认增加1秒,所以修改代码进行-1,和ES同步的时间保持一致
2、进入明细页面时也需要用户登录信息,因列表页是通过一键免登录跳转过来的并没有存登录id
解决办法:缓存登录信息