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


    搜索引擎模块划分:

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

    搜索结果展示:

    测试

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

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

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

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

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

     

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

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

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

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

     

     

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

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

     

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

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

    6:输入特殊字符串NULL、null、 空格的转义字 符;
    ;;;< /tr>;;;;

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

     

     7:回车键搜索

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

    1. class JavaSearch(unittest.TestCase):
    2. # 测试固件
    3. def setUp(self):
    4. self.driver = webdriver.Firefox()
    5. self.url = "http://127.0.0.1:8080/index.html"
    6. self.driver.maximize_window()
    7. time.sleep(3)
    8. def tearDown(self):
    9. print("------tearDown------")
    10. self.driver.quit()
    11. # 简单搜索框输入测试用例
    12. # 输入正确的搜索内容
    13. def test_simple0(self):
    14. driver = self.driver
    15. url = self.url
    16. driver.get(url)
    17. driver.find_element_by_id("ssk").send_keys("String")
    18. time.sleep(3)
    19. driver.find_element_by_id("ss").click()
    20. time.sleep(3)
    21. # 输入空格
    22. def test_simple1(self):
    23. driver = self.driver
    24. url = self.url
    25. driver.get(url)
    26. driver.find_element_by_id("ssk").send_keys(" ")
    27. time.sleep(3)
    28. driver.find_element_by_id("ss").click()
    29. time.sleep(3)
    30. # 输入中文字符串
    31. def test_simple2(self):
    32. driver = self.driver
    33. url = self.url
    34. driver.get(url)
    35. driver.find_element_by_id("ssk").send_keys("通信工程")
    36. time.sleep(3)
    37. driver.find_element_by_id("ss").click()
    38. time.sleep(3)
    39. # 输入无效长字符串
    40. def test_simple3(self):
    41. driver = self.driver
    42. url = self.url
    43. driver.get(url)
    44. driver.find_element_by_id("ssk").send_keys("abcdefgh")
    45. time.sleep(3)
    46. driver.find_element_by_id("ss").click()
    47. time.sleep(3)
    48. # 输入特殊字符
    49. def test_simple4(self):
    50. driver = self.driver
    51. url = self.url
    52. driver.get(url)
    53. driver.find_element_by_id("ssk").send_keys("@#")
    54. time.sleep(3)
    55. driver.find_element_by_id("ss").click()
    56. time.sleep(3)
    57. if __name__ == "__main__":
    58. 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:光标的定焦是否准确

  • 相关阅读:
    M91快速霍尔测量仪—在更短的时间内进行更好的测量
    秋季开学必备数码好物推荐,大学生开学必备电子产品推荐
    1334. 阈值距离内邻居最少的城市
    【2023最新版】MySQL安装教程
    mongodb的基本知识点
    gitlab+jenkins 搭建部署
    【从零开始学微服务】07.微服务常用的开发框架
    记一次线上bug排查-----SpringCloud Gateway组件 请求头accept-encoding导致响应结果乱码
    java基于springboot的插画漫画约稿网站 vue
    聊一聊适配器模式
  • 原文地址:https://blog.csdn.net/Lucky_mzc/article/details/126713631