掌桥专利:专业的专利平台
掌桥专利
首页

一种基于银行系统自动化测试的业务异常修复方法及装置

文献发布时间:2023-06-19 11:42:32


一种基于银行系统自动化测试的业务异常修复方法及装置

技术领域

本申请涉及测试安全技术领域,具体涉及基于银行系统自动化测试的业务异常修复方法及装置。

背景技术

大型的商业银行交易系统通常会划分为多个子系统,由不同的开发测试团队负责研发维护。而且子系统间多存在依赖调用关系,某研发团队一般是通过另一团队提供的API说明文档来实现对另一子系统的调用,本质上并不熟悉对方的内部实现逻辑,因此其研发出来的自动化测试系统往往难以妥善彻底地解决在调用另一子系统程序时发生的业务逻辑错误,从而影响测试成功率。例如,某企业账户间需要进行大额的资金往来,在商业银行的IT体系内往往涉及以下两个子系统的功能:对公账户交易子系统与反洗钱子系统。在客户进行大额转账时系统通常需要就这笔交易是否可能涉及洗钱进行识别,当两个子系统由不同的研发团队负责维护时,即易出现上述问题(如反洗钱系统的资金量,开关等参数设置异常),这类问题对于作为上游系统的对公研发团队是难以妥善解决的,这时即需要一个妥善解决该类问题的方法。

发明内容

针对现有技术中的问题,本申请提供一种基于银行系统自动化测试的业务异常修复方法及装置,通过自主学习用户历史行为数据实现测试系统的自主适应,避免了人为编程对数据的干预,也解决了不同子系统间调用失败的问题;另一方面通过引入对修复行为链的评价模型加以辅助,优先使用更简单更常用更合理的修复行为链,使得测试实践更贴近并模拟实际应用情况。

为解决上述技术问题,本申请提供以下技术方案:

本发明的一方面,提供一种基于银行系统自动化测试的业务异常修复方法,包括:

根据自动化测试过程中的所述业务异常信息以及所述业务异常信息与修复行为链集合的对应关系确定修复行为链集合;所述修复行为链信息包括至少一个修复行为信息;

从所述修复行为链集合中筛选出其中一个修复行为链;

执行所述修复行为链,对业务异常信息进行修复;其中,所述修复行为链集合中的每个修复行为链基于多个用户的历史修复数据确定;所述历史修复数据包括历史业务异常信息以及对应的历史修复行为链。

在优选的实施例中,所述从所述修复行为链集合中筛选出其中一个修复行为链,包括:

根据预设的评价模型从所述修复行为链集合中筛选出所述修复行为链信息。

在优选的实施例中,还包括:

根据每个历史业务异常信息从所述历史修复数据中查找对应的所有历史修复行为链;

集合查找出的所有历史修复行为链,形成对应该业务异常信息的修复行为链集合。

在优选的实施例中,所述根据每个历史业务异常信息从所述历史修复数据中查找对应的所有历史修复行为链,包括:

从历史业务异常信息中提取相应的特征信息,所述特征信息包括:业务名称,业务编号,业务运行时长,异常信息码;

根据所述特征信息,在所述历史修复数据中查找所有与所述特征信息相对应的历史业务正常信息;

根据每个所述历史业务正常信息中的行为链,生成相对应的所述历史业务异常的修复行为链。

在优选的实施例中,还包括:更新所述修复行为链集合。

在优选的实施例中,所述历史修复数据取自设定时间窗口,所述更新所述修复行为链集合,包括:

以异常发生时间点作为所述设定时间窗口的起点,以异常解决时间点作为所述设定时间窗口的终点,重新选取多个用户的历史修复数据;

基于重新选取的历史修复数据生成更新的修复行为链集合,并用更新的所述修复行为链集合替代原始的修复行为链集合,以更新所述修复行为链集合。

在优选的实施例中,每个修复行为链信息对应一评价得分;所述从一预设的修复行为链集合中选取最优修复行为链,包括:

按照评价得分从大到小的顺序,对所述修复行为链集合中的每个修复行为链进行排序,得到修复行为链序列;

