当前位置: 首页 > news >正文

搜索引擎---项目测试

一)项目背景:

首先介绍一下项目:项目的目标是实现一个基于JAVAAPI的站内搜索引擎

java官方文档是在学习java语言中不可或缺的权威资料,相比于各种网站的Java资料,官方文档无论是语言表达还是组织方式都要更加全面和准确,因为没有人比作者更加了解自己的作品,官方文档一定是最了解自己的作品的,通过查阅java文档,可以准确而全面地了解到自己需要了解的知识点,但目前Java官方文档只能通过滚动条寻找关键字进行点击的方式来查询,自然就存在着查询低效的问题,为了解决这一问题,也为了能够加深对java知识的应用,我尝试构建了一个针对java文档的站内搜索引擎,可以有效提高查询效率

二)项目功能:

一个网页上面有一个搜索框,用户输入查询词以后进行搜索,将会在服务器中检索出所有和查询词相关的文档,并且把这些信息返回给用户,用户点击结果中的链接就会跳转到线上文档对应的url;

1)预处理模块:将下载好的JAVAAPI文档的html进行初步的处理,把若干个html文件处理成一个行文本格式的文件,每一行对应一个文档,每一行对应着一个文档,每一行有三列,包含了标题+url(线下文档的url)+正文;

2)索引模块:根据预处理模块的输出文件,制作正排和倒排索引,这是一种数据结构,正排索引是根据文档的ID找到文档相关信息,倒排索引是根据词在那些文档ID中存在,在进行创建正排索引以后,根据创建好的正排索引来创建倒排索引

3)搜索模块:从用户拆分出查询词,根据查询词,得到最终的结果

4)前端模块:显示最终结果,和用户进行交互;

三)测试目的:

验证搜索引擎的功能是否可以正常的运行,并且可以通过手工测试和自动化测试的方式,尽可能地发现程序中存在的错误,以便可以针对错误进行修正,提高程序的可靠性,满足用户的使用需求,提高用户的使用体验;

四)手工测试:
飞书测试链接:https://nxqjlyz94q2.feishu.cn/wiki/QrcawJqn2iqk4YkH1PMcvi0VnHg?create_from=create_doc_to_wiki#mindmap
4.1)预处理模块测试:

4.2)索引模块测试:根据第一步处理的行文本格式的数据创建正排索引和倒排索引

4.3)前端搜索模块进行测试:

功能测试:

界面测试+兼容性测试:

可靠性测试+性能测试+弱网测试:

文档测试+安全测试

相关文章:

  • 如何取消thunar为默认文件管理器
  • MySQL索引 Error1071
  • 基于单片机的温湿度检测系统设计
  • 遥遥领先!TinyEngine 低代码引擎更新升级!AI 已成功部署!
  • JMeter 设置请求头信息的详细步骤
  • ⑦【Redis GEO 】Redis常用数据类型:GEO [使用手册]
  • centos7卸载mongodb数据重新安装时无法安装的问题
  • 3.1 CPU内部结构与时钟与指令
  • Vite CSS Module 优雅的处理样式隔离
  • R数据分析:集成学习方法之随机生存森林的原理和做法,实例解析
  • CentOS 7实现类似于Kali Linux中的自动补全功能
  • css实现图片绕中心旋转,鼠标悬浮按钮炫酷展示
  • 在两个java项目中实现Redis的发布订阅模式
  • 车载电子电器架构 ——电子电气架构设计方案概述
  • 【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析模拟实现
  • 【Linux系统编程】快速查找errno错误码信息
  • 【mysql】环境安装、服务启动、密码设置
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • Docker入门(二) - Dockerfile
  • k8s 面向应用开发者的基础命令
  • NSTimer学习笔记
  • pdf文件如何在线转换为jpg图片
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React as a UI Runtime(五、列表)
  • redis学习笔记(三):列表、集合、有序集合
  • SQLServer之创建显式事务
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 简单易用的leetcode开发测试工具(npm)
  • 近期前端发展计划
  • 王永庆:技术创新改变教育未来
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • zabbix3.2监控linux磁盘IO
  • ​Linux·i2c驱动架构​
  • #if和#ifdef区别
  • ${factoryList }后面有空格不影响
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • .NET Core 中插件式开发实现
  • .net操作Excel出错解决
  • .NET和.COM和.CN域名区别
  • .net开发时的诡异问题,button的onclick事件无效
  • .Net小白的大学四年,内含面经
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [C++] Windows中字符串函数的种类
  • [CF]Codeforces Round #551 (Div. 2)
  • [C进阶] 数据在内存中的存储——浮点型篇
  • [dart学习]第四篇:函数
  • [Java算法分析与设计]--线性结构与顺序表(List)的实现应用
  • [JS]Math.random()随机数的二三事
  • [msg_msg] corCTF2021 -- fire_of_salvation
  • [MZ test.16]P1 评测
  • [NOI2005]聪聪与可可(期望)