一种智能处置的软件自动化回归测试方法、系统及设备与流程

文档序号:34087304发布日期:2023-05-07 01:39阅读:138来源:国知局
一种智能处置的软件自动化回归测试方法、系统及设备与流程

本发明涉及软件测试,尤其涉及一种智能处置的软件自动化回归测试方法、系统及设备。


背景技术:

1、日常工作中,测试人员根据需求文档或接口文档,进行需求分析并编写自动化测试案例,人工构建自动化测试案例库。当进行自动化回归测试时,由人工先进行测试数据准备,数据准备是最耗费人力成本的环节之一,往往需要通过查询数据库或手工造数来完成,数据准备完成后,再由测试人员选择自动化测试案例库中相关的测试案例,进行回归测试。

2、案例执行失败后,常用的解决方法通常是多次选择失败案例进行重跑,或者由测试人员对报错日志进行人工分析,定位案例执行失败的原因,失败的原因通常是:①环境问题;②数据问题;③测试案例本身编写问题。这些问题通常需要由测试人员进行人工修复后,再次执行案例,案例才能执行成功,自动化回归测试结束后,需要人工逐个排查可能存在的缺陷。

3、自动化回归测试常常在非工作时间进行,无人工进行数据准备、报错日志分析与问题排查修复,这样不仅拖延了回归测试时间,还给项目上线造成了一定的延期风险。

4、针对以上情况,现有期刊文献、专利等提出了一些解决方案,如申请号为cn201710313381.2的中国发明专利《软件自动化测试的报错日志的自动分析方法和系统》,其公开了一种软件自动化测试的报错日志的自动分析方法和系统,能够自动根据报错日志信息进行错误类型匹配,提高测试人员分析报错日志的效率、减少分析及等待时间。

5、申请号为cn202010274003.x的中国发明专利《回归测试方法及装置》,其公开了一种方法,可以将服务器返回的结果报文与回归测试案例的预设报文进行比对;若回归测试案例的预设报文与结果报文比对一致,则测试案例回归测试成功;否则回归测试失败。可减少测试人员的重复性工作,有效提高测试人员的工作效率。

6、申请号为cn202011275999.2的中国发明专利《自动回归测试方法、装置、设备及存储介质》,公开了一种自动化回归测试方法,通过检测回归测试指令,预设回归用例集合,根据回归用例发送回归测试请求,自动回归接口,回归测试响应与回归测试用例中的接口测试响应进行对比,以获得测试结果,生成测试报告并推送。

7、上述针对测试的方法和系统,更多的是涉及案例失败后直接进行重跑、将错误日志发送给相关方、对报错日志的自动分析等,而未涉及数据准备、测试案例自动更新和对错误问题本身进行处理。有些错误问题未修复,导致案例重跑后连续失败,以及共性问题引起大批量执行失败,浪费回归测试资源和时间成本。


技术实现思路

1、本发明要解决的技术问题,在于提供一种智能处置的软件自动化回归测试方法、系统及设备,解决现有回归测试中人工干预过多,测试效率较低的问题。

2、第一方面,本发明提供了一种智能处置的软件自动化回归测试方法,包括如下步骤:

3、步骤1、启动自动化回归测试;

4、步骤2、根据测试案例所需数据检测数据模型是否有数据,若有,则直接进入步骤3,否则,调用数据脚本工具创建符合测试案例要求的数据后,进入步骤3;

5、步骤3、根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,判断是否需要执行智能比对,若是,则进入步骤4,否则,结束流程;

6、步骤4、执行智能比对,将本次报错信息与预设的error库中的报错信息进行比对,若匹配成功,则获取error库中对应的解决方案生成智能调度表,进入步骤5,否则,进入步骤6;

7、步骤5、发起智能调度流程,获取智能调度表中对应的解决方案的脚本进行处置,若处置成功后,则自动返回步骤1重新执行该测试案例,否则,进入步骤6;

8、步骤6、将本次报错信息与result库中的错误关键字进行比对,若匹配不成功,则将该测试案例信息及执行报错信息添加到result库,提示测试人员进行手工处置,手工处置结束后,通过手工重新发起的方式,重新执行失败的测试案例,返回步骤1;所述result库用于存储自动化案例回归测试中失败案例的已去重报错结果。