选取所述修复行为链序列中处于设定位置的修复行为链作为筛选出的所述修复行为链信息。

在优选的实施例中,所述设定位置为所述修复行为链序列中的首位,所述选取所述修复行为链序列中处于设定位置的修复行为链作为筛选出的所述修复行为链信息,包括:

选取所述修复行为链序列中位于首位的修复行为链作为筛选出的所述修复行为链信息。

在优选的实施例中,每个修复行为链信息对应一评价得分;所述方法还包括:

根据修复行为链的复杂度和历史使用频率,生成所有修复行为链评分。

在优选的实施例中,所述修复行为链的复杂度包括:修复行为链的长度,修复行为链的圈复杂度,所述根据修复行为链的复杂度和历史使用频率,生成所有修复行为链评分,包括:

根据修复行为链的长度,圈复杂度和所述历史使用频率,生成所有修复行为链评分。

本发明的又一方面,提供一种基于银行系统自动化测试的业务异常修复装置,包括:

修复行为链集合确定模块,根据自动化测试过程中的所述业务异常信息以及所述业务异常信息与修复行为链集合的对应关系确定修复行为链集合;所述修复行为链信息包括至少一个修复行为信息;

修复行为链筛选模块,从所述修复行为链集合中筛选出其中一个修复行为链;

执行修复模块,执行所述修复行为链,对业务异常信息进行修复;其中,所述修复行为链集合中的每个修复行为链基于多个用户的历史修复数据确定;所述历史修复数据包括历史业务异常信息以及对应的历史修复行为链。

本发明的又一方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于银行系统自动化测试的业务异常修复方法。

本发明的又一方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于银行系统自动化测试的业务异常修复方法。

由上述技术方案可知,本申请提供的一种基于银行系统自动化测试的业务异常修复方法,方法包括:根据自动化测试过程中的所述业务异常信息以及所述业务异常信息与修复行为链集合的对应关系确定修复行为链集合;所述修复行为链信息包括至少一个修复行为信息;从所述修复行为链集合中筛选出其中一个修复行为链;执行所述修复行为链,对业务异常信息进行修复。本发明通过自主学习用户历史行为数据实现测试系统的自主适应,避免了人为编程对数据的干预,也解决了不同子系统间调用失败的问题;另一方面通过引入对修复行为链的评价模型加以辅助,优先使用更简单更常用更合理的修复行为链,使得测试实践更贴近并模拟实际应用情况。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是基于银行系统自动化测试的业务异常修复方法流程示意图。

图2是修复行为链集合生成流程示意图。

图3是历史修复行为链获取流程示意图。

图4是修复行为链集合更新流程示意图。

图5是筛选修复行为链流程示意图。

图6是基于银行系统自动化测试的业务异常修复装置结构示意图。

图7是本申请实施例中的电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请公开的基于银行系统自动化测试的业务异常修复方法及装置可用于测试安全技术领域,也可用于除计算机技术领域之外的任意领域,本申请公开的基于银行系统自动化测试的业务异常修复方法及装置的应用领域不做限定。

在具体的实施例中,本申请提供一种基于银行系统自动化测试的业务异常修复方法,如图1,包括:

S1:根据自动化测试过程中的所述业务异常信息以及所述业务异常信息与修复行为链集合的对应关系确定修复行为链集合;所述修复行为链信息包括至少一个修复行为信息;

