CN116069628A - 一种智能处置的软件自动化回归测试方法、系统及设备 - Google Patents

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

Info

Publication number
CN116069628A
CN116069628A CN202211647294.8A CN202211647294A CN116069628A CN 116069628 A CN116069628 A CN 116069628A CN 202211647294 A CN202211647294 A CN 202211647294A CN 116069628 A CN116069628 A CN 116069628A
Authority
CN
China
Prior art keywords
error
test
intelligent
library
test case
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211647294.8A
Other languages
English (en)
Inventor
廖根健
苏晓波
吴舒蓉
邓娱婷
王燕梅
王驿
林艳虾
郭超年
程舒晗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Rural Credit Union
Original Assignee
Fujian Rural Credit Union
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Rural Credit Union filed Critical Fujian Rural Credit Union
Priority to CN202211647294.8A priority Critical patent/CN116069628A/zh
Publication of CN116069628A publication Critical patent/CN116069628A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种智能处置的软件自动化回归测试方法、系统及设备,所述方法包括:启动自动化回归测试,执行测试案例,检查任务中的测试案例执行结果,判断是否需要智能比对,若是,则将本次报错信息与预设的ERROR库中的报错信息进行比对,若匹配成功,则获取ERROR库中对应的解决方案生成智能调度表,获取智能调度表中对应脚本进行处置,处置成功后,自动返回重新执行该测试案例,若匹配不成功,则将本次报错信息与RESULT库中的错误关键字进行比对,将首次出现的报错信息添加到RESULT库,进行手工处置,之后通过手工重新发起的方式,重新执行失败的测试案例。本发明可解决现有回归测试中人工干预过多,测试效率较低等问题,极大提高了测试效率。

Description

