Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【文心索引】搜索引擎测试报告

【文心索引】搜索引擎测试报告

作者头像
用户11316056
发布于 2025-03-08 01:43:12
发布于 2025-03-08 01:43:12
11800
代码可运行
举报
运行总次数:0
代码可运行

一、项目背景

1、互联网信息爆炸的时代背景

随着互联网技术的飞速发展,全球范围内的信息量呈现出爆炸式增长。网络已成为人们获取信息的主要渠道,每天有海量的网页被创建和更新,涵盖了新闻、学术、商业、娱乐等各个领域。然而,面对如此庞大的信息海洋,用户如何高效、准确地找到所需信息成为了一个巨大的挑战。

2、搜索引擎的应运而生

为了应对这一挑战,搜索引擎应运而生。搜索引擎是一种能够根据用户输入的关键词,在海量信息中快速检索并返回相关结果的技术和系统。它的出现极大地提高了信息检索的效率,使得用户能够轻松找到所需信息,节省了大量的时间和精力。

3、搜索引擎的市场需求和竞争态势

在当今社会,搜索引擎已成为人们日常生活中不可或缺的一部分。无论是学术研究、商业决策还是日常信息获取,搜索引擎都发挥着至关重要的作用。随着移动互联网的普及和智能设备的广泛应用,用户对搜索引擎的需求也在不断变化和升级。同时,搜索引擎市场也呈现出激烈的竞争态势。各大搜索引擎公司纷纷加大研发投入,提升技术实力,以争夺更多的市场份额和用户资源。

4、搜索引擎项目的意义

在这样的背景下,开展搜索引擎项目具有重要意义。通过研发具有自主知识产权的搜索引擎技术,不仅可以满足用户日益增长的信息检索需求,提升用户体验,还可以推动相关产业的发展和进步。同时,搜索引擎项目也是一项具有创新性和挑战性的任务,能够锻炼和提升团队的技术研发能力和创新能力。

二、项目功能

1、基础搜索功能
  1. 关键词搜索:用户输入关键词或短语,搜索引擎能够快速在索引的数据库中查找与关键词相关的信息,并按一定顺序和格式展示给用户。
  2. 结果排序:根据网页的相关性、质量、权威性等因素,对搜索结果进行排序,优先展示最符合用户需求的网页。
2、用户交互与体验功能
  1. 用户界面友好:提供简洁明了的用户界面,方便用户输入查询、浏览结果和进行交互操作。
  2. 搜索建议与自动补全:在用户输入查询时,提供搜索建议和自动补全功能,提高搜索效率。
  3. 结果摘要与预览:为搜索结果提供摘要信息或预览图,帮助用户快速了解网页内容,决定是否点击查看。
3、数据索引与爬取功能
  1. 数据爬取:使用网络爬虫等自动化工具,从互联网上抓取网页数据,为搜索引擎提供数据支持。
  2. 数据索引:对抓取到的数据进行预处理和整理,构建倒排索引等数据结构,提高搜索效率。

三、测试报告

测试用例:

3.1.功能测试

3.1.1.输入测试:

下面是等价类的划分

  • 有效等价类:英文字符,数字字符,英文和数字混杂字符
  • 无效等价类:中文字符,停用词字符,其他特殊字符

测试输入数据:

测试用例

期望结果

arr(有效)

能被查找到并正确显示

string(有效)

能被查找到并正确显示

1234(有效)

能被查找到并正确显示

ke123(有效)

能被查找到并正确显示

你好(无效)

查找不到结果

,;X(无效)

查找不到结果

3=**&&~(无效)

查找不到结果

空格(无效)

查找不到结果

测试截图:

有效等价类:

输入字母:

预期结果:搜索成功,显示与字母相关的结果.

实际结果:搜索成功,显示带有字母的结果.

输入数字:

预期结果:搜索成功,显示与数字相关的结果.

实际结果:搜索成功,显示带有数字的结果.

无效等价类:

输入汉字:

预期结果:搜索失败,查找不到结果

实际结果:搜索失败,查找不到结果

输入特殊字符

预期结果:搜索失败,查找不到结果

实际结果:搜索失败,查找不到结果

3.1.2.测试解析网页title,content,url是否正确?

vim data/input/mpi/history.html

在自己下载的文件里面进行验证,发现正确,没问题!

在网站中验证,也没问题!

3.2.界面测试

搜索框和按钮正常显示。

标题、描述、URL是否正确显示

如图,可以看到三者正确显示。