具体的,自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率。在自动化测试的过程中,会由于某些原因导致测试用例中的业务逻辑无法正常执行,出现所述业务异常,这些业务异常信息会被记录到测试日志中。例如一个测试用例用来测试账户取款业务,因为输入测试用例的取款金额大于了账户总金额,导致该测试用例执行异常,记录的异常信息中的异常码为余额不足。根据该业务异常信息确定对应的修复行为链集合,所述修复行为链集合中至少包括一个针对该业务异常例如余额不足的修复行为链。在具体的实施例中,修复行为链是由至少一个修复行为组成的行为链。例如针对余额不足的修复行为链集合中包括了两条修复行为链。其中,修复行为链一为:1.将取款金额下降至总金额之下,2.执行取款业务操作,该修复行为链中包括了两个修复行为;修复行为链二为:1.补充账户总金额至取款金额之上,2.执行取款业务操作,该修复行为链中也包括了两个修复行为。修复行为链生成的基本逻辑是问题解决的时效要求及处理对象的不变性。业务错误通常会要求当天解决甚至即刻解决,极少情况会出现拖延。对于柜员代理的柜面交易出现异常时,通常会由同一柜员负责解决办理。对于用户更是只限于处理属于本人的业务。而最后一定是通过一笔与失败交易属同一业务但办理成功的交易实现最后修复的闭环。只需要找到该用户从交易出错到交易成功之间的一连串交易,即可视这一连串交易为修改该错误的修复行为链。在具体的实施例中,所述修复行为链集合的生成步骤,如图2,包括:

S11:根据每个历史业务异常信息从所述历史修复数据中查找对应的所有历史修复行为链;

具体的,每个业务异常的修复行为链集合是基于对该业务异常的历史修复行为链的总结生成的,历史修复数据中包括了对业务异常的历史修复行为链。在具体的实施例中,所述历史修复数据是一个历史时间窗口中包括的所有修复数据,这些修复数据为实际业务操作中用户对业务异常所做出的修复行为数据。例如设置历史时间窗口的终点为当前时间点,窗口的起点为当前时间点减去24小时所对应的时间点,即该历史时间窗口的时长为24小时。

在具体的实施例中,所述根据每个历史业务异常信息从所述历史修复数据中查找对应的所有历史修复行为链,如图3,包括:

S111:从历史业务异常信息中提取相应的特征信息,所述特征信息包括:业务名称,业务编号,业务运行时长,异常信息码;

S112:根据所述特征信息,在所述历史修复数据中查找所有与所述特征信息相对应的历史业务正常信息;

S113:根据每个所述历史业务正常信息中的行为链,生成相对应的所述历史业务异常的修复行为链。

具体的,获取设置的时间窗口内的历史修复数据,根据业务异常信息中的业务名称,业务代码及异常信息码等特征查找出对应的所有历史修复行为链,例如一个业务异常信息中业务名称为存款业务,业务代码为001,异常信息码为01对应的异常信息为密码错误,针对该业务异常信息查找到时间窗口为24小时内所有的历史修复数据中与存款业务出现密码错误相对应的历史修复行为链共20条。

S12:集合查找出的所有历史修复行为链,形成对应该业务异常信息的修复行为链集合。

具体的,将查找出的某一业务异常所对应的所有历史修复行为链集合在一起,形成修复行为链集合。可以理解,将所有的针对某一业务异常的修复行为链集合在一起可以采用多种方式,例如将所有针对存款密码错误的的修复行为链标记为1,或者存储在一个文件夹中,或者存储在一个数据库表中,形成修复行为链集合,便于后续的查询。

在具体的实施例中,所述修复行为链集合是可更新的,其更新的具体步骤如图4,包括:

S121:以异常发生时间点作为所述设定时间窗口的起点,以异常解决时间点作为所述设定时间窗口的终点,重新选取多个用户的历史修复数据;

具体的,当执行测试案例时出现执行异常,可以直接从修复行为链上择优即可,当该异常被修复执行之后,为了使得之后可以对该异常的修复行为链集合中包含对该异常的所有修复行为链,会以该异常产生时的时间点作为设定时间窗口的起点,解决的时间点作为终点,重新选取多个用户历史修复数据,所述用户为实际执行该业务的用户,例如存款业务的用户有银行柜台操作员,ATM机用户,手机银行用户等。

S122:基于重新选取的历史修复数据生成更新的修复行为链集合,并用更新的所述修复行为链集合替代原始的修复行为链集合,以更新所述修复行为链集合。

具体的,当重新选取了历史修复数据后,根据业务异常信息中的特征信息重新查找出新的历史修复数据中的所有修复行为链,集合为更新的修复行为链集合,替代原始的修复行为链集合。