一种智能处置的软件自动化回归测试方法、系统及设备
技术领域
本发明涉及软件测试技术领域,尤其涉及一种智能处置的软件自动化回归测试方法、系统及设备。
背景技术
日常工作中,测试人员根据需求文档或接口文档,进行需求分析并编写自动化测试案例,人工构建自动化测试案例库。当进行自动化回归测试时,由人工先进行测试数据准备,数据准备是最耗费人力成本的环节之一,往往需要通过查询数据库或手工造数来完成,数据准备完成后,再由测试人员选择自动化测试案例库中相关的测试案例,进行回归测试。
案例执行失败后,常用的解决方法通常是多次选择失败案例进行重跑,或者由测试人员对报错日志进行人工分析,定位案例执行失败的原因,失败的原因通常是:①环境问题;②数据问题;③测试案例本身编写问题。这些问题通常需要由测试人员进行人工修复后,再次执行案例,案例才能执行成功,自动化回归测试结束后,需要人工逐个排查可能存在的缺陷。
自动化回归测试常常在非工作时间进行,无人工进行数据准备、报错日志分析与问题排查修复,这样不仅拖延了回归测试时间,还给项目上线造成了一定的延期风险。
针对以上情况,现有期刊文献、专利等提出了一些解决方案,如申请号为CN201710313381.2的中国发明专利《软件自动化测试的报错日志的自动分析方法和系统》,其公开了一种软件自动化测试的报错日志的自动分析方法和系统,能够自动根据报错日志信息进行错误类型匹配,提高测试人员分析报错日志的效率、减少分析及等待时间。
申请号为CN202010274003.X的中国发明专利《回归测试方法及装置》,其公开了一种方法,可以将服务器返回的结果报文与回归测试案例的预设报文进行比对;若回归测试案例的预设报文与结果报文比对一致,则测试案例回归测试成功;否则回归测试失败。可减少测试人员的重复性工作,有效提高测试人员的工作效率。
申请号为CN202011275999.2的中国发明专利《自动回归测试方法、装置、设备及存储介质》,公开了一种自动化回归测试方法,通过检测回归测试指令,预设回归用例集合,根据回归用例发送回归测试请求,自动回归接口,回归测试响应与回归测试用例中的接口测试响应进行对比,以获得测试结果,生成测试报告并推送。
上述针对测试的方法和系统,更多的是涉及案例失败后直接进行重跑、将错误日志发送给相关方、对报错日志的自动分析等,而未涉及数据准备、测试案例自动更新和对错误问题本身进行处理。有些错误问题未修复,导致案例重跑后连续失败,以及共性问题引起大批量执行失败,浪费回归测试资源和时间成本。
发明内容
本发明要解决的技术问题,在于提供一种智能处置的软件自动化回归测试方法、系统及设备,解决现有回归测试中人工干预过多,测试效率较低的问题。
第一方面,本发明提供了一种智能处置的软件自动化回归测试方法,包括如下步骤:
步骤1、启动自动化回归测试;
步骤2、根据测试案例所需数据检测数据模型是否有数据,若有,则直接进入步骤3,否则,调用数据脚本工具创建符合测试案例要求的数据后,进入步骤3;
步骤3、根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,判断是否需要执行智能比对,若是,则进入步骤4,否则,结束流程;
步骤4、执行智能比对,将本次报错信息与预设的ERROR库中的报错信息进行比对,若匹配成功,则获取ERROR库中对应的解决方案生成智能调度表,进入步骤5,否则,进入步骤6;
步骤5、发起智能调度流程,获取智能调度表中对应的解决方案的脚本进行处置,若处置成功后,则自动返回步骤1重新执行该测试案例,否则,进入步骤6;
步骤6、将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则将该测试案例信息及执行报错信息添加到RESULT库,提示测试人员进行手工处置,手工处置结束后,通过手工重新发起的方式,重新执行失败的测试案例,返回步骤1;所述RESULT库用于存储自动化案例回归测试中失败案例的已去重报错结果。
进一步的,所述步骤3具体包括:根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,若所述任务下测试案例均执行成功,则判为不需要执行智能比对,结束本次该测试案例的自动化回归测试;若所述任务执行完成,但任务中存在部分执行失败的案例,则判为需要执行智能比对,进入步骤4;若所述任务未执行完成,但案例执行失败率已达到设定的阈值,则判为需要执行智能比对,进入步骤4。
进一步的,所述步骤4具体包括:
步骤41、采用的深度学习技术,事先将含有大量报错信息的语料库整理为训练集,通过分词器将训练集中的数据处理为模型的输入,并且定义好训练所需的优化器、损失函数、评价指标,对深度学习模型进行训练,经过训练后的深度学习模型具备对报错信息的文本识别能力,该能力体现在能够识别出报错信息存在同义词、反义词、词序变换的情况,对报错信息的匹配结果计算相似度;
步骤42、将执行过程报错信息进行文本预处理,去掉和比对无关的内容,生成报错信息错误关键字,以此来提高智能比对的准确度;
步骤43、加载已训练好的深度学习模型及模型参数,使用分词器工具将报错信息错误关键字与ERROR库中的错误关键字进行比对,若比对成功,则获取ERROR库中匹配的解决方案及相关信息录入到智能调度表,待自动化测试任务全部结束以后发起智能调度,进入步骤5;若比对失败,则进入步骤6。
进一步的,所述步骤5具体包括:
步骤51、发起智能调度流程,获取智能调度表中对应的解决方案的处置脚本;所述处置脚本由ERROR库中对应的解决方案的相关处置脚本写入到智能调度表中,且在智能调度表的内容不为空时,发起智能调度;
步骤52、调用智能调度表中的处置脚本,若成功执行,则自动返回步骤1重新执行该测试案例,否则,若执行失败,则判定失败次数是否超过三次,若是,则从智能调度表移除该案例,待人工进行分析,结束调度流程,否则,返回步骤52。
进一步的,所述步骤6具体包括:
步骤61、将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则进入步骤62,否则,进入步骤63;
步骤62、将该测试案例信息及执行报错信息添加到RESULT库,并添加记录至下载文件中,待所有失败测试案例自动处置完成后,供测试人员下载查看,提示测试人员进行手工处置,在自动化回归测试系统上生成一条待跟踪分析的缺陷记录;
步骤63、执行手工处置,手工处置完成后,通过手工重新发起的方式,重新执行失败的测试案例,返回步骤1;
当重新执行失败的测试案例通过时,自动关闭已生成的关联缺陷,并根据实现情况添加解决方案到ERROR库;
当重新执行失败的测试案例未通过时,在后续回归测试任务中自动引入该案例,且依据后续回归测试结果自动同步更新缺陷状态。
进一步的,所述方法还包括步骤7:定时提取生产环境脱敏日志中的用户行为,通过对日志进行解析,解析出用户的实际业务操作场景与具体步骤,将解析出的具体步骤按照自动化测试案例格式要求组装成符合要求的测试案例,再将该测试案例与自动化测试案例库中的案例进行比对,若存在差异,则自动更新自动化测试案例库。
进一步的,所述ERROR库用于存放历史执行期间高频出现且可实现智能处理的测试问题及对应的解决方案,所述ERROR库中的解决方案均通过自动化脚本实现,所述ERROR库表结构包括:编号、错误关键字、解决方案、错误类型、入库时间、更新时间、匹配调用次数和录入人员;
所述RESULT库表结构包括:入库序号、案例编号、执行时间、入库日期、是否首次入库、被测系统、报错信息和错误关键字;
所述智能调度表结构包括:执行日期、测试案例编号、测试案例执行状态、测试案例执行次数、错误类型、处置脚本、处置脚本执行状态、执行机IP。
第二方面,本发明提供了一种智能处置的软件自动化回归测试系统,包括自动化启动模块、数据管理模块、执行管理模块、智能比对模块、智能调度模块和缺陷跟踪模块:
所述自动化启动模块,用于启动自动化回归测试;
所述数据管理模块,用于根据测试案例所需数据检测数据模型是否有数据,若有,则直接执行执行管理模块,否则,调用数据脚本工具创建符合测试案例要求的数据后,执行执行管理模块;
所述执行管理模块,用于根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,判断是否需要执行智能比对,若是,则执行智能比对模块,否则,结束流程;
所述智能比对模块,用于执行智能比对,将本次报错信息与预设的ERROR库中的报错信息进行比对,若匹配成功,则获取ERROR库中对应的解决方案生成智能调度表,执行智能调度模块,否则,执行缺陷跟踪模块;
所述智能调度模块,用于发起智能调度流程,获取智能调度表中对应的解决方案的脚本进行处置,若处置成功后,则自动返回自动化启动模块重新执行该测试案例,否则,执行缺陷跟踪模块;
所述缺陷跟踪模块,用于将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则将该测试案例信息及执行报错信息添加到RESULT库,提示测试人员进行手工处置,手工处置结束后,通过手工重新发起的方式,重新执行失败的测试案例,返回自动化启动模块;所述RESULT库用于存储自动化案例回归测试中失败案例的已去重报错结果。
进一步的,所述智能比对模块具体包括:
采用的深度学习技术,事先将含有大量报错信息的语料库整理为训练集,通过分词器将训练集中的数据处理为模型的输入,并且定义好训练所需的优化器、损失函数、评价指标,对深度学习模型进行训练,经过训练后的深度学习模型具备对报错信息的文本识别能力,该能力体现在能够识别出报错信息存在同义词、反义词、词序变换的情况,对报错信息的匹配结果计算相似度;
将执行过程报错信息进行文本预处理,去掉和比对无关的内容,生成报错信息错误关键字,以此来提高智能比对的准确度;
加载已训练好的深度学习模型及模型参数,使用分词器工具将报错信息错误关键字与ERROR库中的错误关键字进行比对,若比对成功,则获取ERROR库中匹配的解决方案及相关信息录入到智能调度表,待自动化测试任务全部结束以后发起智能调度,执行智能调度模块;若比对失败,则执行缺陷跟踪模块。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、回归测试效率显著提升。以往高频出现且可按统一流程处理的缺陷,通过本发明实现了系统自动调用脚本解决,取代以往需要测试人员人工排查、解决问题的方式,减少人工介入检查及处理的时间,较大程度提高了回归测试效率。
2、实现潜在缺陷的提前预测。当案例执行报错的信息不在RESULT表中,即当次执行报错信息与本案例历史执行报错信息不重复时,则自动汇总并提醒测试人员,同时生成一条缺陷记录供人工判断,加强对潜在缺陷的预警,达到质量前移。
3、实现测试缺陷闭环管理。测试案例执行结果与测试缺陷关联,在回归测试阶段,若该案例执行通过,则自动关闭与该案例关联的测试缺陷,若案例执行失败,则在后续的回归测试中,继续执行该缺陷,减轻了测试人员维护管理测试缺陷的工作量,提高了测试缺陷验证效率,做到缺陷闭环管理。
4、实现自动准备测试数据。通过关联数据脚本工具自动创建测试案例所需的数据,无需人工介入,有效降低了准备测试数据的人力投入,回归测试任务可随时进行,无需考虑数据消耗情况,提高了自动化测试效率。
5、实现自动对自动化测试案例库进行更新操作,达到用户实际行为天然是测试案例的目的,在一定程度上减轻了测试人员人工编写自动化测试案例的工作量,也使得测试案例更加接近于真实场景。
6、本发明设定了执行案例失败率阈值,当案例执行失败率达到设定的阈值,则暂停执行,转入智能处置分析,而不是等整个任务案例均执行完成再进行错误处置,以此减少回归测试投入的资源成本。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明一种智能处置的软件自动化回归测试方法的执行流程图。
图2为本发明一种智能处置的软件自动化回归测试系统的结构示意图。
图3为本发明一种电子设备的结构示意图。
图4为本发明一种智能处置的软件自动化回归测试系统的原理示意图。
图5为本发明一具体实施例中的执行流程图。
图6为本发明智能比对相关流程示意图。
具体实施方式
本申请实施例通过提供一种智能处置的软件自动化回归测试方法、系统及设备,解决现有回归测试中人工干预过多,测试效率较低的问题。
本申请实施例中的技术方案,总体思路如下:如图4所示,智能自动化回归测试系统大体由自动化测试模块和智能处理模块组成,自动化测试模块包括数据管理、测试案例管理、执行管理等功能;智能处理模块包括ERROR库、RESULT库、智能比对和智能调度等四个功能。其中数据管理功能实现自动造数功能。测试案例管理功能实现定时提取生产环境脱敏日志中的用户行为,自动更新自动化测试案例库。执行管理功能实现根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例。ERROR库用于存放历史执行期间高频出现且可实现智能处理的测试问题及对应解决方案,所有解决方案均通过自动化脚本实现。ERROR库与智能比对、智能调度前后对接,当自动化回归测试任务执行完成时或测试失败率达到设定的阈值时,开始进行智能比对,根据错误关键字匹配获取对应解决方案,并调用解决方案脚本,进入智能调度流程,智能调度是在自动化回归测试执行过程中出现报错并在通过智能比对后,发起的一个智能处置并重新执行的过程。RESULT库是存储自动化案例回归测试中失败案例的已去重报错结果,可实现缺陷预测。本发明从整体上减少了人工干预与处理的时间,较大程度提高了测试效率。
为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
本实施例提供一种智能处置的软件自动化回归测试方法,如图1、图5和图6所示,所示方法包括如下步骤:
步骤1、启动自动化回归测试;
步骤2、根据测试案例所需数据检测数据模型是否有数据,若有,则直接进入步骤3,否则,调用数据脚本工具创建符合测试案例要求的数据后,进入步骤3;其中,数据脚本工具是根据测试案例所需信息自动调用相应的接口进行造数,比如借记卡开卡,根据测试案例所需的卡类型,调用对应的查询凭证、借记卡开卡接口交易,即可创建对应的数据并填充到数据模型中供案例执行使用;
步骤3、根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,判断是否需要执行智能比对,若是,则进入步骤4,否则,结束流程;
步骤4、执行智能比对,将本次报错信息与预设的ERROR库中的报错信息进行比对,若匹配成功,则获取ERROR库中对应的解决方案生成智能调度表,进入步骤5,否则,进入步骤6;
步骤5、发起智能调度流程,获取智能调度表中对应的解决方案的脚本进行处置,若处置成功后,则自动返回步骤1重新执行该测试案例,否则,进入步骤6;
步骤6、将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则将该测试案例信息及执行报错信息添加到RESULT库,提示测试人员进行手工处置,手工处置结束后,通过手工重新发起的方式,重新执行失败的测试案例,返回步骤1;所述RESULT库用于存储自动化案例回归测试中失败案例的已去重报错结果。
较佳的,所述步骤3具体包括:根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,若所述任务下测试案例均执行成功,则判为不需要执行智能比对,结束本次该测试案例的自动化回归测试;若所述任务执行完成,但任务中存在部分执行失败的案例,则判为需要执行智能比对,进入步骤4;若所述任务未执行完成,但案例执行失败率已达到设定的阈值,则判为需要执行智能比对,进入步骤4。
较佳的,所述步骤4具体包括:
步骤41、采用的深度学习技术,事先将含有大量报错信息的语料库整理为训练集,通过分词器将训练集中的数据处理为模型的输入,并且定义好训练所需的优化器、损失函数、评价指标,对深度学习模型进行训练,经过训练后的深度学习模型具备对报错信息的文本识别能力,该能力体现在能够识别出报错信息存在同义词、反义词、词序变换的情况,对报错信息的匹配结果计算相似度;
步骤42、将执行过程报错信息进行文本预处理,去掉和比对无关的内容,生成报错信息错误关键字,以此来提高智能比对的准确度;
步骤43、加载已训练好的深度学习模型及模型参数,使用分词器工具将报错信息错误关键字与ERROR库中的错误关键字进行比对,若比对成功,则获取ERROR库中匹配的解决方案及相关信息录入到智能调度表,待自动化测试任务全部结束以后发起智能调度,进入步骤5;若比对失败,则进入步骤6。
其中,所述ERROR库用于存放历史执行期间高频出现且可实现智能处理的测试问题及对应的解决方案,所述ERROR库中的解决方案均通过自动化脚本实现,所述ERROR库表结构包括:编号、错误关键字、解决方案、错误类型、入库时间、更新时间、匹配调用次数和录入人员,每个字段说明如下:
编号:Error_0000X,X从1开始,按顺序递增;
错误关键字:从RESULT库中获取,用于与自动化回归测试案例执行失败的报错信息进行比对,报错信息若在ERROR库中,则根据错误关键字匹配获取对应解决方案,调用解决方案脚本,进入智能调度流程;
解决方案:针对已确认的高频错误,系统已对其进行自动化处理的流程,通过简洁的语言描述展示给用户查阅,再由智能自动化回归系统转化为可执行的脚本;
错误类型:对错误类型进行分类,如业务系统环境问题、测试工具问题、脚本问题等;
入库时间:系统自动获取初次录入并提交成功的系统时间;
更新时间:可更新除编号、入库时间外的其他字段信息,修改并提交成功后,系统自动获取系统时间为更新时间;
匹配调用次数:智能比对过程中,与ERROR库匹配中并调用对应解决方案的次数累计,便于后续对最常出现的问题进行源头分析及解决;
录入人员:系统自动获取当前录入操作人员。
在一具体实施例中,本发明所述ERROR库表的一条记录如下表1所示:
表1
Figure BDA0004010243310000111
较佳的,所述步骤5具体包括:
步骤51、发起智能调度流程,获取智能调度表中对应的解决方案的处置脚本;所述处置脚本由ERROR库中对应的解决方案的相关处置脚本写入到智能调度表中,且在智能调度表的内容不为空时,发起智能调度;
步骤52、调用智能调度表中的处置脚本,若成功执行,则自动返回步骤1重新执行该测试案例,否则,若执行失败,则判定失败次数是否超过三次,若是,则从智能调度表移除该案例,待人工进行分析,结束调度流程,否则,返回步骤52。
其中,智能调度的存储载体主要是智能调度表,所述智能调度表结构包括:执行日期、测试案例编号、测试案例执行状态、测试案例执行次数、错误类型、处置脚本、处置脚本执行状态、执行机IP。在ERROR库中已存储相关错误关键字及解决方案的状态下,执行过程中的报错信息通过智能比对后,将ERROR库中匹配的解决方案信息及相关处置脚本信息写入智能调度表中,当智能调度表的内容不为空,则发起智能调度。本发明中处置脚本是以测试案例的形式存在,ERROR库表的解决方案与测试案例关联上,即关联上了处置脚本。在一具体实施例中,本发明所述智能调度表的一条记录如下表2所示:
表2
Figure BDA0004010243310000121
较佳的,所述步骤6具体包括:
步骤61、将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则进入步骤62,否则,进入步骤63;
步骤62、将该测试案例信息及执行报错信息添加到RESULT库,并添加记录至下载文件中,待所有失败测试案例自动处置完成后,供测试人员下载查看,提示测试人员进行手工处置,在自动化回归测试系统上生成一条待跟踪分析的缺陷记录;
步骤63、执行手工处置,手工处置完成后,通过手工重新发起的方式,重新执行失败的测试案例,返回步骤1;
当重新执行失败的测试案例通过时,自动关闭已生成的关联缺陷,并根据实现情况添加解决方案到ERROR库;
当重新执行失败的测试案例未通过时,在后续回归测试任务中自动引入该案例,且依据后续回归测试结果自动同步更新缺陷状态。
其中,所述RESULT库是存储自动化案例回归测试中失败案例的已去重报错结果,同时对首次执行失败的测试案例录入到重点关注列表中,以提醒测试人员需重点关注,实现缺陷预测,若不是首次执行失败,即没有需要重点关注的案例,该比对流程结束。以单案例为单位,将其每次回归过程中失败案例的报错信息,通过智能比对模块,与RESULT库同条案例的报错信息进行比对,若执行失败案例的报错信息在RESULT库中存在,则不做处理;若失败案例的报错信息在RESULT库中不存在,则把该条案例的报错信息入库到RESULT库,并提供下载功能,供测试人员下载报错信息首次出现的测试案例信息,以“需重点关注案例列表”的EXCEL表格形式提供。所述RESULT库表结构包括:入库序号、案例编号、执行时间、入库日期、是否首次入库、被测系统、报错信息和错误关键字。具体的字段说明如下:
入库序号:组成规则为run+入库日期+编号形式,中间用下横杆连接;
案例编号:用于标识案例的唯一性,取自测试案例的案例编号;
执行时间:直接取案例结果中的【执行时间】,前八位代表年月日,后六位代表时分秒;
入库日期:执行结果入库的日期;
是否首次入库:标识执行失败案例是否首次入库:0-否,1-是;用于下载附件-需重点关注案例列表,等于1-是时获取对应案例;
被测系统:取案例的被测系统名称;
报错信息:当执行失败时存储执行结果信息;
错误关键字:对测试案例执行报错信息进行文本预处理成错误关键字;在自动化回归测试中执行失败的案例报错信息,经过文本预处理成错误关键字,与RESULT库中的错误关键字进行比对。
在一具体实施例中,本发明所述RESULT库表的一条记录如下表3所示:
表3
Figure BDA0004010243310000141
较佳的,所述方法还包括步骤7:定时提取生产环境脱敏日志中的用户行为,通过对日志进行解析,解析出用户的实际业务操作场景与具体步骤,将解析出的具体步骤按照自动化测试案例格式要求组装成符合要求的测试案例,再将该测试案例与自动化测试案例库中的案例进行比对,若存在差异,则自动更新自动化测试案例库。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的系统,详见实施例二。
实施例二
在本实施例中提供了一种智能处置的软件自动化回归测试系统,如图2和图6所示,包括自动化启动模块、数据管理模块、执行管理模块、智能比对模块、智能调度模块和缺陷跟踪模块:
所述自动化启动模块,用于启动自动化回归测试;
所述数据管理模块,用于根据测试案例所需数据检测数据模型是否有数据,若有,则直接执行执行管理模块,否则,调用数据脚本工具创建符合测试案例要求的数据后,执行执行管理模块;其中,数据脚本工具是根据测试案例所需信息自动调用相应的接口进行造数,比如借记卡开卡,根据测试案例所需的卡类型,调用对应的查询凭证、借记卡开卡接口交易,即可创建对应的数据并填充到数据模型中供案例执行使用;
所述执行管理模块,用于根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,判断是否需要执行智能比对,若是,则执行智能比对模块,否则,结束流程;
所述智能比对模块,用于执行智能比对,将本次报错信息与预设的ERROR库中的报错信息进行比对,若匹配成功,则获取ERROR库中对应的解决方案生成智能调度表,执行智能调度模块,否则,执行缺陷跟踪模块;
所述智能调度模块,用于发起智能调度流程,获取智能调度表中对应的解决方案的脚本进行处置,若处置成功后,则自动返回自动化启动模块重新执行该测试案例,否则,执行缺陷跟踪模块;
所述缺陷跟踪模块,用于将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则将该测试案例信息及执行报错信息添加到RESULT库,提示测试人员进行手工处置,手工处置结束后,通过手工重新发起的方式,重新执行失败的测试案例,返回自动化启动模块;所述RESULT库用于存储自动化案例回归测试中失败案例的已去重报错结果。
较佳的,智能比对是执行过程报错信息与预设的库的比对过程。智能比对采用了深度学习技术和分词器工具,将执行过程报错信息与库中的错误关键字进行智能比对,为智能调度做准备。所述智能比对模块具体包括:
采用的深度学习技术,事先将含有大量报错信息的语料库整理为训练集,通过分词器将训练集中的数据处理为模型的输入,并且定义好训练所需的优化器、损失函数、评价指标,对深度学习模型进行训练,经过训练后的深度学习模型具备对报错信息的文本识别能力,该能力体现在能够识别出报错信息存在同义词、反义词、词序变换的情况,对报错信息的匹配结果计算相似度;
将执行过程报错信息进行文本预处理,去掉和比对无关的内容,生成报错信息错误关键字,以此来提高智能比对的准确度;
加载已训练好的深度学习模型及模型参数,使用分词器工具将报错信息错误关键字与ERROR库中的错误关键字进行比对,若比对成功,则获取ERROR库中匹配的解决方案及相关信息录入到智能调度表,待自动化测试任务全部结束以后发起智能调度,执行智能调度模块;若比对失败,则执行缺陷跟踪模块。
较佳的,所述执行管理模块具体包括:根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,若所述任务下测试案例均执行成功,则判为不需要执行智能比对,结束本次该测试案例的自动化回归测试;若所述任务执行完成,但任务中存在部分执行失败的案例,则判为需要执行智能比对,执行智能比对模块;若所述任务未执行完成,但案例执行失败率已达到设定的阈值,则判为需要执行智能比对,执行智能比对模块。
较佳的,所述智能调度模块具体包括:
启动模块,用于发起智能调度流程,获取智能调度表中对应的解决方案的处置脚本;所述处置脚本由ERROR库中对应的解决方案的相关处置脚本写入到智能调度表中,且在智能调度表的内容不为空时,发起智能调度;
调用脚本模块,用于调用智能调度表中的处置脚本,若成功执行,则自动返回自动化启动模块重新执行该测试案例,否则,若执行失败,则判定失败次数是否超过三次,若是,则从智能调度表移除该案例,待人工进行分析,结束调度流程,否则,返回调用脚本模块。
较佳的,所述缺陷跟踪模块具体包括:
比对模块,用于将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则执行重点关注模块,否则,直接执行手工处置模块;
重点关注模块,用于将该测试案例信息及执行报错信息添加到RESULT库,并添加记录至下载文件中,待所有失败测试案例自动处置完成后,供测试人员下载查看,提示测试人员进行手工处置,在自动化回归测试系统上生成一条待跟踪分析的缺陷记录;
手工处置模块,用于执行手工处置,手工处置完成后,通过手工重新发起的方式,重新执行失败的测试案例,返回自动化启动模块;
当重新执行失败的测试案例通过时,自动关闭已生成的关联缺陷,并根据实现情况添加解决方案到ERROR库;
当重新执行失败的测试案例未通过时,在后续回归测试任务中自动引入该案例,且依据后续回归测试结果自动同步更新缺陷状态。
较佳的,所述系统还包括测试案例管理模块:用于定时提取生产环境脱敏日志中的用户行为,通过对日志进行解析,解析出用户的实际业务操作场景与具体步骤,将解析出的具体步骤按照自动化测试案例格式要求组装成符合要求的测试案例,再将该测试案例与自动化测试案例库中的案例进行比对,若存在差异,则自动更新自动化测试案例库。
由于本发明实施例二所介绍的系统,为实施本发明实施例一的方法所采用的系统,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备,如图3所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
依托本发明实现的一种智能处置的软件自动化回归测试方法、系统及设备,对柜面系统的常态化自动化回归测试进行验证。在柜面投产包于验证环境部署完毕后,自动化测试介入进行回归测试,柜面自动化回归测试案例总数为9629个,由两人在两个工作日内完成全部的执行,耗费工作量为4人天(1天按8小时工作时间计),合计32工时,其中:数据准备4工时、自动化测试执行16工时、问题排查及重新执行12工时。在自动化测试回归测试的执行过程中,出现执行失败的案例212条。其中未存储在ERROR库与RESULT库中、需手工调整的自动化案例数量为50条,剩余162条失败案例均为ERROR库或RESULT库中已存在的场景。
在未引入本发明时,212条失败案例按照人工检查失败原因、调试脚本或更换数据、重新执行的流程进行处理,平均一条案例耗时约3.4分钟,完成全部失败案例的重新执行总计耗时720分钟,约12工时。
通过引入本发明后,自动化回归测试准备数据的4工时可由关联数据脚本工具自动创建测试案例所需的数据,无需人工介入,节省4工时,执行过程和原来保持不变,执行完成后产生的212条失败案例可由本系统自动识别出162条由系统智能处置并重新发起执行,剩余50条失败场景则自动录入RESULT后,并于自动化回归测试系统生成缺陷,提醒测试人员手工介入处理,节省了162条失败案例的处理时间9.17工时,整个过程合计节省13.17工时,占总32工时的41.16%,提升了41.16%的自动化回归测试效率。
在执行过程中,由于自动化测试模块支持对自动化测试案例库自动进行更新操作,故本次执行的50条失败案例将会依据生产环境的脱敏日志进行更新完善及补充,减少人工处理的时间。本次柜面系统只是众多需要自动化回归测试中的一个系统,当本发明后续应用于更多被测系统的自动化回归测试中,将节省更多的工时,进而减少更多的人力成本与时间成本。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
1、通过本发明可以实现对报错日志的智能分析,并且针对高频出现的已知错误,能够智能匹配相应的解决方案,并且自动调用解决方案脚本进行错误问题修复,问题修复完成后再自动重跑案例,取代了以往需要人工介入进行排查与解决的方式,减少了人工干预与处理的时间,较大程度提高了测试效率。
2、本发明提供了潜在缺陷的提前预测。当报错信息不在RESULT表中,则表示本次执行报错信息是首次出现的,预示此问题可能是潜在缺陷,将首次出现报错信息的测试案例生成重点关注案例列表,实现缺陷预测,并将首次出现的报错信息添加到RESULT库,此时自动登记到首次出现问题列表并提供表格供手工下载,以此提醒测试人员需要重点关注。
3、本发明提供了测试数据的自动管理。通过关联数据脚本工具自动创建测试案例所需的数据,无需人工介入,有效降低了准备测试数据的人力投入。
4、本发明可以通过对日志进行智能解析,提取用户的实际业务操作场景和具体步骤,自动组装成符合自动化测试案例库格式的测试案例,更新自动化测试案例库,实现自动对自动化测试案例库进行更新操作,达到用户实际行为天然是测试案例的目的,在一定程度上减少了测试人员人工编写自动化测试案例的工作量。
5、本发明设定了执行案例失败率阈值,当案例执行失败率达到设定的阈值,则暂停执行,转入智能处置分析,而不是等整个任务案例均执行完成再进行处置错误分析,以此减少回归测试投入的资源成本。
6、实现测试缺陷闭环管理。测试案例执行结果与测试缺陷关联,在回归测试阶段,若该案例执行通过,则自动关闭与该案例关联的测试缺陷,若案例执行失败,则在后续的回归测试中,继续执行该缺陷,减轻了测试人员维护管理测试缺陷的工作量,提高了测试缺陷验证效率,做到缺陷闭环管理。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (10)