9、进一步的,所述步骤3具体包括:根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,若所述任务下测试案例均执行成功,则判为不需要执行智能比对,结束本次该测试案例的自动化回归测试;若所述任务执行完成,但任务中存在部分执行失败的案例,则判为需要执行智能比对,进入步骤4;若所述任务未执行完成,但案例执行失败率已达到设定的阈值,则判为需要执行智能比对,进入步骤4。

10、进一步的,所述步骤4具体包括:

11、步骤41、采用的深度学习技术,事先将含有大量报错信息的语料库整理为训练集,通过分词器将训练集中的数据处理为模型的输入,并且定义好训练所需的优化器、损失函数、评价指标,对深度学习模型进行训练,经过训练后的深度学习模型具备对报错信息的文本识别能力,该能力体现在能够识别出报错信息存在同义词、反义词、词序变换的情况,对报错信息的匹配结果计算相似度;

12、步骤42、将执行过程报错信息进行文本预处理,去掉和比对无关的内容,生成报错信息错误关键字,以此来提高智能比对的准确度;

13、步骤43、加载已训练好的深度学习模型及模型参数,使用分词器工具将报错信息错误关键字与error库中的错误关键字进行比对,若比对成功,则获取error库中匹配的解决方案及相关信息录入到智能调度表,待自动化测试任务全部结束以后发起智能调度,进入步骤5;若比对失败,则进入步骤6。

14、进一步的,所述步骤5具体包括:

15、步骤51、发起智能调度流程,获取智能调度表中对应的解决方案的处置脚本;所述处置脚本由error库中对应的解决方案的相关处置脚本写入到智能调度表中,且在智能调度表的内容不为空时,发起智能调度;

16、步骤52、调用智能调度表中的处置脚本,若成功执行,则自动返回步骤1重新执行该测试案例,否则,若执行失败,则判定失败次数是否超过三次,若是,则从智能调度表移除该案例,待人工进行分析,结束调度流程,否则,返回步骤52。

17、进一步的,所述步骤6具体包括:

18、步骤61、将本次报错信息与result库中的错误关键字进行比对,若匹配不成功,则进入步骤62,否则,进入步骤63;

19、步骤62、将该测试案例信息及执行报错信息添加到result库,并添加记录至下载文件中,待所有失败测试案例自动处置完成后,供测试人员下载查看,提示测试人员进行手工处置,在自动化回归测试系统上生成一条待跟踪分析的缺陷记录;

20、步骤63、执行手工处置,手工处置完成后,通过手工重新发起的方式,重新执行失败的测试案例,返回步骤1;

21、当重新执行失败的测试案例通过时,自动关闭已生成的关联缺陷,并根据实现情况添加解决方案到error库;

22、当重新执行失败的测试案例未通过时,在后续回归测试任务中自动引入该案例,且依据后续回归测试结果自动同步更新缺陷状态。

23、进一步的,所述方法还包括步骤7:定时提取生产环境脱敏日志中的用户行为,通过对日志进行解析,解析出用户的实际业务操作场景与具体步骤,将解析出的具体步骤按照自动化测试案例格式要求组装成符合要求的测试案例,再将该测试案例与自动化测试案例库中的案例进行比对,若存在差异,则自动更新自动化测试案例库。

24、进一步的,所述error库用于存放历史执行期间高频出现且可实现智能处理的测试问题及对应的解决方案,所述error库中的解决方案均通过自动化脚本实现,所述error库表结构包括:编号、错误关键字、解决方案、错误类型、入库时间、更新时间、匹配调用次数和录入人员;

25、所述result库表结构包括:入库序号、案例编号、执行时间、入库日期、是否首次入库、被测系统、报错信息和错误关键字;

26、所述智能调度表结构包括:执行日期、测试案例编号、测试案例执行状态、测试案例执行次数、错误类型、处置脚本、处置脚本执行状态、执行机ip。

