我的天呐,小明竟然被程序猿哥哥追着打
今天上班发现小明正在被程序猿哥哥满办公室的追着打,小明到底做了什么呢?
经了解得知小明给开发报了个bug,经程序猿哥哥煞费苦心排查后客户端没有任何问题,只是手机时间错了,将手机时间调整正确后一切功能正常,小明报了个假“bug”,程序猿哥哥怒气冲冲的过来找小明,小明见势不妙撒腿就跑,程序猿哥哥直接追着小明满处跑。
到底有哪些假“bug”呢?
经总结后有如下几点开始测试前需要格外注意:
一、环境切换引起的“bug”
1、根据cdn文件版本下发文件类
目前有些应用获取配置文件时,服务端是根据客户端上传的文件版本与cdn上的文件版本进行对比,然后判断是否下发文件;当判断客户端文件版本小于cdn上的文件版本时,就会下发文件;当判断客户端文件文本大于等于cdn上的文件版本时,就不会进行文件下发:
一般来说测试环境和线上环境使用cdn服务器不是同一个,所以就造成了同一个文件在测试环境与线上环境版本不一致的情况,一般情况下由于测试环境在测试时需要频繁更换文件,所以测试环境同一个文件版本会远大于线上环境的版本,当在测试环境测试完毕需要在线上验证时,直接切到线上环境,往往由于客户端获取到的文件版本远大于线上环境的文件版本而造成无法获取线上数据的情况,遇到这种情况将客户端卸载重装后重新获取数据就会解决该问题。
2、消息推送类
小明在测试环境测试消息推送新功能,测试完毕后程序猿哥哥将代码布置到了线上,小明直接将切换到了线上环境,发现刚才在测试环境用的好好的设备在线上环境无论如何也收不到推送消息;
小明马上去找了程序猿哥哥,程序猿哥哥告诉小明,应用启动时会向推送的服务器发送请求进行注册,注册成功后应用后续不会再发注册请求,但是推送的测试环境和线上环境分属于两个不同的服务器,所以只能在其中一个环境注册成功,也就是说在测试环境该手机注册成功了并能正常收到消息推送,但是在线上环境是没有这台手机的,而且由于在测试环境已经注册成功,应用也不会在重新发送注册请求,所以在线上环境推送时,这台手机是不会收到消息的,将应用卸载重装后,切换到线上环境启动应用,应用就可以注册到线上环境,这个问题就可以解决了。
二、时间不正确引起的“bug”
1、HTTPS相关功能
目前很多功能都开始使用HTTPS协议,在测试这些功能时需要格外注意设备时间是否正确,因为时间不正确时,HTTPS证书会无法验证通过;
如果时间不正确时对使用HTTPS的功能进行测试,会出现请求不到数据的情况,例如搜狗手机浏览器首页的资讯,如果手机时间不正确,对资讯列表进行刷新,会提示已无更多数据,将时间调整正确后,重启浏览器再次刷新就可以正常获取数据;
2、因为产品需求特地设置时间校验的功能
有些功能虽然使用的是HTTP协议,但是因为需求的原因特地设置了时间校验功能;
例如搜狗手机浏览器的资讯详情页广告下发机制,当本地时间与服务端时间差超过24h时,则不下发广告,将本地时间调整正确后,再次访问资讯详情页时获取广告正常。
三、连接fiddler后未安装证书引起的“bug”
fiddler在抓取HTTPS的请求时,需要安装证书;往往有小伙伴在测试HTTPS相关功能时只连接fiddler而忘记装证书了,在测试过程发现HTTPS相关的功能都不正常了,后续将证书安装再次测试HTTPS相关功能就会恢复。
例如搜狗手机浏览器首页资讯,如果连接fiddler却不安装证书,刷新资讯列表时会出现无法更新数据的情况,安装证书后再次刷新数据获取正常。
四、因为手机设置引起的“崩溃”
当前项目已处于monkey测试阶段,每天晚上会使用EasyMonkey系统进行monkey测试,小明早上来公司使用昨晚进行monkey测试的机器进行测试,在测试过程中发现只要离开当前tab进入下一个tab,再返回前一个tab时出现了崩溃,经多次复现后为必现,但是其它手机并没有复现,小明马上抓log以机型适配bug提交bug,并将手机给了程序猿哥哥,程序猿哥哥跟这个bug死磕半天时间后,突然灵光乍现想起来开发者选项中有一个叫“不保留活动”的开关,程序猿哥哥去开发者选项中查看后,“不保留活动”的开关果然是打开的,将开关关闭后崩溃现象消失,程序猿哥哥过去狠狠的把小明教育了一顿。
ps:大家如果不想突然某天被程序猿哥哥追着打,一定要搞清楚这个bug到底是不是bug哦!以上是我在日常工作中收集上来的问题,大家可以跟进自己项目的实际情况进行汇总。
转载自:搜狗测试