基于-轻量级文档搜索系统的测试报告

文章目录

    • 一、项目背景
    • 二、项目功能
    • 三、测试计划
      • (一)测试用例设计
      • (二)测试用例实现
      • 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.安全性测试

过滤敏感词
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/97894.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/97894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编辑器vim(Linux)

Linux下开发工具是独立的写代码——编辑器 vim编译代码——gcc/g调试——gdb、cgdb构建工具——makefile、make、cmakevim只用来写代码注意:直接用vim打开一个不存在的文件并保存退出,就会自动生成该文件vim有多种模式命令模式(Normal Mode&a…

GitLab,2025最新如何配置中的SSH key步骤

电脑右键先检查,是否有公钥 git cat ~/.ssh/id_rsa.pub下面是有,不用生成公钥,没有就要生成生成本地电脑公钥, 建议用第二种 //第一种ssh-keygen -t rsa//第二种------- 1.打开git bash,输入:ssh-keygen -t rsa -C “你的邮箱”ss…

华为HCIE证书多久续一次费?费用多少?

根据华为官方政策,华为认证HCIE的有效期为3年,有效期自证书正式发放之日起计算,考生可通过华为人才在线官网登录个人账号,在“我的证书”栏目中查询具体有效期起止时间。一、HCIE证书到期后的续证方式 1.重考对应HCIE的认证考试&a…

提升文本到图像强化学习稳定性:Pref - GRPO算法如何革新图像生成?

提升文本到图像强化学习稳定性:Pref - GRPO算法如何革新图像生成? 在文本到图像生成领域,强化学习正重塑着模型与人类偏好的对齐方式。本文聚焦于一种创新的基于成对偏好奖励的GRPO方法(Pref - GRPO),它通…

Linux UDisks守护进程曝本地提权漏洞CVE-2025-8067,PoC已发布

漏洞概述安全研究人员在Linux环境中广泛使用的磁盘管理组件UDisks守护进程中,发现了一个严重漏洞(编号CVE-2025-8067,CVSS评分8.5)。该漏洞已报告给红帽产品安全团队,并在UDisks更新版本中得到修复。技术细节该漏洞存在…

uniapp 开发上架 iOS App全流程

操作文档网址:https://ask.dcloud.net.cn/article/152 操作学习视频地址:uniapp打包上线微信小程序、安卓、IOS流程_哔哩哔哩_bilibili 第一步:注册苹果 iOS 个人开发者账号 费用说明 ‌个人开发者账号‌:适用于独立开发者或小…

Sqlsugar补充自定义模板

DBFirst默认创建所有实体CreateClassFile()的第二个参数为生成实体类命名空间//.net6以下 db.DbFirst.IsCreateAttribute().CreateClassFile("c:\\Demo\\1", "Models"); //.net6以上 string加? db.DbFirst.IsCreateAttribute().StringNullable().CreateCl…

LeetCode 392.判断子序列

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列&#x…

逻辑回归:从原理到实战的完整指南

在机器学习中,分类任务是最常见的应用场景之一。而逻辑回归(Logistic Regression),尽管名字中有“回归”,实际上是一种非常强大且广泛应用的二分类模型。它简单、高效、可解释性强,是数据科学初学者入门分类…

鸿蒙搭配前端开发:应用端与WEB端交互

鸿蒙系统(HarmonyOS)是华为开发的一款面向全场景的分布式操作系统,其设计初衷是为了适应物联网时代的需求,旨在构建一个统一的操作系统,支持多种设备的无缝协同工作。其分布式开发的一些主要优势: 跨设备协…

配置sscms时被sql server处处刁难

今天要记下来的是一个小例子。接前面,当我终于完成sql server的安装时,才发现要填写sscms的两个空是有多么艰难。首先安装sql server2016出现了太多环境不兼容的问题,让我只好退而安装sql server2012。安装sql server2012时其实是可以避坑的&…

【Flink】DataStream API:源算子、数据类型

目录源算子(Source)从集合中读取数据从文件读取数据从Socket读取数据从Kafka读取数据从数据生成器读取数据Flink支持的数据类型Flink的类型系统Flink支持的数据类型类型提示(Type Hints)源算子(Source) Fli…

Linux 安装docker-compose安装方法(安装docker compose安装)

文章目录**方法一:通过 curl 下载二进制文件(推荐)**1. 安装前准备- **确保已安装 Docker**- **检查 Docker 是否安装成功**2. 下载并安装 Docker Compose- **下载最新版本的 Docker Compose 二进制文件**- **国内加速下载(解决 G…

OCR 发票识别与验真接口:助力电子化发票新时代

自 2025 年 10 月 1 日起,纸质火车票彻底告别历史舞台,全面数字化的电子发票取而代之,这一变革标志着票务领域的重大革新,也让电子化发票处理的需求呈井喷式增长。在此背景下,OCR 发票识别和发票验真接口技术挺身而出&…

设计模式:抽象工厂模式(Abstract Factory Pattern)

文章目录一、概念二、实例分析三、完整示例一、概念 抽象工厂模式是一种创建型设计模式。 提供一个接口用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类。 相比于工厂方法模式,抽象工厂模式不仅仅是创建单一产品,而是一族产品&am…

轻量级注意力模型HOTSPOT-YOLO:无人机光伏热异常检测新SOTA,mAP高达90.8%

【导读】 无人机光伏巡检如何更智能、更高效?HOTSPOT-YOLO模型给出了亮眼答案!给AI装上“热成像鹰眼”,能精准锁定光伏板上的细微热斑缺陷。它不仅将检测精度(mAP)提升至90.8%,更在保持实时性的前提下大幅…

CHT共轭传热: 导热系数差异如何影响矩阵系数

文章目录 一、导热系数差异如何影响矩阵系数?二、如何处理系数差异以加速收敛?1. **变量重缩放(Scaling of Variables)**2. **使用物理型预条件子(Physics-based Preconditioning)**3. **区域分解法&#x…

Vue Vapor 事件机制深潜:从设计动机到源码解析

基于 vue3.6(alpha 阶段)及 Vapor 的最新进展撰写;Vapor 仍在演进中,部分实现可能继续优化。TL;DR(速览) 传统(≤3.5):事件以元素为中心绑定;每个元素用 el._…

Day 01(01): Hadoop与大数据基石

目标:建立对大数据生态的整体认知,理解HDFS和MapReduce的核心思想。 8:00-9:30:【视频学习】在B站搜索“Hadoop入门”或“三小时入门大数据”,观看1-2个高播放量的简介视频,了解大数据面临的问题和Hadoop的解决方案。 …

开源 + 免费!谷歌推出 Gemini CLI,Claude Code 的强劲对手

在如今飞速发展的 AI 工具生态中,命令行界面(CLI)这一开发者与计算机交互的传统方式,正悄然发生着一场颠覆性的变革。2025 年 6 月 25 日,谷歌正式发布开源的 Gemini CLI,这一举措标志着谷歌 Gemini AI 能力…