S2:从所述修复行为链集合中筛选出其中一个修复行为链;

具体的,当测试过程中出现了业务执行异常,根据业务异常信息确定了相对应的修复行为链集合后,需要从修复行为链集合中筛选出一个修复行为链对异常进行修复。在具体的实施例中,为了获得最优的修复行为链,引入了对修复行为链的评价标准。根据修复行为链的复杂度和历史使用频率,生成所有修复行为链评分,其中所述修复行为链的复杂度包括修复行为链的长度和修复行为链的圈复杂度。例如一个修复行为链由2个修复行为组成,没有循环或者递归,则其复杂度得分可以视为80,另一个修复行为链由8个修复行为组成,也没有循环和递归,则其复杂度可以视为20,还有一修复行为链由6个修复行为组成,存在一个循环行为,则其复杂度可以视为35。修复行为链的复杂度越小说明修复步骤越简单,故其得分根据修复复杂度由大至小依次递増,历史使用频率说明其更通用或更合理,故其得分根据其出现次数由少至多依次递增。

总体评分公式如下:

S=S1*W1+S2*W2

S:总体得分,S1:修复行为链复杂度单项得分(单项评分规则自定,0<=S1<=100),S2:历史使用频率单项得分(单项评分规则自定,0<=S2<=100),W1:修复行为链复杂度单项权重值(权重值自定,0

S21:按照评价得分从大到小的顺序,对所述修复行为链集合中的每个修复行为链进行排序,得到修复行为链序列;

在具体的实施例中,例如4条修复行为链的评价得分分别为:第一条为36,第二条为114,第三条为72,第四条为51,则按照评价得分从大到小的顺序对修复行为链进行排序,得到修复行为链序列,即第二条,第三条,第四条,第一条。

S22:选取所述修复行为链序列中处于设定位置的修复行为链作为筛选出的所述修复行为链信息。

具体的,所述设定位置一般地处于序列的头部位置,例如序列的首位。在具体的实施例中,若修复行为链序列为1,2,3,4,5,则首先选择修复行为链1,若修复行为链1无法得到有效的修复效果,再选择修复行为链2,以此类推。

S3:执行所述修复行为链,对业务异常信息进行修复;其中,所述修复行为链集合中的每个修复行为链基于多个用户的历史修复数据确定;所述历史修复数据包括历史业务异常信息以及对应的历史修复行为链。

结合一具体场景,对本发明作进一步说明。

程序扫描到一笔发生于ATM机的活期取款交易发生了业务错误,其错误信息为账户余额不足,办理该交易的客户是A,发生时间是2000-01-01 10:00:01.994766。于是程序以客户A为条件继续搜索脱敏日志池,提取介于2000-01-01 10:00:01.994766至2000-01-02 00:00:00.000000间关于A的所有交易记录,经搜索后发生在A于2000-01-01 10:10:01.994766时于ATM机完成一笔同等发生额活期取款交易,期间A还发生了一笔小额贷款协议签订交易及系统自动发放了一笔小额贷款给A,程序即判定活期取款失败-小额贷款协议签订成功-系统放款成功-活期取款成功构成一条修复行为链,其中修复交易为小额贷款协议签订与系统放款,判断该修复行为链的复杂度为2,同时在测试用例池内也找到了小额贷款协议签订与系统放款的测试用例。程序搜索修复行为链集合找到当前存量活期取款余额不足的修复行为链集,假设搜索出两条修复行为链(活期转账,T+0理财产品赎回),两条修复行为链的长度都是1,出现次数分别为20次与10次。于是程序判断修复行为链(小额贷款协议签订-系统放款)为首次出现的新修复行为链。假设修复行为链的复杂度单项评分采用线性策略(1:100,2:90,3:80..........10或以上:10),权重占比40%,修复行为链的历史使用频率单项评分采用排名评分策略(第一名:100,第二名:90,第三名:80........第十名或以后10),权重占比60%。则目前已有的三个修复行为链的评分分别为(活期转账:100*40%+100*60%=100,T+0理财产品赎回:100*40%+90*60%=94,小额贷款协议签订-系统放款:90*40%+80*60%=84)。因为当前的修复行为链排名顺序为活期转账,T+0理财产品赎回,小额贷款协议签订-系统放款。最后将三条修复行为链的最新结果更新至修复行为链集合。

在具体的测试过程中,假设测试用例池内存在以下六个测试用例:A,B,C,D,E,F

用例执行的编排顺序为A->B->C->D->E->F。

各功能的修复行为链如下表所示:

测试启动后,按照A->B->C->D->E->F的顺序开始执行测试用例。假设A,B,C都成功执行,在执行到D时出现异常。此时系统执行以下步骤:

1.提取D的修复行为链(F->B)。

2.执行用例F,当F同样执行异常时则需要先递归对F进行修复,提取F的修复行为链(C)。

3.执行F的修复步骤用例C,C执行成功后将C的状态设置为已执行,接着重新执行F。

4.执行用例F成功后,将F的状态设置为已执行。

5.执行用例B,执行成功后将B的状态设置为已执行。

6.重新执行用例D,因其修复行为链(F->B)已执行完毕,则D应能执行成功,同时将D设置为已执行状态。

7.执行用例E。

8.执行用例F,因系统发现F已处于已执行状态,则跳过F不再执行,以避免不必要的重复执行。

由以上描述可知,本发明提供的一种基于银行系统自动化测试的业务异常修复方法,通过自主学习用户历史行为数据实现测试系统的自主适应,避免了人为编程对数据的干预,也解决了不同子系统间调用失败的问题;另一方面通过引入对修复行为链的评价模型加以辅助,优先使用更简单更常用更合理的修复行为链,使得测试实践更贴近并模拟实际应用情况。

从软件层面来说,本申请提供一种用于执行所述基于银行系统自动化测试的业务异常修复方法中全部或部分内容的基于银行系统自动化测试的业务异常修复装置的实施例,参见图6,所述基于银行系统自动化测试的业务异常修复装置具体包含有如下内容:

修复行为链集合确定模块1,根据自动化测试过程中的所述业务异常信息以及所述业务异常信息与修复行为链集合的对应关系确定修复行为链集合;所述修复行为链信息包括至少一个修复行为信息;

修复行为链筛选模块2,从所述修复行为链集合中筛选出其中一个修复行为链;

执行修复模块3,执行所述修复行为链,对业务异常信息进行修复;其中,所述修复行为链集合中的每个修复行为链基于多个用户的历史修复数据确定;所述历史修复数据包括历史业务异常信息以及对应的历史修复行为链。

在具体的实施例中,本申请提供一种基于银行系统自动化测试的业务异常修复装置,用于执行如下步骤包括:

S1:根据自动化测试过程中的所述业务异常信息以及所述业务异常信息与修复行为链集合的对应关系确定修复行为链集合;所述修复行为链信息包括至少一个修复行为信息;

具体的,自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率。在自动化测试的过程中,会由于某些原因导致测试用例中的业务逻辑无法正常执行,出现所述业务异常,这些业务异常信息会被记录到测试日志中。例如一个测试用例用来测试账户取款业务,因为输入测试用例的取款金额大于了账户总金额,导致该测试用例执行异常,记录的异常信息中的异常码为余额不足。根据该业务异常信息确定对应的修复行为链集合,所述修复行为链集合中至少包括一个针对该业务异常例如余额不足的修复行为链。在具体的实施例中,修复行为链是由至少一个修复行为组成的行为链。例如针对余额不足的修复行为链集合中包括了两条修复行为链。其中,修复行为链一为:1.将取款金额下降至总金额之下,2.执行取款业务操作,该修复行为链中包括了两个修复行为;修复行为链二为:1.补充账户总金额至取款金额之上,2.执行取款业务操作,该修复行为链中也包括了两个修复行为。修复行为链生成的基本逻辑是问题解决的时效要求及处理对象的不变性。业务错误通常会要求当天解决甚至即刻解决,极少情况会出现拖延。对于柜员代理的柜面交易出现异常时,通常会由同一柜员负责解决办理。对于用户更是只限于处理属于本人的业务。而最后一定是通过一笔与失败交易属同一业务但办理成功的交易实现最后修复的闭环。只需要找到该用户从交易出错到交易成功之间的一连串交易,即可视这一连串交易为修改该错误的修复行为链。在具体的实施例中,装置中的修复行为链集合生成模块,用于执行如下步骤包括:

S11:根据每个历史业务异常信息从所述历史修复数据中查找对应的所有历史修复行为链;

具体的,每个业务异常的修复行为链集合是基于对该业务异常的历史修复行为链的总结生成的,历史修复数据中包括了对业务异常的历史修复行为链。在具体的实施例中,所述历史修复数据是一个历史时间窗口中包括的所有修复数据,这些修复数据为实际业务操作中用户对业务异常所做出的修复行为数据。例如设置历史时间窗口的终点为当前时间点,窗口的起点为当前时间点减去24小时所对应的时间点,即该历史时间窗口的时长为24小时。

在具体的实施例中,装置的修复行为链查找单元,用于执行如下步骤包括:

S111:从历史业务异常信息中提取相应的特征信息,所述特征信息包括:业务名称,业务编号,业务运行时长,异常信息码;

S112:根据所述特征信息,在所述历史修复数据中查找所有与所述特征信息相对应的历史业务正常信息;

S113:根据每个所述历史业务正常信息中的行为链,生成相对应的所述历史业务异常的修复行为链。

具体的,获取设置的时间窗口内的历史修复数据,根据业务异常信息中的业务名称,业务代码及异常信息码等特征查找出对应的所有历史修复行为链,例如一个业务异常信息中业务名称为存款业务,业务代码为001,异常信息码为01对应的异常信息为密码错误,针对该业务异常信息查找到时间窗口为24小时内所有的历史修复数据中与存款业务出现密码错误相对应的历史修复行为链共20条。

S12:集合查找出的所有历史修复行为链,形成对应该业务异常信息的修复行为链集合。

具体的,将查找出的某一业务异常所对应的所有历史修复行为链集合在一起,形成修复行为链集合。可以理解,将所有的针对某一业务异常的修复行为链集合在一起可以采用多种方式,例如将所有针对存款密码错误的的修复行为链标记为1,或者存储在一个文件夹中,或者存储在一个数据库表中,形成修复行为链集合,便于后续的查询。

在具体的实施例中,装置的修复行为链集合更新模块,用于执行如下步骤包括:

S121:以异常发生时间点作为所述设定时间窗口的起点,以异常解决时间点作为所述设定时间窗口的终点,重新选取多个用户的历史修复数据;

具体的,当执行测试案例时出现执行异常,可以直接从修复行为链上择优即可,当该异常被修复执行之后,为了使得之后可以对该异常的修复行为链集合中包含对该异常的所有修复行为链,会以该异常产生时的时间点作为设定时间窗口的起点,解决的时间点作为终点,重新选取多个用户历史修复数据,所述用户为实际执行该业务的用户,例如存款业务的用户有银行柜台操作员,ATM机用户,手机银行用户等。

S122:基于重新选取的历史修复数据生成更新的修复行为链集合,并用更新的所述修复行为链集合替代原始的修复行为链集合,以更新所述修复行为链集合。

具体的,当重新选取了历史修复数据后,根据业务异常信息中的特征信息重新查找出新的历史修复数据中的所有修复行为链,集合为更新的修复行为链集合,替代原始的修复行为链集合。

S2:从所述修复行为链集合中筛选出其中一个修复行为链;

具体的,当测试过程中出现了业务执行异常,根据业务异常信息确定了相对应的修复行为链集合后,需要从修复行为链集合中筛选出一个修复行为链对异常进行修复。在具体的实施例中,为了获得最优的修复行为链,引入了对修复行为链的评价标准。根据修复行为链的复杂度和历史使用频率,生成所有修复行为链评分,其中所述修复行为链的复杂度包括修复行为链的长度和修复行为链的圈复杂度。例如一个修复行为链由2个修复行为组成,没有循环或者递归,则其复杂度得分可以视为80,另一个修复行为链由8个修复行为组成,也没有循环和递归,则其复杂度可以视为20,还有一修复行为链由6个修复行为组成,存在一个循环行为,则其复杂度可以视为35。修复行为链的复杂度越小说明修复步骤越简单,故其得分根据修复复杂度由大至小依次递増,历史使用频率说明其更通用或更合理,故其得分根据其出现次数由少至多依次递增。

总体评分公式为:S=S1*W1+S2*W2

S:总体得分,S1:修复行为链复杂度单项得分(单项评分规则自定,0<=S1<=100),S2:历史使用频率单项得分(单项评分规则自定,0<=S2<=100),W1:修复行为链复杂度单项权重值(权重值自定,0

S21:按照评价得分从大到小的顺序,对所述修复行为链集合中的每个修复行为链进行排序,得到修复行为链序列;

在具体的实施例中,例如4条修复行为链的评价得分分别为:第一条为36,第二条为114,第三条为72,第四条为51,则按照评价得分从大到小的顺序对修复行为链进行排序,得到修复行为链序列,即第二条,第三条,第四条,第一条。

S22:选取所述修复行为链序列中处于设定位置的修复行为链作为筛选出的所述修复行为链信息。

具体的,所述设定位置一般地处于序列的头部位置,例如序列的首位。在具体的实施例中,若修复行为链序列为1,2,3,4,5,则首先选择修复行为链1,若修复行为链1无法得到有效的修复效果,再选择修复行为链2,以此类推。

S3:执行所述修复行为链,对业务异常信息进行修复;其中,所述修复行为链集合中的每个修复行为链基于多个用户的历史修复数据确定;所述历史修复数据包括历史业务异常信息以及对应的历史修复行为链。

结合一具体场景,对本发明作进一步说明。

程序扫描到一笔发生于ATM机的活期取款交易发生了业务错误,其错误信息为账户余额不足,办理该交易的客户是A,发生时间是2000-01-01 10:00:01.994766。于是程序以客户A为条件继续搜索脱敏日志池,提取介于2000-01-01 10:00:01.994766至2000-01-02 00:00:00.000000间关于A的所有交易记录,经搜索后发生在A于2000-01-01 10:10:01.994766时于ATM机完成一笔同等发生额活期取款交易,期间A还发生了一笔小额贷款协议签订交易及系统自动发放了一笔小额贷款给A,程序即判定活期取款失败-小额贷款协议签订成功-系统放款成功-活期取款成功构成一条修复行为链,其中修复交易为小额贷款协议签订与系统放款,判断该修复行为链的复杂度为2,同时在测试用例池内也找到了小额贷款协议签订与系统放款的测试用例。程序搜索修复行为链集合找到当前存量活期取款余额不足的修复行为链集,假设搜索出两条修复行为链(活期转账,T+0理财产品赎回),两条修复行为链的长度都是1,出现次数分别为20次与10次。于是程序判断修复行为链(小额贷款协议签订-系统放款)为首次出现的新修复行为链。假设修复行为链的复杂度单项评分采用线性策略(1:100,2:90,3:80..........10或以上:10),权重占比40%,修复行为链的历史使用频率单项评分采用排名评分策略(第一名:100,第二名:90,第三名:80........第十名或以后10),权重占比60%。则目前已有的三个修复行为链的评分分别为(活期转账:100*40%+100*60%=100,T+0理财产品赎回:100*40%+90*60%=94,小额贷款协议签订-系统放款:90*40%+80*60%=84)。因为当前的修复行为链排名顺序为活期转账,T+0理财产品赎回,小额贷款协议签订-系统放款。最后将三条修复行为链的最新结果更新至修复行为链集合。

在具体的测试过程中,假设测试用例池内存在以下六个测试用例:A,B,C,D,E,F

用例执行的编排顺序为A->B->C->D->E->F。

各功能的修复行为链如下表所示:

测试启动后,按照A->B->C->D->E->F的顺序开始执行测试用例。假设A,B,C都成功执行,在执行到D时出现异常。此时系统执行以下步骤:

1.提取D的修复行为链(F->B)。

2.执行用例F,当F同样执行异常时则需要先递归对F进行修复,提取F的修复行为链(C)。

3.执行F的修复步骤用例C,C执行成功后将C的状态设置为已执行,接着重新执行F。

4.执行用例F成功后,将F的状态设置为已执行。

5.执行用例B,执行成功后将B的状态设置为已执行。

6.重新执行用例D,因其修复行为链(F->B)已执行完毕,则D应能执行成功,同时将D设置为已执行状态。

7.执行用例E。

8.执行用例F,因系统发现F已处于已执行状态,则跳过F不再执行,以避免不必要的重复执行。

由以上描述可知,本发明提供的一种基于银行系统自动化测试的业务异常修复装置,用于执行如下步骤:通过自主学习用户历史行为数据实现测试系统的自主适应,避免了人为编程对数据的干预,也解决了不同子系统间调用失败的问题;另一方面通过引入对修复行为链的评价模型加以辅助,优先使用更简单更常用更合理的修复行为链,使得测试实践更贴近并模拟实际应用情况。

从硬件层面来说,本申请提供一种用于实现基于银行系统自动化测试的业务异常修复方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:

图7为本申请实施例的电子设备9600的系统构成的示意框图。如图7所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图7是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

在一实施例中,基于银行系统自动化测试的业务异常修复功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:

S1:根据自动化测试过程中的所述业务异常信息以及所述业务异常信息与修复行为链集合的对应关系确定修复行为链集合;所述修复行为链信息包括至少一个修复行为信息;

S2:从所述修复行为链集合中筛选出其中一个修复行为链;

S3:执行所述修复行为链,对业务异常信息进行修复;其中,所述修复行为链集合中的每个修复行为链基于多个用户的历史修复数据确定;所述历史修复数据包括历史业务异常信息以及对应的历史修复行为链。

从上述描述可知,本申请实施例提供的电子设备,通过自主学习用户历史行为数据实现测试系统的自主适应,避免了人为编程对数据的干预,也解决了不同子系统间调用失败的问题;另一方面通过引入对修复行为链的评价模型加以辅助,优先使用更简单更常用更合理的修复行为链,使得测试实践更贴近并模拟实际应用情况。

在另一个实施方式中,基于银行系统自动化测试的业务异常修复装置可以与中央处理器9100分开配置,例如可以基于银行系统自动化测试的业务异常修复装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现基于银行系统自动化测试的业务异常修复功能。

如图7所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图7中所示的所有部件;此外,电子设备9600还可以包括图7中没有示出的部件,可以参考现有技术。

如图7所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。

其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。

输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。

该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。

存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。

本申请的实施例还提供能够实现上述实施例中的基于银行系统自动化测试的业务异常修复方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的基于银行系统自动化测试的业务异常修复方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

S1:根据自动化测试过程中的所述业务异常信息以及所述业务异常信息与修复行为链集合的对应关系确定修复行为链集合;所述修复行为链信息包括至少一个修复行为信息;

S2:从所述修复行为链集合中筛选出其中一个修复行为链;

S3:执行所述修复行为链,对业务异常信息进行修复;其中,所述修复行为链集合中的每个修复行为链基于多个用户的历史修复数据确定;所述历史修复数据包括历史业务异常信息以及对应的历史修复行为链。

从上述描述可知,本申请实施例提供的计算机可读存储介质,通过自主学习用户历史行为数据实现测试系统的自主适应,避免了人为编程对数据的干预,也解决了不同子系统间调用失败的问题;另一方面通过引入对修复行为链的评价模型加以辅助,优先使用更简单更常用更合理的修复行为链,使得测试实践更贴近并模拟实际应用情况。

本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种基于银行系统自动化测试的业务异常修复方法及装置
  • 异常业务检测装置、异常业务检测方法及异常业务检测程序
技术分类

06120113023162