JavaAPI搜索引擎测试报告
- 项目背景与项目介绍
- 项目功能
- 自动化测试
- 单元测试
- 测试ansj分词器
- 测试能否获取到正确的URL
- 测试能否正确解析文件中的正文
- 测试计划
- 界面测试
- 测试1 页面布局是否合理美观,元素是否正确显示
- 测试2 测试是否可以正常显示出搜索结果
- 测试3 点击搜索结果后,测试搜索结果的页面内容是否正常显示
- 功能测试
- 搜索空格
- 搜索中文
- 搜索数字
- 搜索内容后加空格
- 搜索不存在的内容
- 搜索英文关键词
- 多次搜索相同的内容
- 搜索多个关键词中间加上空格
- 搜索多个关键词中间加上逗号
- 搜索英文+中文的内容
- 搜索英文+数字的内容
- 主页搜索模块
- 测试搜索按钮
- 点击搜索结果的标题,测试是否能够正常跳转到对应的页面
- 用户搜索的关键词是否高亮显示
- 易用性测试
- 测试用户输入的大写字母是否可以自动转换成小写字母
- 是否支持搜索结果的复制粘贴
- 搜索内容按照关键词在文档中的权重显示
- 兼容性测试
- 不同的设备
- 测试不同的浏览器
项目背景与项目介绍
Java官方API文档是我们在学习Java语言中不可或缺的权威资料。
相比于各种网站的Java资料,官方文档无论是语言表达还是组织方式都要更加全面和准确。
因为没有人比作者更加了解自己的作品,官方文档一定是最了解自己的作品的。
通过查阅Java文档,我们可以准确而全面地了解到自己需要了解的知识点。
但目前Java官方文档只能通过滚动条寻找关键字进行点击的方式来查询,自然就存在着查询低效的问题。
为了解决这一问题,我尝试创建了一个搜索引擎,JavaAPI搜索引擎项目是一个基于Java开发的全文搜索系统,旨在对大规模的文本数据进行高效索引和快速检索
项目功能
输入一个查询词,得到若干个搜索结果.每个搜索结果包含了标题,描述,展⽰URL和点击URL
自动化测试
搜索引擎自动化测试报告
单元测试
测试ansj分词器
编写测试方法:
//测试Ansj库能够正确完成分词操作@Testpublic void testAnsj(){//准备一个比较长的话来进行分词:String str = "Looking my eyes, tell me why? baby! why";//把parse方法返回值Result转换成List:getTerms()://terms就表示一个分词结果List<Term> terms = ToAnalysis.parse(str).getTerms();for(Term term :terms){System.out.println(term.getName());}}
测试的结果如下所示:
测试能否获取到正确的URL
测试代码如下所示:
//测试能否正确获取到当前文件路径//1. 指定一个加载文档的路径,也就是我们之前下载好文档的路径private static final String INPUT_PATH = "D:/doc_searcher_index/docs/api";@Testpublic void testURL(){File file = new File("D:\\doc_searcher_index\\docs\\api\\java.base\\java\\util\\ArrayList.html");//先获取到一个固定线上文档的前缀String part1 = "https://docs.oracle.com/en/java/javase/11/docs/api";//下面去获取到后半部分://substring方法中只有一个参数表示从这个下标开始截取到末尾String part2 = file.getAbsolutePath().substring(INPUT_PATH.length());/*System.out.println("固定的线上文档前缀part1: " +part1);System.out.println("本地文档路径的后半部分part2: "+part2);*/String result = part1 + part2;System.out.println(result);}
测试结果如下所示:
测试能否正确解析文件中的正文
测试的具体代码如下所示:
//测试是否可以正确解析文件中的正文部分@Testpublic void TestParseContent(){Parser parser = new Parser();File file = new File("D:\\doc_searcher_index\\docs\\api\\java.base\\java\\util\\ArrayList.html");String result = parser.parseContent(file);String result2 = parser.parseContentByRegex(file);System.out.println(result);System.out.println();System.out.println("=================================");System.out.println(result2);}
测试的结果如下所示:
测试计划
界面测试
测试1 页面布局是否合理美观,元素是否正确显示
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
打开谷歌浏览器,输入URL
测试数据
URL:http://123.56.249.238:8080/index.html
期望结果
页面中的元素显示正确,没有乱码和错别字,整体布局合理美观
测试结果
页面元素显示正确,布局合理美观,测试结果如下图:
测试2 测试是否可以正常显示出搜索结果
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入关键词Arrays,点击搜索按钮
测试数据
搜索:Arrays
期望结果
在搜索框中,输入Arrays,点击搜索按钮之后,能够正常显示出搜索结果
测试结果
搜索结果可以正常显示出来,测试结果如下图:
测试3 点击搜索结果后,测试搜索结果的页面内容是否正常显示
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入关键词Arrays,点击搜索按钮
- 出现搜索结果之后,点击搜索结果
- 查看搜索结果的页面是否可以正常显示
测试数据
搜索:Arrays
期望结果
在搜索框中,输入Arrays,点击搜索按钮之后,能够正常显示出搜索结果,当点击Arrays的搜索结果之后,查看搜索结果页面是正常的
测试结果
搜索结果页面可以正常显示出来,测试结果如下图:
功能测试
搜索空格
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入空格,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:空格
期望结果
搜索成功,但是显示结果为0个
测试结果
搜索成功,但是结果为0个,测试结果如下图:
搜索中文
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入中文:哈哈,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:哈哈
期望结果
搜索成功,但是显示结果为0个
测试结果
搜索成功,但是结果为0个,测试结果如下图:
搜索数字
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入数字:123,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:123
期望结果
搜索成功,但是显示结果为0个
测试结果
搜索成功,打开含有数字的搜索结果,测试结果如下图:
搜索内容后加空格
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入数字:Arr ays,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:Arr ays
期望结果
搜索成功,打开含有关键词的结果
测试结果
搜索成功,打开含有数字的搜索结果,测试结果如下图:
搜索不存在的内容
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入数字:&&&,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:&&&
期望结果
搜索成功,但是显示结果为0个
测试结果
搜索成功,但是结果为0,测试结果如下图:
搜索英文关键词
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入数字:Arrays,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:Arrays
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图:
多次搜索相同的内容
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:Arrays,点击搜索按钮
- 查看是否可以搜索成功
- 重复输入Arrays,查看是否可以搜索成功
测试数据
搜索:Arrays
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
搜索多个关键词中间加上空格
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:Arrays list,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:Arrays list
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
搜索多个关键词中间加上逗号
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:Arrays , list,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:Arrays , list
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
搜索英文+中文的内容
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:Arr哈哈,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:Arr哈哈
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
搜索英文+数字的内容
模块
搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:Arr123,点击搜索按钮
- 查看是否可以搜索成功
测试数据
搜索:Arr123
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
主页搜索模块
测试搜索按钮
模块
主页搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:Array, 点击搜索按钮
- 查看搜索按钮是否可以正常点击,功能是否正常
测试数据
搜索:Array
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
点击搜索结果的标题,测试是否能够正常跳转到对应的页面
模块
主页搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:Arrays, 点击搜索按钮
- 查看是否搜索成功
- 点击搜索结果
测试数据
搜索:Array
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
然后点击第一个搜索结果,测试是否可以跳转到对应的页面:
用户搜索的关键词是否高亮显示
模块
主页搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:Arrays, 点击搜索按钮
- 查看是否搜索成功
- 点击搜索结果
测试数据
搜索:Arrays
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下图
易用性测试
测试用户输入的大写字母是否可以自动转换成小写字母
模块
主页搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:ARRAYS, 点击搜索按钮
- 查看是否会将大写字母转换成小写字母
测试数据
搜索:ARRAYS
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下:
是否支持搜索结果的复制粘贴
模块
主页搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:list, 点击搜索按钮
- 查看搜索结果是否支持复制粘贴
测试数据
搜索:list
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果如下:
搜索内容按照关键词在文档中的权重显示
模块
主页搜索模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
测试步骤
- 打开谷歌浏览器,输入URL
- 在搜索页面的输入框中
- 输入英文:list, 点击搜索按钮
- 查看搜索结果是否按照关键词在文档中的权重显示
测试数据
搜索:list
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
搜索成功,打开含有关键词搜索结果,测试结果是按照关键词在文档中的权重显示的:
兼容性测试
不同的设备
模块
主页搜索模块,主页展示模块
测试环境
1:电脑:MateBook 14 版本号23H2(64 位)PC端 Windows系统
2:手机:iQOO 10 MP_0.1(64 位)移动端 OriginOS 14.0
3:平板:OPPO Pad Air(64 位)平板端 ColorOS V12.1(Android 12)
测试步骤
- 打开电脑浏览器,输入URL,测试是否可以正常运行
- 打开手机浏览器,输入URL,测试是否可以正常运行
- 打开平板浏览器,输入URL,测试是否可以正常运行
测试数据
搜索:list
期望结果
搜索成功,打开含有关键词的搜索结果
测试结果
电脑的测试结果如下所示:
手机的测试结果如下所示:
平板的测试结果如下所示:
测试不同的浏览器
模块
搜索模块,主页展示模块
测试环境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系统
Firefox 139.0.4(20250609112858) PC端 Windows系统
Microsoft Edge版本 137.0.3296.68 (正式版本) (64 位) PC端 Windows系统
华为浏览器 11.0.8.301 | 内核版本: 92.0.4515.107 PC端 Windows系统
测试步骤
1:在Chorme浏览器中输入url:http://123.56.249.238:8080/index.html,然后在搜索框中输入关键字list,正确弹出页面.
2: 在Firefox 浏览器中输入url:http://123.56.249.238:8080/index.html,然后在搜索框中输入关键字list,正确弹出页面.
3:在Microsoft Edge浏览器中输入url:http://123.56.249.238:8080/index.html,然后在搜索框中输入关键字list,正确弹出页面.
4:在华为浏览器中输入url:
http://123.56.249.238:8080/index.html,然后在搜索框中输入关键字list,正确弹出页面.
测试数据
url : http://localhost:8080/index.html
关键字 :list
期望结果
在各个浏览器中输入url后,输入关键字,正确弹出内容页面
测试结果
测试成功,在各个不同的浏览器中都可以正常打开运行,测试结果如下:
谷歌浏览器测试结果:
火狐浏览器测试结果:
Edge浏览器测试结果:
华为浏览器的测试结果: