【JavaSearch/搜索引擎】项目测试

搜索引擎模块划分:

  1. 索引模块:扫描本地 API 文档,分析内容并构建正排+倒排索引(使用 Ansj 分词技术);
  2. 搜索模块:根据输入查询词,基于倒排索引进行检索,合并文档,设置分词权值,返回检索结果;
  3. 前端模块:编写简单页面,展示搜索结果,点击搜索结果跳转对应 API 文档;

搜索结果展示:

测试

一.简单搜索输入框测试用例

1:不输入任何字符,点击搜索按钮;

测试结果:无任何显示,保持原有界面;

2:输入全角/半角中文字符(一个字符、超长字符)

测试结果:输入中文字符串,显示空白页面;点击上一页,无明显反应;点击下一页,出现空白异常;

 

3:输入全角/半角英文字符(一个字符、超长字符)

测试结果:输入Java语言中非专有字符串,无查询结果;

#不好区分字符串拼接形成的专业字符和非专业字符;

例如:可以查询str(string),到那时无法查询ch(char);

 

 

 4:输入全角/半角特殊字符~!@#$%^&*()_+|{}:"<>?.,;'[]\=-等;

测试结果:英文特殊字符均可得到查询结果,中文符合无查询结果;

 

 5:输入全角/半角中英文空格

测试结果:中英文空格均无查询结果;

6:输入特殊字符串NULL、null、 空格的转义字 符;<scrīpt></scrīpt>;<br>;<tr>;<td>;< /tr>;</td>;</html>;</body>;</table>

测试结果:均有查询结果,结果并不准确;

 

 7:回车键搜索

测试结果:不支持回车键搜索;

class JavaSearch(unittest.TestCase):
    
    # 测试固件
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.url = "http://127.0.0.1:8080/index.html"
        self.driver.maximize_window()
        time.sleep(3)

    def tearDown(self):
        print("------tearDown------")
        self.driver.quit()

    # 简单搜索框输入测试用例

    # 输入正确的搜索内容
    def test_simple0(self):
        driver = self.driver
        url = self.url
        driver.get(url)
        driver.find_element_by_id("ssk").send_keys("String")
        time.sleep(3)
        driver.find_element_by_id("ss").click()
        time.sleep(3)

    # 输入空格
    def test_simple1(self):
        driver = self.driver
        url = self.url
        driver.get(url)
        driver.find_element_by_id("ssk").send_keys(" ")
        time.sleep(3)
        driver.find_element_by_id("ss").click()
        time.sleep(3)

    # 输入中文字符串
    def test_simple2(self):
        driver = self.driver
        url = self.url
        driver.get(url)
        driver.find_element_by_id("ssk").send_keys("通信工程")
        time.sleep(3)
        driver.find_element_by_id("ss").click()
        time.sleep(3)

    # 输入无效长字符串
    def test_simple3(self):
        driver = self.driver
        url = self.url
        driver.get(url)
        driver.find_element_by_id("ssk").send_keys("abcdefgh")
        time.sleep(3)
        driver.find_element_by_id("ss").click()
        time.sleep(3)

    # 输入特殊字符
    def test_simple4(self):
        driver = self.driver
        url = self.url
        driver.get(url)
        driver.find_element_by_id("ssk").send_keys("@#")
        time.sleep(3)
        driver.find_element_by_id("ss").click()
        time.sleep(3)

        if __name__ == "__main__":
            unittest.main()

二.性能测试

1:在网络情况良好的前提下,页面的跳转需要多少时间;

2:在网络状况不好的情况下,页面的跳转需要多少时间;

a.  从输入完成到敲击回车到页面正常返回所花费的时间,是否符合用户的预期(在一定的时间内返回)
b. 从输入开始是否用数据返回(AJAX)异步返回数据(在一定的时间内返回)
c.   在不同的网络条件下能否正常的使用(在一定的时间内是否有数据返回)
i. 有线网络:

  1. 从拨号上网到1000M带宽,服务器响应速度如何,对于信号不好的地方是否有优化

ii. 无线网络(有强到弱,对应用的影响以实际接收数据为准)

  1.  信号1格到满格对搜索的影响

三.兼容性测试

1:不同的平台:windows系统,mac系统

2:不同的浏览器:Firefox浏览器、Chrome浏览器、IE

3:不同的移动平台:android、ios

四.界面测试

1:查看UI是否显示正确,布局是否美观

2:页面上是否有错别字

3:查看错误提示信息的位置是否合理、是否有错别字

4:搜索结果的页面是否美观

5:搜索结果数量庞大的时候,是否分页处理,分页是否和需求说明书的要求保持一致

6:光标的定焦是否准确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java 是一种广泛使用的编程语言,有许多优秀的开源项目值得学习和贡献。以下是一些值得关注的 Java 开源项目: 1. Spring Framework:Spring 是一种轻量级的、开源的 Java 框架,用于开发企业级应用程序。它提供了许多现代化的特性,如依赖注入、面向切面编程等。 2. Apache Kafka:Kafka 是一种分布式流处理平台,用于处理高吞吐量的数据流。它具有高可靠性、可扩展性和容错性,被广泛用于构建实时数据管道、流处理应用等。 3. Elasticsearch:Elasticsearch 是一个分布式的、开源的搜索和分析引擎,用于处理大规模数据。它支持实时搜索、数据分析等功能,被广泛用于日志分析、搜索引擎、安全分析等领域。 4. JHipster:JHipster 是一个快速开发平台,用于构建现代化的 Web 应用程序和微服务。它集成了 Spring Boot、Angular、React、Vue 等现代化技术,提供了丰富的脚手架工具和自动化构建流程。 5. Hibernate:Hibernate 是一个开源的 ORM 框架,用于将 Java 对象映射到关系型数据库。它提供了高效的数据访问和管理功能,支持多种数据库和持久化方式。 6. Apache Maven:Maven 是一个开源的项目管理和构建工具,用于自动化构建、依赖管理、测试等。它提供了丰富的插件和配置选项,使得项目的构建和管理变得更加简单和高效。 7. Apache Lucene:Lucene 是一个开源的全文搜索引擎库,用于实现文本检索、分析和索引。它提供了丰富的查询语言和搜索算法,支持多种文本格式和语言。 这些项目都是 Java 社区中非常活跃和受欢迎的开源项目,值得学习和贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值