27、第二方面,本发明提供了一种智能处置的软件自动化回归测试系统,包括自动化启动模块、数据管理模块、执行管理模块、智能比对模块、智能调度模块和缺陷跟踪模块:

28、所述自动化启动模块,用于启动自动化回归测试;

29、所述数据管理模块,用于根据测试案例所需数据检测数据模型是否有数据,若有,则直接执行执行管理模块,否则,调用数据脚本工具创建符合测试案例要求的数据后,执行执行管理模块;

30、所述执行管理模块,用于根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,判断是否需要执行智能比对,若是,则执行智能比对模块,否则,结束流程;

31、所述智能比对模块,用于执行智能比对,将本次报错信息与预设的error库中的报错信息进行比对,若匹配成功,则获取error库中对应的解决方案生成智能调度表,执行智能调度模块,否则,执行缺陷跟踪模块;

32、所述智能调度模块,用于发起智能调度流程,获取智能调度表中对应的解决方案的脚本进行处置,若处置成功后,则自动返回自动化启动模块重新执行该测试案例,否则,执行缺陷跟踪模块;

33、所述缺陷跟踪模块,用于将本次报错信息与result库中的错误关键字进行比对,若匹配不成功,则将该测试案例信息及执行报错信息添加到result库,提示测试人员进行手工处置,手工处置结束后,通过手工重新发起的方式,重新执行失败的测试案例,返回自动化启动模块;所述result库用于存储自动化案例回归测试中失败案例的已去重报错结果。

34、进一步的,所述智能比对模块具体包括:

35、采用的深度学习技术,事先将含有大量报错信息的语料库整理为训练集,通过分词器将训练集中的数据处理为模型的输入,并且定义好训练所需的优化器、损失函数、评价指标,对深度学习模型进行训练,经过训练后的深度学习模型具备对报错信息的文本识别能力,该能力体现在能够识别出报错信息存在同义词、反义词、词序变换的情况,对报错信息的匹配结果计算相似度;

36、将执行过程报错信息进行文本预处理,去掉和比对无关的内容,生成报错信息错误关键字,以此来提高智能比对的准确度;

37、加载已训练好的深度学习模型及模型参数,使用分词器工具将报错信息错误关键字与error库中的错误关键字进行比对,若比对成功,则获取error库中匹配的解决方案及相关信息录入到智能调度表,待自动化测试任务全部结束以后发起智能调度,执行智能调度模块;若比对失败,则执行缺陷跟踪模块。

38、第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。

39、本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:

40、1、回归测试效率显著提升。以往高频出现且可按统一流程处理的缺陷,通过本发明实现了系统自动调用脚本解决,取代以往需要测试人员人工排查、解决问题的方式,减少人工介入检查及处理的时间,较大程度提高了回归测试效率。

41、2、实现潜在缺陷的提前预测。当案例执行报错的信息不在result表中,即当次执行报错信息与本案例历史执行报错信息不重复时,则自动汇总并提醒测试人员,同时生成一条缺陷记录供人工判断,加强对潜在缺陷的预警,达到质量前移。

42、3、实现测试缺陷闭环管理。测试案例执行结果与测试缺陷关联,在回归测试阶段,若该案例执行通过,则自动关闭与该案例关联的测试缺陷,若案例执行失败,则在后续的回归测试中,继续执行该缺陷,减轻了测试人员维护管理测试缺陷的工作量,提高了测试缺陷验证效率,做到缺陷闭环管理。

43、4、实现自动准备测试数据。通过关联数据脚本工具自动创建测试案例所需的数据,无需人工介入,有效降低了准备测试数据的人力投入,回归测试任务可随时进行,无需考虑数据消耗情况,提高了自动化测试效率。

44、5、实现自动对自动化测试案例库进行更新操作,达到用户实际行为天然是测试案例的目的,在一定程度上减轻了测试人员人工编写自动化测试案例的工作量,也使得测试案例更加接近于真实场景。

45、6、本发明设定了执行案例失败率阈值,当案例执行失败率达到设定的阈值,则暂停执行,转入智能处置分析,而不是等整个任务案例均执行完成再进行错误处置,以此减少回归测试投入的资源成本。

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