3.3.性能测试

3.4.自动化测试

3.4.1.工具类的实现:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os
import sys
import datetime

from selenium import webdriver
from selenium.webdriver.ie.service import Service
from webdriver_manager.chrome import ChromeDriverManager


#创建一个浏览器对象

class Driver:
    driver = ""
    def __init__(self):
        options = webdriver.ChromeOptions()
        self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)

    def getScreeShot(self):
        # 创建屏幕截图
        # 图片文件名称:./2024-05-08-173456.png
        dirname = datetime.datetime.now().strftime("%Y-%m-%d")

        # 判断dirname文件夹是否已经存在,若不存在则创建文件夹
        # ../images/2024-05-08
        if not os.path.exists("../images/" + dirname):
            os.mkdir("../images/" + dirname)
        # 2024-05-08-173456.png
        # 图片路径:../images/调用方法-2024-05-08/2024-05-08-173456.png
        # 图片路径:../images/LoginSucTest-2024-05-08/2024-05-08-173456.png
        # 图片路径:../images/LoginFailTest-2024-05-08/2024-05-08-173456.png
        filename = sys._getframe().f_back.f_code.co_name + "-" + datetime.datetime.now().strftime(
            "%Y-%m-%d-%H%M%S") + ".png"
        self.driver.save_screenshot("../images/" + dirname + "/" + filename)

BlogDriver = Driver()
3.4.2.主体测试代码的实现:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#测试搜索引擎主页界面
import time

from selenium.webdriver.common.by import By

from common.Utils import BlogDriver


class SearchHomePage:
    url = ''
    driver = ''
    def __init__(self):
        self.url = 'http://123.249.125.60:8085/'
        self.driver = BlogDriver.driver
        self.driver.get(self.url)

    #搜索无效等价类
    def InvaildTest(self):
        #测试中文
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').send_keys('你好')
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > button').click()
        time.sleep(8)
        #清空搜索框内容
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').clear()

        #测试特殊字符
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').send_keys('****')
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > button').click()
        #清空搜索框内容
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').clear()


    #搜索有效等价类
    def VaildTest(self):
        #测试字符串类型
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').send_keys('string')
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > button').click()
        time.sleep(3)
        #每次搜索完毕之后,都要清空搜索框的内容,便于下次测试
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').clear()

        #测试数字类型
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').send_keys('123')
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > button').click()
        time.sleep(3)

        #点击任意一条内容,看能否跳转
        self.driver.find_element(By.CSS_SELECTOR,'body > div > div.result > div:nth-child(1) > a').click()
        time.sleep(3)


_search = SearchHomePage()
_search.InvaildTest()
_search.VaildTest()

测试结果:

3.5.兼容测试

在Windows11环境下: 联想浏览器:正常运行

在Windows11环境下: 谷歌浏览器:正常运行

在Windows11环境下: Edge浏览器:正常运行

oppo Android手机环境: 手机QQ浏览器:正常运行

四、测试总结

4.1.功能测试

在功能测试环节,我们主要对搜索引擎的输入功能进行了详细测试。通过等价类划分,我们设计了有效等价类和无效等价类测试用例,以确保搜索引擎能够正确处理各种输入情况。

  1. 有效等价类测试
    • 测试用例包括英文字符、数字字符、英文和数字混杂字符等,这些输入均能被搜索引擎正确查找并显示相关结果。
    • 实际测试结果与预期结果一致,搜索引擎能够准确返回与输入内容相关的搜索结果。
  2. 无效等价类测试
    • 测试用例包括中文字符、停用词字符、其他特殊字符以及空格等,这些输入均被搜索引擎判定为无效,无法查找到相关结果。
    • 实际测试结果同样与预期结果一致,搜索引擎能够正确识别并处理这些无效输入。

4.2.界面测试

在界面测试环节,我们主要对搜索引擎的搜索框、按钮以及搜索结果展示界面进行了测试。

  1. 搜索框和按钮测试
    • 搜索框和搜索按钮均能够正常显示,且点击按钮后能够触发搜索功能。
    • 搜索结果展示界面布局合理,能够清晰展示搜索到的相关内容。
  2. 标题、描述、URL显示测试
    • 搜索结果中的标题、描述和URL均能够正确显示,且与实际搜索结果相符。

4.3.自动化测试