1.一种智能处置的软件自动化回归测试方法,其特征在于:包括如下步骤:
步骤1、启动自动化回归测试;
步骤2、根据测试案例所需数据检测数据模型是否有数据,若有,则直接进入步骤3,否则,调用数据脚本工具创建符合测试案例要求的数据后,进入步骤3;
步骤3、根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,判断是否需要执行智能比对,若是,则进入步骤4,否则,结束流程;
步骤4、执行智能比对,将本次报错信息与预设的ERROR库中的报错信息进行比对,若匹配成功,则获取ERROR库中对应的解决方案生成智能调度表,进入步骤5,否则,进入步骤6;
步骤5、发起智能调度流程,获取智能调度表中对应的解决方案的脚本进行处置,若处置成功后,则自动返回步骤1重新执行该测试案例,否则,进入步骤6;
步骤6、将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则将该测试案例信息及执行报错信息添加到RESULT库,提示测试人员进行手工处置,手工处置结束后,通过手工重新发起的方式,重新执行失败的测试案例,返回步骤1;所述RESULT库用于存储自动化案例回归测试中失败案例的已去重报错结果。
2.根据权利要求1所述的方法,其特征在于:所述步骤3具体包括:根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,若所述任务下测试案例均执行成功,则判为不需要执行智能比对,结束本次该测试案例的自动化回归测试;若所述任务执行完成,但任务中存在部分执行失败的案例,则判为需要执行智能比对,进入步骤4;若所述任务未执行完成,但案例执行失败率已达到设定的阈值,则判为需要执行智能比对,进入步骤4。
3.根据权利要求1所述的方法,其特征在于:所述步骤4具体包括:
步骤41、采用的深度学习技术,事先将含有大量报错信息的语料库整理为训练集,通过分词器将训练集中的数据处理为模型的输入,并且定义好训练所需的优化器、损失函数、评价指标,对深度学习模型进行训练,经过训练后的深度学习模型具备对报错信息的文本识别能力,该能力体现在能够识别出报错信息存在同义词、反义词、词序变换的情况,对报错信息的匹配结果计算相似度;
步骤42、将执行过程报错信息进行文本预处理,去掉和比对无关的内容,生成报错信息错误关键字,以此来提高智能比对的准确度;
步骤43、加载已训练好的深度学习模型及模型参数,使用分词器工具将报错信息错误关键字与ERROR库中的错误关键字进行比对,若比对成功,则获取ERROR库中匹配的解决方案及相关信息录入到智能调度表,待自动化测试任务全部结束以后发起智能调度,进入步骤5;若比对失败,则进入步骤6。
4.根据权利要求1所述的方法,其特征在于:所述步骤5具体包括:
步骤51、发起智能调度流程,获取智能调度表中对应的解决方案的处置脚本;所述处置脚本由ERROR库中对应的解决方案的相关处置脚本写入到智能调度表中,且在智能调度表的内容不为空时,发起智能调度;
步骤52、调用智能调度表中的处置脚本,若成功执行,则自动返回步骤1重新执行该测试案例,否则,若执行失败,则判定失败次数是否超过三次,若是,则从智能调度表移除该案例,待人工进行分析,结束调度流程,否则,返回步骤52。
5.根据权利要求1所述的方法,其特征在于:所述步骤6具体包括:
步骤61、将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则进入步骤62,否则,进入步骤63;
步骤62、将该测试案例信息及执行报错信息添加到RESULT库,并添加记录至下载文件中,待所有失败测试案例自动处置完成后,供测试人员下载查看,提示测试人员进行手工处置,在自动化回归测试系统上生成一条待跟踪分析的缺陷记录;
步骤63、执行手工处置,手工处置完成后,通过手工重新发起的方式,重新执行失败的测试案例,返回步骤1;
当重新执行失败的测试案例通过时,自动关闭已生成的关联缺陷,并根据实现情况添加解决方案到ERROR库;
当重新执行失败的测试案例未通过时,在后续回归测试任务中自动引入该案例,且依据后续回归测试结果自动同步更新缺陷状态。
6.根据权利要求1所述的方法,其特征在于:所述方法还包括步骤7:定时提取生产环境脱敏日志中的用户行为,通过对日志进行解析,解析出用户的实际业务操作场景与具体步骤,将解析出的具体步骤按照自动化测试案例格式要求组装成符合要求的测试案例,再将该测试案例与自动化测试案例库中的案例进行比对,若存在差异,则自动更新自动化测试案例库。
7.根据权利要求1所述的方法,其特征在于:所述ERROR库用于存放历史执行期间高频出现且可实现智能处理的测试问题及对应的解决方案,所述ERROR库中的解决方案均通过自动化脚本实现,所述ERROR库表结构包括:编号、错误关键字、解决方案、错误类型、入库时间、更新时间、匹配调用次数和录入人员;
所述RESULT库表结构包括:入库序号、案例编号、执行时间、入库日期、是否首次入库、被测系统、报错信息和错误关键字;
所述智能调度表结构包括:执行日期、测试案例编号、测试案例执行状态、测试案例执行次数、错误类型、处置脚本、处置脚本执行状态、执行机IP。
8.一种智能处置的软件自动化回归测试系统,其特征在于,包括自动化启动模块、数据管理模块、执行管理模块、智能比对模块、智能调度模块和缺陷跟踪模块:
所述自动化启动模块,用于启动自动化回归测试;
所述数据管理模块,用于根据测试案例所需数据检测数据模型是否有数据,若有,则直接执行执行管理模块,否则,调用数据脚本工具创建符合测试案例要求的数据后,执行执行管理模块;
所述执行管理模块,用于根据给定的测试任务范围,选择测试环境和测试数据,自动执行测试案例,检查任务中的测试案例执行结果,判断是否需要执行智能比对,若是,则执行智能比对模块,否则,结束流程;
所述智能比对模块,用于执行智能比对,将本次报错信息与预设的ERROR库中的报错信息进行比对,若匹配成功,则获取ERROR库中对应的解决方案生成智能调度表,执行智能调度模块,否则,执行缺陷跟踪模块;
所述智能调度模块,用于发起智能调度流程,获取智能调度表中对应的解决方案的脚本进行处置,若处置成功后,则自动返回自动化启动模块重新执行该测试案例,否则,执行缺陷跟踪模块;
所述缺陷跟踪模块,用于将本次报错信息与RESULT库中的错误关键字进行比对,若匹配不成功,则将该测试案例信息及执行报错信息添加到RESULT库,提示测试人员进行手工处置,手工处置结束后,通过手工重新发起的方式,重新执行失败的测试案例,返回自动化启动模块;所述RESULT库用于存储自动化案例回归测试中失败案例的已去重报错结果。
9.根据权利要求8所述的系统,其特征在于:所述智能比对模块具体包括:
采用的深度学习技术,事先将含有大量报错信息的语料库整理为训练集,通过分词器将训练集中的数据处理为模型的输入,并且定义好训练所需的优化器、损失函数、评价指标,对深度学习模型进行训练,经过训练后的深度学习模型具备对报错信息的文本识别能力,该能力体现在能够识别出报错信息存在同义词、反义词、词序变换的情况,对报错信息的匹配结果计算相似度;
将执行过程报错信息进行文本预处理,去掉和比对无关的内容,生成报错信息错误关键字,以此来提高智能比对的准确度;
加载已训练好的深度学习模型及模型参数,使用分词器工具将报错信息错误关键字与ERROR库中的错误关键字进行比对,若比对成功,则获取ERROR库中匹配的解决方案及相关信息录入到智能调度表,待自动化测试任务全部结束以后发起智能调度,执行智能调度模块;若比对失败,则执行缺陷跟踪模块。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的方法。
CN202211647294.8A 2022-12-21 2022-12-21 一种智能处置的软件自动化回归测试方法、系统及设备 Pending CN116069628A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211647294.8A CN116069628A (zh) 2022-12-21 2022-12-21 一种智能处置的软件自动化回归测试方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211647294.8A CN116069628A (zh) 2022-12-21 2022-12-21 一种智能处置的软件自动化回归测试方法、系统及设备

