今天做测试的时候犯了一点原则性的低级错误,记录下来和大家分享、共勉之!这里我尽量详细描述出自己的思考方式,希望对测试新人有所帮助。不足之处请老前辈提出,共同学习。
前两天项目更新了版本(B/S架构),一般更新版本给客户以后测试人员都会很忐忑:是不是会出现什么意想不到的问题?别有什么严重的问题测试时没发现却被客户提出来啊……
今天客户说系统运行很慢(前几天他说慢的时候我发现速度很快,叫他重启了自己的电脑以后他就没意见了)
1.我第一反应是:不会更新出问题了吧?自己操作了一下客户的版本,的确很慢。但是赶紧去后台看资源占用,没看出问题。奇怪……
2.叫用户全部登出,我一个人登录系统。跟开发人员要了一串很长的查询语句来执行,查看资源占用。执行语句的时候资源占用并没有明显提高
3.既然仅仅执行查询没问题,那么应该是前段的原因。用拿手的办法(我写的一点教程http://blog.csdn.net/u010051887/article/details/50581838)查看了前段的性能参数。果然前端某些操作耗时很长。为了得到更多的对比数据,我把电脑折腾成这样:
两个测试地址、两个远程监控、两个对应的测试结果对比,还有数据库连接。先不管打开这么多窗口是不是方便操作,毕竟我只有一台测试机,还是自己带来办公的电脑。光是给人看到这样的电脑屏幕应该觉得很牛逼(神经病)吧。然后就开始各种点击各种计时各种分析得出结论1:的确是前端的速度慢
4.前端为什么这么慢?仅仅得出这个结论客户是不会满意的,因为接下来就要痛苦的优化啊。我掐着手机秒表对比了IE11、chrome、firefox三个主流浏览器中打开系统进行相同操作的时间,发现:在相同的环境肿,执行相同的操作,IE11消耗的时间几乎是chrome的两倍!firefox比chrome稍稍慢。虽然我常用ff,可能装了大量插件影响对比的公正——在我电脑上chrome是最干净的。但是至少能得出IE11浏览器在运行我们这个系统的时候速度比另两个浏览器慢的结论。结论2:IE浏览器本身的问题。所以以后的项目要引导用户尽量远离IE浏览器。
5.准备将这两个结论告诉客户,但是不太甘心:今天客户没有提出这个问题的时候我测试并没有觉得系统慢啊。于是我打开自己电脑的任务管理器,再次操作系统发现cpu使用率已经爆表了。任务管理器按cpu使用率排序,看到远程连接和浏览器等程序都占用了大量的cpu资源。于是我关掉了无关的程序再次操作系统,顿时觉得飞快!一边骂自己一边得出结论3:使用者的电脑资源不足导致浏览器运行缓慢(当然系统相关页面可能有优化的空间)
反思:当用户提出系统缓慢的时候(有两个用户,但是一般是其中一个发现问题了报告给另一个,然后另一个可能看都不看就来跟我说。今天两个人都跟我说,我想不会两个人的电脑都慢吧),我产生了先入为主的想法:系统更新以后可能有问题。然后就一直在检查系统而没有留意自己打开了太多程序电脑资源不足而影响性能测试结果。测试时无论是做性能测试还是功能测试,首先要保证的就是测试环境,测试环境没有问题了才能进一步测试被测软件,否则到头来才发现是环境问题就浪费了大把时间和精力。