在自动化测试环节,我们利用Selenium自动化测试工具编写了测试代码,对搜索引擎的搜索功能进行了自动化测试。

  1. 工具类实现
    • 我们创建了一个Driver类,用于初始化Selenium WebDriver并实现截图功能。
    • 通过ChromeDriverManager自动管理ChromeDriver的安装和更新。
  2. 主体测试代码实现
    • 我们编写了SearchHomePage类,用于测试搜索引擎主页的搜索功能。
    • 通过CSS选择器定位搜索框和搜索按钮,并模拟用户输入和点击操作。
    • 对有效等价类和无效等价类分别进行了测试,并验证了搜索结果和页面跳转功能。
  3. 测试结果
    • 自动化测试代码运行顺利,测试结果与预期一致,搜索引擎能够正确处理各种输入并返回相关搜索结果。

4.4.兼容测试

在兼容测试环节,我们测试了搜索引擎在不同操作系统和浏览器环境下的运行情况。

  1. Windows11环境测试
    • 在联想浏览器、谷歌浏览器和Edge浏览器下,搜索引擎均能正常运行,搜索结果准确且页面布局合理。
  2. Android手机环境测试
    • 在oppo Android手机的QQ浏览器下,搜索引擎同样能够正常运行,搜索结果准确且页面适应手机屏幕大小。

总结