Publications (1)

Publication Number Publication Date
CN116069628A true CN116069628A (zh) 2023-05-05

Family

ID=86172516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211647294.8A Pending CN116069628A (zh) 2022-12-21 2022-12-21 一种智能处置的软件自动化回归测试方法、系统及设备

Country Status (1)

Country Link
CN (1) CN116069628A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116578499A (zh) * 2023-07-13 2023-08-11 建信金融科技有限责任公司 公共组件功能变更影响的智能化分析测试方法及其系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116578499A (zh) * 2023-07-13 2023-08-11 建信金融科技有限责任公司 公共组件功能变更影响的智能化分析测试方法及其系统
CN116578499B (zh) * 2023-07-13 2023-09-22 建信金融科技有限责任公司 公共组件功能变更影响的智能化分析测试方法及其系统

Similar Documents

Publication Publication Date Title
CN101377759B (zh) 自动化界面测试系统
US9519695B2 (en) System and method for automating data warehousing processes
US7418449B2 (en) System and method for efficient enrichment of business data
CN111209185B (zh) 基于关键词的自动化测试方法及计算机可读存储介质
CN106227654B (zh) 一种测试平台
US6374261B1 (en) Expert system knowledge-deficiency reduction through automated database updates from semi-structured natural language documents
CN115328784A (zh) 一种面向敏捷接口的自动化测试方法及系统
CN112433948A (zh) 一种基于网络数据分析的仿真测试系统及方法
CN116069628A (zh) 一种智能处置的软件自动化回归测试方法、系统及设备
CN110990282B (zh) 一种自动化单元测试方法
CN114546975A (zh) 一种结合人工智能的业务风险处理方法及服务器
CN116578499B (zh) 公共组件功能变更影响的智能化分析测试方法及其系统
CN201548954U (zh) 一种对Web页面进行自动化测试的装置
CN117370217A (zh) 一种基于python的接口测试结果自动生成方法
CN117421217A (zh) 一种软件功能自动测试方法、系统、终端及介质
CN115757175A (zh) 一种交易日志文件处理方法及装置
WO2019193479A1 (en) Cognitive robotic system for test data management activities and method employed thereof
Tanaka et al. Selenium based testing systems for analytical data generation of website user behavior
CN114880239A (zh) 一种基于数据驱动的接口自动化测试框架及方法
CN114297961A (zh) 一种芯片测试用例处理方法及相关装置
US7516048B2 (en) Externalized metric calculation engine
CN113010417A (zh) 基于自动化测试的脚本执行方法及装置
CN112559641A (zh) 拉链表的处理方法及装置、可读存储介质及电子设备
CN112464237A (zh) 一种静态代码安全诊断方法及装置
CN113094265B (zh) 测试脚本的分析方法及分析装置、电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination