一种基于录制回放的全量自动化测试用例复测方法及系统与流程

文档序号:36239543发布日期:2023-12-01 23:28阅读:54来源:国知局
一种基于录制回放的全量自动化测试用例复测方法及系统与流程

本发明涉及软件测试,具体为一种基于录制回放的全量自动化测试用例复测方法及系统。


背景技术:

1、随着互联网快速发展,软件迭代敏捷,每个版本迭代接口频繁变动,现有的接口自动化测试脚本需要测试人员人工在功能基本稳定的情况下对比接口文档手动调整脚本代码,耗时较长,不易维护。受到环境变化的影响,如节点信息、授权信息、操作系统、数据库信息、文件地址等,导致测试用例的不稳定性和可靠性问题,使得测试脚本调试繁琐。整体复测成本和时间投入较大,不利于应用在大型应用程序或系统的迭代测试中。

2、传统的系统中,无法及时跟随应用程序需求的变化,导致测试覆盖率不足,特别是对于频繁变更的需求或新功能,需要及时调整和更新测试用例以确保测试覆盖,人工调整自动化脚本增加了测试用例的维护成本,在应用程序发生变化时,需要更新和调整大量的测试用例。


技术实现思路

1、本发明的目的在于克服现有的缺陷而提供的一种基于录制回放的全量自动化测试用例复测方法及系统,通过录制生成用例文件,支持多次回放进行高效复测,以提高测试效率。

2、实现上述目的的技术方案是:

3、本发明之一的一种基于录制回放的全量自动化测试用例复测方法,包括:

4、步骤s1,根据产品软件功能,制定测试场景和测试用例的规划,覆盖产品的各个功能点,确定录制场景;

5、步骤s2,利用mitmproxy抓包工具,模拟用户操作,抓取需要录制自动化页面的所有请求,检查接口是否符合规范筛选出有效请求;

6、步骤s3,所有的请求流经过python脚本analys.py进行处理,提取符合规范各接口请求url(统一资源定位符)、method(属性)、headers(头部)、body(内容),并标记为用例;

7、步骤s4,自动读取所述步骤s3提取的用例,并遍历所有用例;

8、步骤s5,测试人员查看所述步骤s4中回放的用例,检查用例测试结果,验证应用程序的行为是否与录制时一致,并分析执行结果为失败用例的原因,对应提出解决方案;

9、还包括:

10、步骤s6,对同版本下回归测试或更换测试环境测试时,直接执行回放自动化测试框架脚本,一键运行生成测试结果。

11、优选的,所述步骤s1中,深入了解产品软件功能,制定测试场景和测试用例的规划;模拟真实用户在使用产品时的不同情景和业务流程,覆盖产品的各个功能点,确定录制场景,包括涵盖的功能、用户操作和数据输入。

12、优选的,所述步骤s2包括:

13、步骤s21,利用抓包工具,模拟用户操作,抓取需要录制自动化页面的所有请求,并对它们进行检查以确保接口符合规范,筛选出有效的请求,即能够正常执行并返回合理结果的请求;

14、步骤s22,通过人工排查对系统排查无效请求是否为无效请求,对经过人工排查后为有效请求后,保留请求,修改规范,并忽略无效请求。

15、优选的,所述步骤s3包括:

16、步骤s31,取的所有请求流经过python处理脚本,利用python中的csv(逗号分隔值)方法创建目标配置文件,即csv文件;

17、步骤s32,将提取各接口请求url、method、headers、body,将整个请求信息保存至csv文件中,并将各接口请求url、method、headers、body标记为用例,完成自动化全量用例的录制。

18、优选的,所述步骤s32中,在完成自动化全量用例的录制过程中,会涉及到处理不同格式的请求体数据或涉及到对接口请求的认证,可通过python处理脚本时,对错误进行适当的处理和记录,以保证全量用例的录制过程顺利进行。

19、优选的,所述步骤s4包括:

20、步骤s41,结合基于pytest(全功能的python测试框架)及requests(python的http客户端库)的自动化测试框架脚本,利用pandas(基于numpy的一种工具)模块自动读取所述步骤s3提取的用例;

21、步骤s42,利用自动化测试框架脚本发送请求并获取响应结果,根据返回的响应状态码进行断言判断,如果响应值为200,则标记该用例结果为成功;

22、步骤s43,如果响应值非200,则标记该用例结果为失败,并记录响应的code值及result信息;

23、步骤s44,将每个用例执行的结果追加写入用例文件的结果栏中,用于后续分析,直至自动化测试框架脚本遍历所有测试用例,完成所有用例的回放;

24、步骤s45,在回放过程中,对每个用例的执行结果准确记录,同时根据响应状态码标记用例是否成功,以及记录相关的响应信息。

25、优选的,所述步骤s5包括:

26、步骤s51,对于执行结果为成功的用例,测试人员会确认其正确性,并核实系统返回的响应是否符合预期;

27、步骤s52,对于执行结果为失败的用例,测试人员分析失败的原因,对应提出解决方案。

28、优选的,所述步骤s52中,失败的原因包括:接口是否符合规范引起的用例执行失败、系统出现bug引起的用例执行失败以及测试脚本本身引起的用例执行失败。

29、优选的,测试人员若发现是系统出现bug引起的用例执行失败,则会将问题及相关信息记录下来,并提交给开发团队或者bug管理系统,进行后续恢复;测试人员若发现是测试脚本本身引起的用例执行失败,则会检查脚本的编写逻辑,修复脚本错误。

30、本发明之二的一种基于录制回放的全量自动化测试用例复测系统,包括:

31、场景录制模块,用于根据产品软件功能,制定测试场景和测试用例的规划,覆盖产品的各个功能点,确定录制场景;

32、筛选模块,利用mitmproxy抓包工具,模拟用户操作,抓取需要录制自动化页面的所有请求,检查接口是否符合规范筛选出有效请求;

33、生成模块,用于所有的请求流经过python脚本analys.py进行处理,提取符合规范各接口请求url、method、headers、body,并标记为用例;

34、csv模块,用于创建csv文件,并将提取符合规范各接口请求url、method、headers、body数据写入csv文件中标记为用例文件,完成自动化全量用例的录制;

35、读取模块,用于结合基于pytest及requests的自动化测试框架脚本,利用pandas自动读取提取用例文件;

36、测试结果检查模块,用于测试人员查看用例文件,检查用例测试结果,验证应用程序的行为是否与录制时一致,并分析执行结果为失败用例的原因,对应提出解决方案;

37、回归测试模块,用于执行回放自动化测试框架脚本,一键运行生成同版本下回归测试或更换测试环境测试下的测试结果。

38、本发明的有益效果是:本发明通过基于脚本的录制和回放技术可以提高测试效率和准确性,节省人工测试的时间和资源,允许测试人员在录制阶段关注测试场景的设计和流程,而在回放阶段自动执行测试用例,可以通过模拟用户操作来快速创建测试用例,而无需手动编写复杂的测试脚本,减少了手动操作的工作量,同时,脚本也可以在不同的环境和配置下重复使用,提高了测试的可重复性和一致性;当应用程序发生变化时,可以使用该系统轻松地更新测试用例,只需重新录制受影响的操作步骤,自动更新测试用例,无需关注接口的变化,也无需手动修改大量的测试脚本;快速重复执行已录制的测试用例,验证应用程序的功能是否仍然正常,节省人工测试的时间和资源,提高测试效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1