搜索引擎大家一定非常的熟悉,在中经常遇到比如你想知道怎么去你要去的地方,那么你先要搜索;你想知道周末有什么歌剧上演那么你还是要搜索;你想知噵这周全市商场打折情况,那么你依然离不开搜索…………生活在网络时代的你,几乎离不开搜索那么搜索靠的是什么?当然就是搜索引擎搜索引擎的重要性自然体现出来了。大家最熟悉的专业搜索引擎有yahoo!、、百度…………然后搜索引擎并不止这些一些大型的网站吔有自己的搜索引擎,如淘宝你想在淘宝上买东东,那么大多数人先是直接搜索想要买的东东的名字然后在list中按照一定的条件进行筛選,然后就可以和卖家联系货比三家了
上面说了这么多废话,我们现在言归正传那就是搜索引擎我们怎么测试呢?
搜索引擎嘚测试也分为功能与我在下面依次来分享:
首先,我们把整个测试计划分为线下测试与线上测试线下与线上测试都要分与性能测試,先说现线下的测试
一、线下功能测试分为两个部分,一部分为搜索引擎本身的功能测试一部分为嵌套在前台应用中的功能测試:
1、搜索引擎本身的功能测试,主要就是按照用例通过不同的搜索关键字、属性的组合(按照搜索引擎的规则)来直接访问搜索引擎,查看返回的数据、参数是不是符合原先预计的结果可以编写脚本来批量执行,判断每一个搜索的返回结果数与内容相对应的参數是否一致。也可以手工执行使用浏览器或者命令行(如 curl)来做,用肉眼来观察结果
2、嵌套前台应用的功能测试,只要就是按照鼡例通过前台的操作来测试搜索引擎的相关的功能,测试搜索引擎与前台的接口是否正确应用至于如何测试,这个地球人都知道了峩就不在这里多说了。
二、线下性能测试也分为两个部分一部分为直接对搜索引擎进行加压的性能测试,另一部分为通过前台应用進行加压的性能测试:
1、直接对搜索引擎进行加压可以测试出搜索引擎本身最真实的性能状况。可以把搜索引擎的有效负荷最大承受的压力测试出来。具体的方法是使用工具如 loadrunner使用一个web_url直接加压,加压的内容其实就是你在功能测试中直接测试搜索引擎时使用的那些搜索关键字、属性的组合(按照搜索引擎的规则),具体的规则可以通过log来查看也可以询问开发人员。需要注意的是数据准备一萣要海量,至少10万条以上的搜索数据(注意就是你访问搜索引擎的那些关键字组合,至于被搜索的数据越大越好,最少多大看你实際需要了)。当一切都准备完毕后就可以启动工具来进行加压了。
2、通过前台应用进行加压主要的压力都集中在前台应用上面,對于搜索引擎本身的压力并不会很大但是这种测试也是必须的,因为你的搜索引擎是离不开前台应用的这种测试可以模拟最真实的终端用户使用。所以不要怕麻烦这个才是最后真正有意义的测试结果。
三、线上的功能测试其实就是功能回归了,使用预发布环境(一套独立的缩小的线上的架构)来跑回归手工或者自动化随便,这是不能缺少的
四、线上的性能测试,这个也是使用预发布环境(记得一定要和线上一样哦只不过是缩小的),分流线上的一部分压力到这里观察线上与预发布环境中的各服务器的情况,如果是苐一次发布线上没有流量,那么就自己来模拟或者靠运营来宣传了(有点想网络游戏的公测)。记录下服务器的各性能指标如 load,cpu隊列,最大并发连接数log等等。
特别需要注意的是不同层次服务器之间的数据传输方式,正确率以及配置多试试不同的配置,寻找性能最优点