随着互联网技术的飞速发展,全球范围内的信息量呈现出爆炸式增长。网络已成为人们获取信息的主要渠道,每天有海量的网页被创建和更新,涵盖了新闻、学术、商业、娱乐等各个领域。然而,面对如此庞大的信息海洋,用户如何高效、准确地找到所需信息成为了一个巨大的挑战。
为了应对这一挑战,搜索引擎应运而生。搜索引擎是一种能够根据用户输入的关键词,在海量信息中快速检索并返回相关结果的技术和系统。它的出现极大地提高了信息检索的效率,使得用户能够轻松找到所需信息,节省了大量的时间和精力。
在当今社会,搜索引擎已成为人们日常生活中不可或缺的一部分。无论是学术研究、商业决策还是日常信息获取,搜索引擎都发挥着至关重要的作用。随着移动互联网的普及和智能设备的广泛应用,用户对搜索引擎的需求也在不断变化和升级。同时,搜索引擎市场也呈现出激烈的竞争态势。各大搜索引擎公司纷纷加大研发投入,提升技术实力,以争夺更多的市场份额和用户资源。
在这样的背景下,开展搜索引擎项目具有重要意义。通过研发具有自主知识产权的搜索引擎技术,不仅可以满足用户日益增长的信息检索需求,提升用户体验,还可以推动相关产业的发展和进步。同时,搜索引擎项目也是一项具有创新性和挑战性的任务,能够锻炼和提升团队的技术研发能力和创新能力。
测试用例:
下面是等价类的划分
测试输入数据:
测试用例 | 期望结果 |
---|---|
arr(有效) | 能被查找到并正确显示 |
string(有效) | 能被查找到并正确显示 |
1234(有效) | 能被查找到并正确显示 |
ke123(有效) | 能被查找到并正确显示 |
你好(无效) | 查找不到结果 |
,;X(无效) | 查找不到结果 |
3=**&&~(无效) | 查找不到结果 |
空格(无效) | 查找不到结果 |
测试截图:
输入字母:
预期结果:搜索成功,显示与字母相关的结果.
实际结果:搜索成功,显示带有字母的结果.
输入数字:
预期结果:搜索成功,显示与数字相关的结果.
实际结果:搜索成功,显示带有数字的结果.
输入汉字:
预期结果:搜索失败,查找不到结果
实际结果:搜索失败,查找不到结果
输入特殊字符
预期结果:搜索失败,查找不到结果
实际结果:搜索失败,查找不到结果
vim data/input/mpi/history.html
在自己下载的文件里面进行验证,发现正确,没问题!
在网站中验证,也没问题!
搜索框和按钮正常显示。
标题、描述、URL是否正确显示
如图,可以看到三者正确显示。
3.3.性能测试
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()
#测试搜索引擎主页界面
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()
测试结果:
在Windows11环境下: 联想浏览器:正常运行
在Windows11环境下: 谷歌浏览器:正常运行
在Windows11环境下: Edge浏览器:正常运行
oppo Android手机环境: 手机QQ浏览器:正常运行
4.1.功能测试
在功能测试环节,我们主要对搜索引擎的输入功能进行了详细测试。通过等价类划分,我们设计了有效等价类和无效等价类测试用例,以确保搜索引擎能够正确处理各种输入情况。
4.2.界面测试
在界面测试环节,我们主要对搜索引擎的搜索框、按钮以及搜索结果展示界面进行了测试。
4.3.自动化测试
在自动化测试环节,我们利用Selenium自动化测试工具编写了测试代码,对搜索引擎的搜索功能进行了自动化测试。
Driver
类,用于初始化Selenium WebDriver并实现截图功能。ChromeDriverManager
自动管理ChromeDriver的安装和更新。SearchHomePage
类,用于测试搜索引擎主页的搜索功能。4.4.兼容测试
在兼容测试环节,我们测试了搜索引擎在不同操作系统和浏览器环境下的运行情况。
总结:
通过本次测试,我们验证了搜索引擎项目的功能完整性、界面合理性、自动化测试可行性以及跨平台兼容性。测试结果表明,搜索引擎能够正确处理各种输入情况,界面布局合理且易于使用,自动化测试代码运行稳定且准确,同时在不同操作系统和浏览器环境下均能正常运行。因此,我们可以认为该搜索引擎项目已经具备了上线运行的基本条件。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有