先讲一个案例:
企业网站已经运行多年了,访问速度越来越慢,最近用户反映,打开个网站首页快的时候也要2、3秒,慢的时候就需要喝杯茶了,还不如上外网新浪搜狐快,厂领导重视这个问题,信息部的领导当然不敢怠慢。
首先组织人员参观附近的运行比较好的相关网站,比如总公司的,地方上的信息港等,现场咨询了相关设计人员若干问题。
然后就组织会议,召集相关人员讨论、分析网站首页慢的原因。网站的开发人员、维护人员、测试人员以及各方领导都参加了分析。结论很快就出来了,接着领导们开始提改进建议。但会议却好象陷入了僵局。
网站首页慢的原因如下:
1、在首页打开的数据库(表)太多。因为首页要各车间、单位的最新数据列表,提取最新数据占用了太多时间。
2、数据库有问题。测试人员在逐个测试数据库时发现,虽然网站涉及多个数据库服务器,如办公邮箱服务器、邮件服务器、文件服务器、各生产数据服务器等,但有一台服务器明显慢了许多,断掉这台服务器,网站首页的打开速度就进入毫秒级,将这台数据库的数据导出至另一台备用服务器上,并将WEB服务器上的链接指定到备用服务器,访问速度依然是毫秒级。
3、首页中的SQL语句有问题。特别是Oracle中数据表指针的移动很费时间,需要优化。
解决方案也接着就出来了,如下:
将首页改为静态的。首页中不再访问所有的数据库服务器,而是若干文本列表,这些文本由其它数据库(表)在新增记录时,同步在WEB服务器上生成。首页是静态的,速度就会快多了。
测试人员表示反对这种方案,认为问题出在数据库上,而不是网页的动态或静态上,但在讨论的过程中,领导强调指出问题必须给出解决方案,否则不予考虑。于是,表态的人少了,会议沉默了,然后就是方案的实现,解决问题的时限,散会……
这是个真实的案例。在本案例中,测试人员先期很积极的寻找网站速度慢的原因,但后来归于沉默,是因为测试人员没有能力解决这个问题,只能从多个方面寻找问题的原因,但谁找出问题谁负责解决的做法,打消了测试人员的积极性,测试人员是找问题的,不是解决问题的。多一事不如少一事。可以预见,这个方案最终会不了了之。
这就是在大多企业中软件测试人员的一种窘境,测试人员即要发现问题,还要解决问题,并且测试人员和开发人员一般在同一个部门,发现的问题越多,自己不解决,就给开发人员造成的返工量越大,开发人员和测试人员的矛盾很多,又得不到有效的解决。