通过本次测试,我们验证了搜索引擎项目的功能完整性、界面合理性、自动化测试可行性以及跨平台兼容性。测试结果表明,搜索引擎能够正确处理各种输入情况,界面布局合理且易于使用,自动化测试代码运行稳定且准确,同时在不同操作系统和浏览器环境下均能正常运行。因此,我们可以认为该搜索引擎项目已经具备了上线运行的基本条件。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【连珠云弈】网页五子棋版项目测试报告
随着互联网的飞速发展和普及,网络娱乐方式日益多样化。五子棋作为一种传统而经典的棋类游戏,深受广大棋迷的喜爱。然而,传统的五子棋游戏方式往往受限于地点和时间,无法满足人们随时随地进行游戏的需求。因此,开发一款网页版五子棋项目,旨在打破这种限制,让棋迷们能够随时随地通过网络享受五子棋的乐趣。
用户11316056
2025/03/07
940
【连珠云弈】网页五子棋版项目测试报告
彻底学会Selenium元素定位
最近收到不少初学UI自动化测试的小伙伴私信,对于元素的定位还是有些头疼,总是定位不到元素,以及不知道用哪种定位方式更好。
测试蔡坨坨
2022/12/21
7.5K0
彻底学会Selenium元素定位
史上最全 Appium 自动化测试从入门到框架实战精华学习笔记(三)
本系列文章汇总了从 Appium 自动化测试从基础到框架高级实战中,所涉及到的方方面面的知识点精华内容(如下所示),希望对大家快速总结和复习有所帮助。
霍格沃兹测试开发
2022/05/30
1.2K0
微信小程序自动化测试最佳实践(附 Python 源码)
随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序、微信公众号等。小程序项目页面越来越多,业务逻辑也越来越复杂,全手工测试已无法满足快速增长的业务需求。
霍格沃兹测试开发
2020/08/18
1.3K0
微信小程序自动化测试最佳实践(附 Python 源码)
web爬虫-Selenium IDE安装使用
今天将学习使用一个非常有用的浏览器插件Selenium IDE,用于网站的测试和自动化,这里以谷歌浏览器作为测试。
XXXX-user
2019/07/30
1.6K0
web爬虫-Selenium IDE安装使用
Selenium自动化测试秘籍:解锁常用函数实战指南
获取到了页面的元素之后,接下来就是要对元素进行操作了。常见的操作有点击、提交、输入、清楚、获取文本
用户11316056
2025/03/01
1300
Selenium自动化测试秘籍:解锁常用函数实战指南
【Python爬虫实战】深入解析 Selenium:从元素定位到节点交互的完整自动化指南
Selenium 是进行网页自动化操作的强大工具,在测试、数据抓取、用户行为模拟等领域广泛应用。本指南将带您详细了解如何在 Selenium 中查找和定位页面元素,并深入介绍各种节点交互方法,包括点击、输入文本、选择选项等操作。无论您是初学者还是经验丰富的开发者,本篇文章将帮助您掌握 Selenium 自动化的核心技能,实现更高效的网页自动化操作。
易辰君
2024/11/07
6330
Selenium3框架详解
自从17年开始就不再怎么关注UI自动化测试了,也就很少关注Selenium的知识体系,在当时的背景和环境下有很多的思考和选择点,基于UI的自动化测试并不是所有的场合下都使用它合适,任何一个技术,要把它应用在合适的场景下才能够显示出它的最大的价值。今天这里就简单的对Page Objects做一个介绍。
测试小兵
2019/10/12
9360
Selenium3框架详解
使用Selenium WebDriver,Python和Chrome编写您的第一个Web测试
准备好WebDriver后,让我们编写第一个Web测试!测试将是一个简单的DuckDuckGo搜索。DuckDuckGo是一个不跟踪用户数据的搜索引擎。就像任何其他搜索引擎一样,用户可以输入搜索短语并获得指向匹配网站的链接。
用户7466307
2020/07/29
2.4K0
使用Selenium WebDriver,Python和Chrome编写您的第一个Web测试
python 手把手教你基于搜索引擎实现文章查重
文章抄袭在互联网中普遍存在,很多博主都收受其烦。近几年随着互联网的发展,抄袭等不道德行为在互联网上愈演愈烈,甚至复制、黏贴后发布标原创屡见不鲜,部分抄袭后的文章甚至标记了一些联系方式从而使读者获取源码等资料。这种恶劣的行为使人愤慨。
1_bit
2020/09/14
2.3K0
8.9 Selenium元素定位方式
元素的定位应该是自动化测试的核心,要想操作一个元素,首先应该识别这个元素象。webdriver提供了一系列的对象定位方法,常用的有以下几种:
清风穆云
2021/08/09
1.3K0
探索自动化测试工具:Selenium的威力与应用
Selenium可以在多种主流浏览器中运行,包括Chrome、Firefox、Edge等。这使得开发人员可以确保他们的Web应用程序在各种浏览器中都能正常运行。
小馒头学Python
2023/11/30
6950
探索自动化测试工具:Selenium的威力与应用
四、请求库之selenium模块
一 介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 from selenium import webdriver browser=webdriver.Chrome() browser=webdriver.Firefox() browser=webdriver.PhantomJS() b
用户1214487
2018/01/24
3K0
Selenium3框架详解
自从17年开始就不再怎么关注UI自动化测试了,也就很少关注Selenium的知识体系,在当时的背景和环境下有很多的思考和选择点,基于UI的自动化测试并不是所有的场合下都使用它合适,任何一个技术,要把它应用在合适的场景下才能够显示出它的最大的价值。今天这里就简单的对Page Objects做一个介绍。
无涯WuYa
2019/04/25
7900
Selenium3框架详解
Selenium4+Python3系列(十) - Page Object设计模式
Page Object(PO)模式,是Selenium实战中最为流行,并且被自动化测试同学所熟悉和推崇的一种设计模式之一。在设计测试时,把页面元素定位和元素操作方法按照页面抽象出来,分离成一定的对象,然后再进行组织。
软件测试君
2022/12/05
4770
Selenium4+Python3系列(十) -  Page Object设计模式
如何使用Selenium WebDriver查找错误的链接?
当您在网站上遇到404 /页面未找到/无效超链接时,会想到什么想法?啊!当您遇到损坏的超链接时,您会感到烦恼,这是为什么您应继续专注于消除Web产品(或网站)中损坏的链接的唯一原因。您可以使用Selenium WebDriver来利用自动化进行錯誤的链接测试,而无需进行人工检查。
用户7466307
2020/12/29
7K0
如何使用Selenium WebDriver查找错误的链接?
用Python实现高效数据记录!Web自动化技术助你告别重复劳动!
测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供 1v1 私教指导,BAT 级别的测试管理大咖量身打造职业规划。
霍格沃兹测试开发Muller老师
2024/01/24
1520
ChatGPT与基于GUI的自动化测试
当使用Edge浏览器结合Selenium框架生成百度查询测试代码时,你可以使用以下Python代码示例:
顾翔
2024/09/10
1850
ChatGPT与基于GUI的自动化测试
小笔记:python搜索引擎下拉框截图
作为一个程序员,被女友提需求也也是常有的事情,最近就来了一个需求,需要截取指定搜索引擎的关键词下拉框截图,就是这种的,只要度娘搜索引擎的。
江湖安得便相忘
2019/10/10
1K0
小笔记:python搜索引擎下拉框截图
illenium什么水平_尼采读本
《论语》有云:工欲善其事,必先利其器。在开始具体的自动化测试之前,我们需要做好更多的准备,包括以下几个方面:
全栈程序员站长
2022/10/04
3.7K0
illenium什么水平_尼采读本
相关推荐
【连珠云弈】网页五子棋版项目测试报告
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验