中国建设工程网官方网站,网站设计h5,网站后台怎么替换图片,绵阳营销型网站建设目录 一、项目背景二、 项目功能2.1 数据收集与索引2.2 API搜索功能2.3 用户体验与界面设计2.4 性能优化与维护 三、测试报告3.1 功能测试3.2 界面测试3.3 性能测试3.4 兼容性测试3.5 自动化测试 四、测试总结4.1 功能测试方面4.2 性能测试方面4.3 用户界面测试方面 一、项目背… 目录 一、项目背景二、 项目功能2.1 数据收集与索引2.2 API搜索功能2.3 用户体验与界面设计2.4 性能优化与维护 三、测试报告3.1 功能测试3.2 界面测试3.3 性能测试3.4 兼容性测试3.5 自动化测试 四、测试总结4.1 功能测试方面4.2 性能测试方面4.3 用户界面测试方面 一、项目背景
搜索引擎的项目背景有以下几个方面 随着互联网的发展网页、文档等各种信息呈指数级增长。在海量的信息中用户难以快速准确地找到自己需要的相关代码函数内容。例如每天有大量的技术文章等发布到网上人们如果没有有效的搜索工具就会在信息海洋中迷失。 无论是个人用户查找Java中的信息资讯还是用户寻找代码信息都迫切需要一种能够高效筛选和定位信息的工具。 对于互联网公司来说搜索引擎是一个重要的流量入口。通过提供高质量的搜索服务吸引大量用户访问例如百度的搜索页面上会展示各种与用户搜索关键词相关的技术文章根据点击量或展示量呈现给搜索引擎公司。
二、 项目功能
搜索引擎的项目功能可以从多个方面进行分析以下是一些常见的功能
2.1 数据收集与索引
数据收集搜索引擎需要从各种数据源收集数据如网页、文档、图片、视频等。这些数据可以通过爬虫程序自动抓取也可以通过手动提交或其他方式获取。
数据清洗与预处理在索引之前需要对收集到的数据进行清洗和预处理如去除噪声、标签、格式化等以便提高搜索的准确性和效率。索引构建搜索引擎使用索引技术将数据进行结构化处理以便快速检索。常见的索引结构包括倒排索引、正排索引等。
2.2 API搜索功能
关键词搜索用户输入关键词后搜索引擎能够快速返回与关键词相关的搜索结果。搜索结果通常包括网页标题、摘要、链接等信息。
模糊搜索与纠错搜索引擎能够处理用户输入的模糊关键词并提供纠错建议以提高搜索的准确性和用户体验。
2.3 用户体验与界面设计
简洁的搜索界面搜索界面设计简洁明了方便用户输入关键词和查看搜索结果。搜索框通常放置在页面的显眼位置并提供输入提示和自动补全功能。
搜索结果展示搜索结果以清晰、易读的方式展示给用户通常包括标题、摘要、链接等信息。搜索结果可以按照相关性、时间、热度等进行排序。
2.4 性能优化与维护
性能优化搜索引擎需要不断优化其性能以提高搜索速度和响应时间。这可以通过优化索引结构、查询算法等方式实现。
三、测试报告
3.1 功能测试 输入测试 因为该项目不支持模糊匹配查找结果是根据查询词是否包含在文档内容中来筛选的因此等价类的划分如下
有效等价类无效等价类英文字符中文字符数字字符停用词字符英文和数字混杂字符其他特殊字符
测试输入数据
测试用例期望结果String(有效)能被查找到并正确显示ArrayList(有效)能被查找到并正确显示12(有效)能被查找到并正确显示a123b(有效)能被查找到并正确显示数组(无效)查找不到结果,X,Sz(无效)查找不到结果11,%$23(无效)查找不到结果空格(无效)查找不到结果
附上部分测试截图
有效等价类
输入字母
预期结果:搜索成功,显示与字母相关的结果.
实际结果:搜索成功,显示带有字母的结果.
输入数字 预期结果:搜索成功,显示与数字相关的结果.
实际结果:搜索成功,显示带有数字的结果.
无效等价类
输入汉字
预期结果:搜索失败,查找不到结果
实际结果:搜索失败,查找不到结果
输入空格
预期结果:搜索失败,查找不到结果
实际结果:搜索失败,查找不到结果
3.2 界面测试 显示搜索结果总数是否和实际展示保持一致
这里搜索一个条目比较少的方便展示如图可以看到确实保持一致 数量大之后就需要定位页面元素编写代码来统计具体实际展示出的结果总数这里贴上部分代码
private String parseHtmlContentByRegex(File file ){String contentreadFile(file);//通过正则表达式去掉正文中的script标签contentcontent.replaceAll(script.*?(.*?)/script, );//通过正则表达式去掉正文中的其它标签contentcontent.replaceAll(.*?, );通过正则表达式合并多个空格content content.replaceAll(\\s, );content.replaceAll( , );content.replaceAll( , );return content;}标题、描述、URL是否正确显示
如图可以看到三者正确显示 3.3 性能测试 单线程构建正排和倒排索引
代码如下
public void run(){ListFile fileListnew ArrayList();//枚举所有以.html结尾的文件enumFile(INPUT_FILE,fileList);long startSystem.currentTimeMillis();//解析每一个html文件for(File file:fileList){//解析每一个html文件parseHtml(file);System.out.println(file.getName());if(file.getName().equals(ArrayList)){System.out.println();}}index.save();long endSystem.currentTimeMillis();log.info(单线程所消耗的时间:(end-start)ms);}单线程消耗时间如下图所示 多线程构建正排和倒排索引
代码如下
public void runByThread() throws InterruptedException {ListFile fileListnew ArrayList();//枚举所有以.html结尾的文件enumFile(INPUT_FILE,fileList);long startSystem.currentTimeMillis();//创建一个包含10个线程的线程池ExecutorService executorService Executors.newFixedThreadPool(10);//创建一个计数器来表示文件的数量CountDownLatch countDownLatchnew CountDownLatch(fileList.size());for(File file:fileList){executorService.submit(new Runnable() {Overridepublic void run() {parseHtml(file);log.info(文件名:file.getName()文件路径:file.getAbsolutePath());countDownLatch.countDown();}});}countDownLatch.await();executorService.shutdown();index.save();long endSystem.currentTimeMillis();log.info(多线程所消耗的时间:(end-start)ms);}
多线程消耗时间如下图所示 这里可以看到多线程的处理速度比单线程快了许多时间也大概快了一倍
下面是10个线程的处理性能 10个线程短时间内的吞吐量 多线程下单短时间响应时间折线图 下图是界面的响应速度 3.4 兼容性测试 ![在Windows11环境下 联想浏览器正常运行] ![在Windows11环境下 谷歌浏览器正常运行、 ![在Windows11环境下 Edge浏览器正常运行] 小米手机环境 手机QQ浏览器正常运行 3.5 自动化测试
自动化测试代码如下 void searchResult() throws InterruptedException {//找到搜索框输入查询词driver.findElement(By.cssSelector(body div div.header input[typetext])).sendKeys(static);//点击搜索按钮driver.findElement(By.cssSelector(#search-btn)).click();Thread.sleep(3000);//找到搜索结果的标题并进行点击driver.findElement(By.cssSelector(body div div.result div:nth-child(2) a)).click();//获取当前页面的句柄String curHandledriver.getWindowHandle();SetString handlesdriver.getWindowHandles();for (String handle:handles){if (handle!curHandle){driver.switchTo().window(handle);}}Thread.sleep(3000);//查找在线文档页面的元素验证跳转成功driver.findElement(By.cssSelector(#allclasses_navbar_top li a));}
如下效果图展示 自动化视频 2025-01-26 145252 四、测试总结
以下是搜索引擎测试总结的结构化内容
4.1 功能测试方面
搜索准确性 测试了不同类型的关键词包括常见词汇、专业术语、模糊表述等。发现大部分常见词汇能准确找到相关结果但对于一些非常模糊或者具有多义性的表述搜索引擎的结果准确性会有所下降。例如搜索“苹果”除了水果类结果还会出现苹果公司相关结果在某些特定需求下可能不够精准。 搜索结果多样性 检查搜索结果是否涵盖了多种来源如网页、新闻、学术论文、图片、视频等。总体上现代搜索引擎在这方面表现较好能提供较为丰富的结果类型。但在一些特定领域如小众的学术研究方向结果多样性可能会受到数据源数量的限制。 搜索排序合理性 评估搜索结果的排序是否符合相关性原则。一般来说搜索引擎会根据关键词匹配度、网页权重等因素进行排序。然而有时会发现商业推广内容的排序可能会影响到自然搜索结果的展示顺序对用户体验有一定的干扰。
4.2 性能测试方面
响应速度 在不同网络环境下如高速宽带、移动网络测试搜索请求的响应时间。在良好网络环境下响应速度较快能在1 - 2秒内给出结果。但在网络信号较差的移动网络环境中响应时间可能会延长到5 - 10秒甚至更久。 资源占用 监控搜索引擎在运行过程中对设备资源如CPU、内存的占用情况。在长时间使用或者进行大量搜索时搜索引擎的客户端可能会占用较多内存导致设备运行速度变慢尤其是在配置较低的设备上。
4.3 用户界面测试方面
界面布局 检查搜索引擎界面的布局是否简洁、直观。良好的界面布局应该能够让用户快速找到搜索框、筛选工具等重要元素。部分搜索引擎在界面上存在广告位过多影响用户对搜索结果的查看体验的问题。 易用性 测试用户操作的便捷性如输入关键词、选择搜索结果、使用高级搜索功能等。一些搜索引擎的高级搜索功能隐藏较深普通用户很难发现和使用降低了搜索的精准性和效率。