记软件测试线上问题一:
启动页仅记录时间未检查升级,导致不能弹出自动更新弹窗
上线日期:
V1.2.0 2016年12月20日
V1.3.1 2017年2月23日
问题经过描述:
最新版本集成了一个文件,所以领导要运营数据,然后发现不弹自动升级弹窗,只能手动更新,查看版本使用用户的时候发现近50%用户在使用老版本V1.2.0,并未升级,数据如下:
1.0版本数量168,1.1.0版本数量6562,1.1.1版本数量9286,1.2.0版本数量19679,1.3.0版本数量2829,1.3.1版本数量26,以上总计38550。
开发定位问题:
1、判断是否弹窗的依据是当前时间具体上次安装是否已经过了一天,判断方式是利用启动页记录一个时间参数time,然后把当前时间now减去time,如果结果大于24小时,则弹窗。
目前的问题是每次路过启动页都会更新这个time参数,因此正常情况下无论何时now减去time都会小于24小时,都不会弹窗,这就是bug。
2、启动页处有记录时间和检查升级的操作,主界面记录时间的操作,之前在启动页本身就有做版本的检查,做后台驻留功能的时候去掉了。
如果经过启动页,启动页就会记录当前的时间了,而启动页没有做到检查升级的操作,因此进入了主界面,再拿一次当前的时间跟上次纪录的时间(启动页记录的时间)作对比,发现这两个时间都是同一天,因此没有弹出提醒,如果不经过启动页,就没有记录到当前的时间,就还是上次修改的时间,进入主界面,拿当前时间和上次时间(昨天或更前的时间)对比,发现不是同一天,弹窗。
解决方案:
1、 bug解决:启动页加上检查版本升级代码,可以弹出自动升级弹窗;
2、 弥补之前未升级版本:采用强制更新方法
总结测试经验:
1、每次版本上线前,必须要做的是独立安装、覆盖安装、卸载,这次再加上一个版本升级包括自动更新升级、手动更新升级、强制升级。