文章目录
- 一、项目背景
- 二、项目功能
- 三、测试计划
- (一)测试用例设计
- (二)测试用例实现
- 1.功能测试
- 2.界面测试
- 3.兼容性测试
- 4.易用性测试
- 5.安全性测试
一、项目背景
1.基于轻量级文档检索系统采用C++技术栈来实现,同时使用了本地文件系统来存储相关的索引数据,同时将其部署到云服务器上。前端主要有一个页面构成:搜索页,该页面包含搜索框、结果列表与摘要展示区,以上模拟实现了一个最简单的垂直搜索引擎系统。其结合后端实现了以下的主要功能:对技术官网文档的全文爬取与解析、正排与倒排索引的构建、关键词的分词与检索、搜索结果的相关性排序(基于权重公式标题词频*10 + 正文词频)以及提供HTTP搜索接口等功能。
2.但是该项目没有设计图形化的索引构建与监控功能,只能通过命令行指令启动索引构建过程;并且搜索结果的相关性衡量策略较为简单,仅依赖于词频统计,并未引入更复杂的算法(如TF-IDF或BM25);而索引数据存储在内存中,并未实现持久化,服务重启后需要重新构建索引。
3.该轻量级文档检索系统可以实现对官方技术文档的快速站内检索,用户输入关键词后,相关的文档标题、内容摘要以及官方链接都可以被详细地查看并点击访问。
二、项目功能
该轻量级搜索引擎主要实现了以下几个功能:索引构建、关键字搜索、搜索结果高亮与摘要生成以及Web服务等功能。
索引构建功能:原始技术官网的HTML文档已经提前下载并存储在指定目录,没有实现实时爬虫抓取功能,即:数据源是静态的、预先准备好的。项目启动时首先会运行索引构建模块,对HTML文件进行去标签、解析、分词,并建立正排索引和倒排索引。构建成功后,搜索引擎即可对外提供检索服务。
搜索页面:用户可以在前端搜索页的输入框中输入任意关键字,其界面包含搜索框、搜索结果统计和结果列表。在结果列表中可以看到匹配文档的标题、内容摘要以及对应的官方URL链接。点击标题或URL即可跳转到Boost官网对应的文档页面。
搜索结果:在搜索页面输入关键字并点击“搜索”按钮后,页面会异步向后端发送请求,并动态加载返回的搜索结果。此时就可以看到所有匹配文档的概要信息,并按相关性(权重)从高到低排序。每个结果项都清晰展示了文档的标题、包含关键字的摘要片段和可直接访问的链接。
搜索流程:在搜索框输入关键字后,后端服务会执行一套完整的检索流程:首先对查询词进行分词,然后在倒排索引中查找每个分词对应的文档ID列表,接着进行权重计算与合并,最后根据合并后的权重对文档进行排序,并将排名前N的结果包装成JSON格式返回给前端渲染。
三、测试计划
(一)测试用例设计
(二)测试用例实现
1.功能测试
1)特殊字符处理
1.1输入无效字符是否提示(✔)
1.2输入有效字符是否正确(✔)
2)基本搜索功能
2.1加入特殊字符后(✔)
2.2加入空格后(✔)
3)历史记录
3.1历史记录是否有效(✔)
3.2历史记录是否可以清除(✔)
2.界面测试
1.1原版搜索框界面
1.2优化后搜索框界面(✔)
1.3原版搜索结果界面
1.4优化后搜索结果界面(✔)
3.兼容性测试
1)Edge浏览器(✔)
2)google浏览器(✔)
4.易用性测试
1.1搜索结果清晰
1.2操作性
输入需要查询的英文内容,点击相应标题,直接跳转到boost官方相关文档处,简单高效。
5.安全性测试
过滤敏感词