如何测试搜索引擎(online部分)

搜索引擎从业务耦合度上可以被分为online和offline两部分,两者通过index进行关联。
online又可以被分为核心引擎和online应用,offline则包含数据爬虫和offline处理流程。


搜索引擎online部分的测试可以分为如下几步:

  1. 单元测试:人们普遍认识到错误发现的越早,改成错误的成本越低,正确改正错误的可能性也越大,TDD可能是个不错的解决方案,不过程序员应当避免测试自己编写的程序,因为很难让他突然改变视角以一种“破坏性”的眼光来审查代码。
  2. 代码检查:阅读代码对于构成完善的软件测试和调试手段具有很高的价值,除了人工检查外还可以借助一些静态代码检查工具的帮助。
  3. 功能测试:数据驱动测试,主要就是按照用例,通过不同的搜索关键字、属性的组合来直接访问搜索引擎或online各应用模块,查看返回的数据、参数是不是符合原先预计的结果。
  4. 性能测试:直接对搜索引擎进行加压,可以测试出搜索引擎本身最真实的性能状况。可以把搜索引擎的有效负荷,最大承受的压力测试出来。另外可以通过前台应用进行加压,主要的压力都集中在前台应用上面,这种测试也是必须的,因为你的搜索引擎是离不开前台应用的,这种测试可以模拟最真实的终端用户使用。
  5. 集成测试:联调测试,错误往往与各模块之间的接口有关,实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
  6. 系统测试:系统测试是将通过确认测试的系统作为整个基于计算机系统的一个元素,与计算机硬件、外设、数据和人员等其它系统元素结合在一起。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。可能涉及的测试点包括性能测试,能力测试,可恢复性测试,兼容性/配置/转换测试,安全性测试,failover测试
  7. 上线验证:这里面包含了切流量前回归测试,切流量后回归测试,线上功能模块监控等

你可能感兴趣的:(搜索引擎,test)