一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试方法、装置、设备、介质和程序产品与流程

2022-04-30 17:15:14 来源:中国专利 TAG:


1.本公开涉及信息安全领域或金融领域,更具体地涉及一种测试方法、装置、设备、介质和程序产品。


背景技术:

2.对于提供金融服务的机构,如银行而言,所提供的产品具有较高的安全性和稳定性等要求。以支付产品为例,每天处理的交易数量极大,在大数据量的业务处理需求情况下,若对支付产品的任一功能进行更新,在上线前通常都会进行测试验证,以确保财产安全和用户体验。
3.通常由技术人员告知测试人员具体的更新内容,由测试人员根据已知的更新内容的了解,对支付产品进行针对性测试验证。
4.在实现本公开构思的过程中,发明人发现相关技术中存在如下问题:若技术人员遗漏了更新内容没有告知,或更新后影响到其他功能,则可能由于未全面进行测试验证,导致没有及时发现问题,在产品上线后发生故障。


技术实现要素:

5.鉴于上述问题,本公开提供了一种能够减少遗漏测试的测试方法、装置、设备、介质和程序产品。
6.本公开实施例的一个方面提供了一种测试方法,包括:确定待测试对象,其中,所述待测试对象用于处理交易请求;获取所述待测试对象所支持的n种交易类型,其中,所述交易类型包括所述交易请求的类型,n为大于或等于1的整数;基于m个第一测试案例获得测试交易请求,其中,所述第一测试案例包括根据所述待测试对象所支持的每种所述交易类型的至少一种交易功能获得的案例,m为大于或等于1的整数;利用所述测试交易请求对所述待测试对象进行测试。
7.根据本公开的实施例,所述利用所述测试交易请求对所述待测试对象进行测试包括:在预设时间段内划分s个时间区间,其中,s为大于或等于1的整数;在所述s个时间区间中的每个时间区间内,对所述待测试对象进行测试。
8.根据本公开的实施例,在i个预设时间段进行测试,每个所述预设时间段内按照相同规则划分s个时间区间,i为大于或等于2的整数,所述方法还包括:获取每个所述预设时间段内第i个时间区间的第一测试结果,其中,i为大于或等于1的整数,i小于或等于s;根据i个所述第一测试结果,执行至少一条校验规则,其中,i个所述第一测试结果一一对应于i个所述预设时间段内的第i个时间区间;其中,所述第一测试结果与属于第一交易类型的第一测试案例对应,所述第一交易类型为n种所述交易类型中的任一种交易类型。
9.根据本公开的实施例,所述根据i个所述第一测试结果,执行至少一条校验规则包括:获取i个所述第一测试结果中的失败次数,以及每次失败的报错信息;根据所述失败次数和/或所述报错信息,执行所述至少一条校验规则。
10.根据本公开的实施例,所述至少一条校验规则包括至少一条第一校验规则,在第i 1个预设时间段进行测试,所述第i 1个预设时间段内划分所述s个时间区间,所述方法还包括:获取所述第i 1个预设时间段内第i个时间区间的第二测试结果,其中,所述第二测试结果与所述第一测试案例对应;根据所述第二测试结果和i个所述第一测试结果,执行所述至少一条第一校验规则。
11.根据本公开的实施例,所述根据所述第二测试结果和i个所述第一测试结果,执行至少一条第一校验规则包括:在所述第二测试结果失败的情况下,确定所述第二测试结果的第一报错信息;确定所述第一报错信息在i个所述第一测试结果中报错信息的出现次数;获得所述出现次数与i个所述第一测试结果中的失败次数的比值;根据所述比值,执行至少一条第一校验规则。
12.根据本公开的实施例,所述获得所述出现次数与失败次数的比值包括:在所述失败次数符合预设条件的情况下,获得所述比值。
13.根据本公开的实施例,还包括:在所述比值与所述至少一条第一校验规则中任一条校验规则相匹配的情况下,执行该条校验规则对应的第一通知规则。
14.根据本公开的实施例,包括:在所述第二测试结果失败的情况下,令所述失败次数的值加1后,执行所述至少一条第一校验规则。
15.根据本公开的实施例,所述方法还包括:在令所述失败次数的值加1后,与所述至少一条校验规则中任一条校验规则相匹配的情况下,执行该条校验规则对应的第二通知规则。
16.根据本公开的实施例,还包括:获取所述待测试对象的更新内容;根据所述更新内容构建至少一个第二测试案例,以对所述待测试对象进行测试。
17.根据本公开的实施例,还包括:根据所述n种交易类型一一对应地设置n种测试任务;将所述n种测试任务中每种测试任务与至少一个测试脚本相关联,其中,每个所述测试脚本包括至少一个第一测试案例的参数;其中,基于m个第一测试案例获得测试交易请求包括:执行所述n种测试任务,以调用执行每种测试任务关联的至少一个测试脚本。
18.本公开实施例的另一方面提供了一种测试装置,包括:对象确定模块,用于确定待测试对象,其中,所述待测试对象用于处理交易请求;类型获取模块,用于获取所述待测试对象所支持的n种交易类型,其中,所述交易类型包括所述交易请求的类型,n为大于或等于1的整数;请求获取模块,用于基于m个第一测试案例获得测试交易请求,其中,所述第一测试案例包括根据所述待测试对象所支持的每种所述交易类型的至少一种交易功能获得的案例,m为大于或等于1的整数;对象测试模块,用于利用所述测试交易请求对所述待测试对象进行测试。
19.本公开实施例的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行如上所述的方法。
20.本公开实施例的另一方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。
21.本公开实施例的另一方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
22.上述一个或多个实施例具有如下有益效果:考虑每种交易类型的至少一个交易功能,构建测试交易功能对应的第一测试案例,可以令测试人员对未知的更新内容或潜在问题进行覆盖测试,以碰撞验证的方式,通过测试交易请求对待测试对象进行测试,碰撞出可能存在的产品问题,及时进行处理,避免因测试不全面,而上线后出现故障的情况发生。
附图说明
23.通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
24.图1示意性示出了根据本公开实施例的测试方法的应用场景图;
25.图2示意性示出了根据本公开实施例的测试方法的流程图;
26.图3示意性示出了根据本公开的另一实施例的测试方法的流程图;
27.图4示意性示出了根据本公开实施例的对待测试对象进行测试的流程图;
28.图5示意性示出了根据本公开的另一实施例的测试方法的流程图;
29.图6示意性示出了根据本公开的另一实施例的测试方法的流程图;
30.图7示意性示出了根据本公开实施例的执行至少一条校验规则的流程图;
31.图8示意性示出了根据本公开的另一实施例的执行至少一条第一校验规则的流程图;
32.图9示意性示出了根据本公开的另一实施例的执行至少一条第一校验规则的流程图;
33.图10示意性示出了根据本公开实施例的测试装置的结构框图;
34.图11示意性示出了根据本公开的另一实施例的测试装置的结构框图;
35.图12示意性示出了根据本公开实施例的适于实现测试方法的电子设备的方框图。
具体实施方式
36.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
37.以快捷支付产品为例,随着互联网金融迅猛发展,银行与不同第三方机构的合作日益紧密,特别是针对众多支付场景开展了紧密合作,为客户提供便捷安全的支付使用体验。第三方快捷支付产品是用于支付机构与发卡行之间开展支付场景设计使用的基础支付产品,基于快捷支付产品的交易一般维持在日均交易量上亿笔的数量。超高交易量意味着其对系统的稳定性要求标准极高。
38.在测试方面,现有的测试验证均是基于对已知更新内容了解,再开展测试。若存在组织机制沟通等方面的因素,导致部分系统升级改造内容存在遗漏通知测试人员。或者,由于某一功能的更新,而影响到该产品的其他功能不能正常使用。形成部分更新内容或隐藏问题没有经过验证测试出来,就投入生产使用的情况。对于拥有巨大交易量且涉及账务处理的交易而言,极易引起严重生产安全事件,引发大量客户投诉等舆论事件。
39.本公开的实施例提供了一种测试方法。该方法包括:确定待测试对象,其中,待测试对象用于处理交易请求。获取待测试对象所支持的n种交易类型,其中,交易类型包括交易请求的类型,n为大于或等于1的整数。基于m个第一测试案例获得测试交易请求,其中,第一测试案例包括根据待测试对象所支持的每种交易类型的至少一种交易功能获得的案例,m为大于或等于1的整数。利用测试交易请求对待测试对象进行测试。
40.需要说明的,待检测对象不仅限于支付产品,还可以用于提供金融业务的银行、保险、证券等金融机构中,或与金融机构合作的第三方机构中,所提供的能够进行交易处理的其他产品。
41.根据本公开的实施例,考虑每种交易类型的至少一个交易功能,构建测试交易功能对应的第一测试案例,可以令测试人员对未知的更新内容或潜在问题进行覆盖测试。以碰撞验证的方式,通过测试交易请求对待测试对象进行测试,碰撞出可能存在的产品问题,及时进行处理,避免因测试不全面,而上线后出现故障的情况发生。。
42.需要说明的是,本公开实施例提供的测试方法、装置、设备、介质和程序产品可用于金融领域的产品测试方面,也可用于除金融领域之外的任意领域,本公开实施例提供的测试方法、装置、设备、介质和程序产品的应用领域不做限定。
43.图1示意性示出了根据本公开实施例的测试方法的应用场景图。
44.如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103、网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
45.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
46.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
47.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
48.需要说明的是,本公开实施例所提供的测试方法一般可以由服务器105执行。相应地,本公开实施例所提供的测试装置一般可以设置于服务器105中。本公开实施例所提供的测试方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的测试装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
49.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
50.以下将基于图1描述的场景,通过图2~图9对本公开实施例的测试方法进行详细描述。
51.图2示意性示出了根据本公开实施例的测试方法的流程图。
52.如图2所示,该实施例的测试方法包括操作s210~操作s240。
53.在操作s210,确定待测试对象,其中,待测试对象用于处理交易请求。
54.待测试对象可包括进行了更新的产品或系统。例如通过技术人员输出的更新日志确定具体的支付产品。
55.在操作s220,获取待测试对象所支持的n种交易类型,其中,交易类型包括交易请求的类型,n为大于或等于1的整数。
56.交易类型例如包括支付、退还、还款、转账或借贷等类型(仅为示例),交易请求包括用户用于办理各类型业务而发出的请求,可根据业务类型确定交易请求的类型,例如支付业务、退还业务、还款业务、转账业务或借贷业务等业务。
57.在操作s230,基于m个第一测试案例获得测试交易请求,其中,第一测试案例包括根据待测试对象所支持的每种交易类型的至少一种交易功能获得的案例,m为大于或等于1的整数。
58.第一测试案例可以根据交易类型、交易功能、交易场景和测试参数进行构建,例如针对支付类型中的限额功能,在大额交易场景中,设置不同金额的参数,即可对应构建出支付类型中的限额功能的测试案例。
59.m个第一测试案例可以根据生产环境中经常出现的问题进行构建,可以根据待测试对象的主要交易功能进行构建,还可以根据待测试对象所有交易类型中每个交易功能进行构建。其作用在于,通过较为全面的覆盖交易功能,模拟生产环境中可能出现的各个业务需求,发现可能存在的产品问题,从而可以及时处理。
60.在操作s240,利用测试交易请求对待测试对象进行测试。
61.例如针对快捷支付产品,可以执行支付脚本来发出测试交易请求,由快捷支付产品对测试交易请求进行处理,并输出交易结果。其中,支付脚本中包括根据交易类型、交易功能、交易场景和测试参数进行构建的案例参数。
62.根据本公开的实施例,考虑每种交易类型的至少一个交易功能,构建测试交易功能对应的第一测试案例,可以令测试人员对未知的更新内容进行覆盖测试,以碰撞验证的方式,通过测试交易请求对待测试对象进行测试,碰撞出可能存在的产品问题,及时进行处理,避免上线后因测试不全面,而出现的交易处理故障。
63.图3示意性示出了根据本公开的另一实施例的测试方法的流程图。
64.该实施例的测试方法可以包括操作s210~操作s240,如图3所示,还可以包括操作s310~操作s320。
65.在操作s310,获取待测试对象的更新内容。
66.在操作s320,根据更新内容构建至少一个第二测试案例,以对待测试对象进行测试。
67.更新内容可以包括详细的更新信息,例如对快捷支付产品所支持的支付类型的币种功能进行了更新,使之能够处理更多法币币种。因此,可以针对性的构建测试支付类型的币种功能的第二测试案例,例如第二测试案例的参数包括新增的币种。
68.根据本公开的实施例,通过第二测试案例可以令测试过程更有针对性,能够快速对技术人员进行反馈,若存在问题则令技术人员进行处理。另外,第一测试案例可以包括第二测试案例,从而可以实现全面测试的效果。第一测试案例也可以不包括第二测试案例,避
免测试内容重复,则第二测试案例的作用为针对性的功能测试,第一测试案例的作用为碰撞出可能存在的问题。
69.图4示意性示出了根据本公开实施例的操作s240中对待测试对象进行测试的流程图。
70.如图4所示,操作s240中利用测试交易请求对待测试对象进行测试可以包括操作s410~操作s420。
71.在操作s410,在预设时间段内划分s个时间区间,其中,s为大于或等于1的整数。
72.根据本公开的实施例,该预设时间段可以包括1天之内的24小时(仅为示例)。时间区间可以为0.5小时区间。则预设时间段内可以从零点按照0.5小时依次进行划分。
73.在操作s420,在s个时间区间中的每个时间区间内,对待测试对象进行测试。
74.示例性地,可以每0.5小时根据m个第一测试案例对待测试对象测试一次。
75.根据本公开的实施例,一方面,通过m个第一测试案例,从交易类型和交易功能的角度,针对不同的交易场景(如借记卡、贷记卡、第三方交易机构等不同的场景),进行较全面的覆盖测试。另一方面,考虑到不同的时间区间,所处理的交易数量不同,或待检测对象在不同时间区间具有不同的运维手段,因此从时间的维度,来对待测试对象进行较全面的覆盖测试。
76.图5示意性示出了根据本公开的另一实施例的测试方法的流程图。
77.如图5所示,该实施例的测试方法包括操作s510~操作s530。其中,基于m个第一测试案例获得测试交易请求包括操作s530。
78.在操作s510,根据n种交易类型一一对应地设置n种测试任务。
79.每种测试任务可以包括任务周期的开始时间、结束时间,以及任务的周期频次。其可以根据s个时间区间进行灵活设置。表1示意性示出了根据本公开实施例的测试任务内容。
80.表1
[0081][0082]
在操作s520,将n种测试任务中每种测试任务与至少一个测试脚本相关联,其中,每个测试脚本包括至少一个第一测试案例的参数。
[0083]
如表1,任务1与支付脚本-信用卡、支付脚本-借记卡相关联。每个第一测试案例的参数可以包括交易类型、交易功能、交易场景和具体的交易参数(即上述测试参数)。
[0084]
在操作s530,执行n种测试任务,以调用执行每种测试任务关联的至少一个测试脚本。
[0085]
通过执行每个测试脚本,来生成对应的测试交易请求,从而令待检测对象处理测
试交易请求,完成测试过程。
[0086]
根据本公开的实施例,按照测试任务关联测试脚本,每个测试脚本对应测试案例的维度,可以实现测试过程中的灵活管理,尽可能实现全面测试。
[0087]
图6示意性示出了根据本公开的另一实施例的测试方法的流程图。
[0088]
该实施例的测试方法包括操作s410~操作s420,如图6所示,还包括操作s610~操作s620。其中,在i个预设时间段进行测试,每个预设时间段内按照相同规则划分s个时间区间,i为大于或等于2的整数。
[0089]
在操作s610,获取每个预设时间段内第i个时间区间的第一测试结果,其中,i为大于或等于1的整数,i小于或等于s。
[0090]
其中,第一测试结果与属于第一交易类型的第一测试案例对应,第一交易类型为n种交易类型中的任一种交易类型,第i个时间区间可以是s个时间区间中的任一个时间区间。
[0091]
一种可选的实施方式是,以交易类型作为获取粒度,则第一测试结果第一交易类型下所有测试案例的交易结果。例如每个测试案例对应一个测试交易请求,第一测试结果包括待测试对象处理属于第一交易类型的所有测试交易请求,输出的至少一个交易结果。
[0092]
另一种可选的实施方式是,以每笔交易作为获取粒度。这里的每笔交易对应一个第一测试案例。第一测试结果可以是第一交易类型下任一个测试案例的交易结果。
[0093]
以每笔交易作为获取粒度举例说明。例如i的值为5,以5天的第一测试结果为根据进行测试分析。每天内可以按照每0.5小时的规则,从零点开始划分时间区间。以还款类型为例,获得每天8点至8点30分之间的,对还款类型的一个案例的第一测试结果。例如还款类型对应有10个测试案例(仅为示例),则会获得10个测试交易请求形成10笔交易,第一测试结果可以为该10个测试案例中任一个案例对应的交易结果。
[0094]
在操作s620,根据i个第一测试结果,执行至少一条校验规则,其中,i个第一测试结果一一对应于i个预设时间段内的第i个时间区间。
[0095]
至少一条校验规则可以从不同维度,从横向角度对i个第一测试结果进行校验。不同维度可以是每条校验规则具有特定的判断条件,若满足该判断条件,则作为本次测试是否通过的根据之一。
[0096]
横向角度例如是指5天中每天的8点至8点30分之间的第一测试结果横向进行对比。由于在每天的相同区间,待测试对象所处的场景较为类似,例如处理的交易数量相差不大,以及运营环境可相同,可以确定出每个时间区间是否具有潜在问题。
[0097]
在另一些实施例中,可以通过纵向角度进行测试分析。纵向角度是指在一个预设时间段内,对s个时间区间中各个时间区间的第一测试结果进行分析。
[0098]
例如在1天之内,各个时间区间的处理交易数量不同。另外,在不同的时间点,可能会具有不同的运营手段,例如在晚12点执行更新待测试对象的时间的操作,若更新时间后,可能会导致交易请求的时间与待测试对象的时间误差较大,出现如请求超时等情况,使得待测试对象无法成功处理。
[0099]
对于同一交易类型,通过s个时间区间的s个第一测试结果,通过纵向角度可以确定出在同一预设时间段内,出现交易失败次数较多的区间,针对性的对该区间的相关操作和参数及时排查处理。
[0100]
在一些实施例中,可以同时考虑纵向角度和横向角度,提高问题排查的准确性。例如在第一天的8点至8点30分内出现最多的交易失败次数,而在其他预设时间段该区间从未出现过交易失败,则可能是网络问题、硬件问题等因素造成的,而不是待检测对象本身的缺陷。
[0101]
需要说明的是,无论是以每笔交易为获取粒度得到第一测试结果,还是以交易类型为获取粒度得到第一测试结果,皆可以实现本公开实施例提供的测试方法。例如还款类型对应有10个测试案例,以交易类型为获取粒度时,第一测试结果则可以包括10个交易结果。而无论第一测试结果包括几个交易结果,不会影响交易结果失败次数,以及每次失败的报错信息的统计。
[0102]
下面以每笔交易为获取粒度,从横向角度进行测试分析为例,通过图7进一步详细介绍。
[0103]
图7示意性示出了根据本公开实施例操作s620中执行至少一条校验规则的流程图。
[0104]
如图7所示,操作s620中根据i个第一测试结果,执行至少一条校验规则包括操作s710~操作s720。
[0105]
在操作s710,获取i个第一测试结果中的失败次数,以及每次失败的报错信息。
[0106]
根据本公开的实施例,还款类型中的第一测试案例a可以为:通过第三方机构甲机构的手机应用,使用借记卡还款100美元。在i为5的情况下,从每天的第i个时间区间获取第一测试案例a的第一测试结果,即第一测试案例a的交易结果。其中,可以包括成功或失败两种交易结果,在失败的情况下,待检测对象可以返回报错信息。例如5个第一测试案例a的交易结果中,3个失败,2个成功。则失败次数为3。
[0107]
在操作s720,根据失败次数和/或报错信息,执行至少一条校验规则。
[0108]
根据本公开的实施例,至少一条校验规则可以包括至少一条第二校验规则,其作用在于,以i个预设时间段内的第一测试结果为基数进行测试分析。
[0109]
示例性地,获得失败次数与预设次数的比较结果,来判断是否匹配第二校验规则。和/或获得报错信息中某个报错信息出现的次数与失败次数的比较结果,来判断是否匹配第二校验规则。例如预设次数为4,失败次数为3,则可以匹配未超过预设次数,不进行排查的第二校验规则。
[0110]
根据本公开的实施例,获取到失败次数,并使用校验规则进行校验,可以实现测试情况的自动监控。例如在通过执行自动化脚本实现测试任务运转的过程中,若失败次数或报错信息匹配到某条校验规则,则可能是碰撞到了潜在问题,可以及时提醒相关人员,节省了人工监控的成本。
[0111]
图8示意性示出了根据本公开的另一实施例执行至少一条第一校验规则的流程图。
[0112]
上述至少一条校验规则还可以包括至少一条第一校验规则,在第i 1个预设时间段进行测试,第i 1个预设时间段内划分s个时间区间。该实施例的测试方法,在包括操作s610~操作s620的基础上,如图8所示,还可包括操作s810~操作s820。
[0113]
在操作s810,获取第i 1个预设时间段内第i个时间区间的第二测试结果,其中,第二测试结果与第一测试案例对应。
[0114]
在操作s820,根据第二测试结果和i个第一测试结果,执行至少一条第一校验规则。
[0115]
根据本公开的实施例,将i个第一测试结果作为对照,来判断第二测试结果的情况是否为异常情况,以便采用针对性的处理手段。
[0116]
表2示意性示出了本公开实施例的至少一条第一校验规则,如下所示。
[0117]
表2
[0118][0119]
参照表2,可以通过在其中配置不同的参数,实现对第i 1预设时间段内第i个时间区间中测试情况的监控。“区间名称”列可以配置具体时间区间,“安全区间内容”列可以配置具体的测试结果获取规则。“第一校验规则”列可以配置具体的校验规则。“i”列、“q”列、“o”列,可以分别配置i、o、q的具体取值,其中,“q”列可以为空。
[0120]
例如,测试任务从xx年8月1日(仅为示例)开始执行,第i 1个预设时间段为xx年8月4日,则i可以设置为3。如表2所示,时间区间为6:30~7:00,安全区间内容中“当前交易类型o的当前区间第二测试结果”即为上述8月4日6:30~7:00,交易类型1001(如支付类型)的某个第一测试案例的交易结果。安全区间内容中“与过去i天同一区间的第一测试结果一起”即为获取到上述8月1日至8月3日中相同交易和区间的交易结果。
[0121]
根据本公开的实施例,在第二测试结果失败的情况下,令失败次数的值加1后,执行至少一条第一校验规则。
[0122]
参照表2,在“i 1天内出现q次失败,q=0”、“i 1天内至少出现q次失败,q<i 1”、“i 1天内出现q次失败,q=i 1”这三条校验规则中,基数为i 1。即用于监控4天中出现了多少次失败。例如,8月1日至8月3日中6:30~7:00,第一测试案例a共执行3次,失败次数为2。若8月4日6:30~7:00,第一测试案例a执行失败,则失败次数的值加1为3次,基数为4。
[0123]
可选地,表2中“q”列可以为空,若获取到失败次数的值加1为3次,则给q赋值为3。然后依次执行“出现q次失败,q=0”、“至少出现q次失败,q<i 1”、“出现q次失败,q=i 1”进行判断。
[0124]
可选地,表2中“q”列可以预先定义。以“至少出现q次失败,q<i 1”为例,若i为5,则基数i 1为6。可以预先定义q的值为5。若6天内共出现4次失败,则不会匹配该条校验规则,因为没有达到至少出现5次失败的条件。这种情况下,“q<i 1”可以依然执行,其作用在于,若预先定义q的值为7,但是最大次数为6,可及时检测出该条校验规则失效。
[0125]
图9示意性示出了根据本公开的另一实施例的操作s820中执行至少一条第一校验规则的流程图。
[0126]
如图9所示,操作s820中根据第二测试结果和i个第一测试结果,执行至少一条第一校验规则,可以包括操作s910~操作s940。
[0127]
在操作s910,在第二测试结果失败的情况下,确定第二测试结果的第一报错信息。
[0128]
例如,上述第一测试案例a在8月4日(即第i 1个预设时间段)的6:30~7:00的交易结果为失败,报错原因是币种不支持(即第一报错信息)。
[0129]
在操作s920,确定第一报错信息在i个第一测试结果中报错信息的出现次数。
[0130]
在操作s930,获得出现次数与i个第一测试结果中的失败次数的比值。
[0131]
表3示意性示出了本公开一些实施例中的i个第一测试结果和第二测试结果,如下所示。
[0132]
表3
[0133]
预设时间段时间区间交易结果报错原因8月1日6:30~7:00成功无8月2日6:30~7:00失败网络错误8月3日6:30~7:00失败币种不支持8月4日6:30~7:00失败币种不支持
[0134]
参照表3,在过去3天中,出现2次失败的交易结果,以及对应的报错原因(即报错信息)。“币种不支持”在过去3天中的报错信息中出现1次。可见,失败次数为2,出现次数为1,则比值为50%。
[0135]
根据本公开的实施例,操作s930中可以先确定失败次数是否符合预设条件,在失败次数符合预设条件的情况下,获得比值。参照图2,例如在校验占比的规则中,预设q的值为3,则校验规则分别为“在过去i天的失败次数中至少出现q次失败,且当前报错原因在过去i天的失败次数中占比大于等于50%”、“在过去i天的失败次数中至少出现q次失败,且当前报错原因在过去i天的失败次数中占比小于50%,大于0”、“在过去i天的失败次数中至少出现q次失败,且当前报错原因在过去i天的失败次数中占比为0”。若i个第一测试结果如表3中出现2次失败,则不匹配任一条校验规则。
[0136]
在操作s940,根据比值,执行至少一条第一校验规则。
[0137]
参照表2,在比值为50%的情况下,可以执行“当前报错原因在过去i天的失败次数中占比大于等于50%”、“当前报错原因在过去i天的失败次数中占比小于50%,大于0”、“当前报错原因在过去i天的失败次数中占比为0”这3条校验规则。
[0138]
以“当前报错原因在过去i天的失败次数中占比为0”这条校验规则为例,若8月1日至8月3日皆成功,则当前报错原因在过去i天的失败次数中占比为0。
[0139]
根据本公开的实施例,在第二测试结果为失败的情况下,将第一报错信息作为监控指标,来分析在i个预设时间段内该指标是否匹配某条第一校验规则。从而确定出在第i 1个预设时间段出现第一报错信息后应该如何进行处理,能够实现灵活、准确、多维度的监控效果。
[0140]
表4示意性示出了本公开一些实施例中的i个第一测试结果和第二测试结果,如下所示。
[0141]
表4
[0142][0143]
参照图2,多条校验规则分别从失败次数和具体报错原因占比两个维度来进行配置。如图4中,其可以匹配“i 1天内出现q次失败,q=i 1”,以及“当前报错原因在过去i天的失败次数中占比为0”。结合失败次数的校验规则,避免因当前报错原因在过去i天的失败次数中占比为0,而不进行排查,导致可能忽略了潜在问题。
[0144]
根据本公开的实施例,在上述比值与至少一条第一校验规则中任一条校验规则相匹配的情况下,执行该条校验规则对应的第一通知规则。或,在令失败次数的值加1后,与至少一条第一校验规则中任一条校验规则相匹配的情况下,执行该条校验规则对应的第二通知规则。
[0145]
表5示意性示出了本公开一些实施例的通知规则的内容,如下所不。
[0146]
表5
[0147][0148]
参照图4,可以为每条校验规则配置对应的通知规则(包括第一通知规则或第二通知规则)。通知规则中可以包括联系人、通知方式、通知地址和关注级别。在执行对应的通知规则时,可以按照通知方式调用对应的通知接口,按照通知地址将关注级别、校验规则等信息发送到联系人。
[0149]
根据本公开的实施例,实现了针对交易结果进行自动化留痕和自动化通知,并以每笔交易为维度形成测试周期内的动态安全区间,能够自动通知给联系人,提升测试问题排查的准确性和高效性。
[0150]
需要说明的是,表2和表5中的配置内容仅为示例,可以根据实际情况进行灵活配置,本公开不进行限制。
[0151]
基于上述测试方法,本公开还提供了一种测试装置。以下将结合图10和图11对该装置进行详细描述。
[0152]
图10示意性示出了根据本公开实施例的测试装置1000的结构框图。
[0153]
如图10所示,该实施例的测试装置1000包括对象确定模块1010、类型获取模块1020、请求获取模块1030和对象测试模块1040。
[0154]
对象确定模块1010可以执行操作s210,用于确定待测试对象,其中,待测试对象用于处理交易请求。
[0155]
类型获取模块1020可以执行操作s220,用于获取待测试对象所支持的n种交易类型,其中,交易类型包括交易请求的类型,n为大于或等于1的整数。
[0156]
请求获取模块1030可以执行操作s230,用于基于m个第一测试案例获得测试交易请求,其中,第一测试案例包括根据待测试对象所支持的每种交易类型的至少一种交易功能获得的案例,m为大于或等于1的整数。
[0157]
对象测试模块1040可以执行操作s240,用于利用测试交易请求对待测试对象进行测试。
[0158]
对象测试模块1040可以执行操作s410~操作s420、操作s610~操作s620、操作s710~操作s720、操作s810~操作s820和操作s910~操作s940,在此不做赘述。
[0159]
测试装置1000还可以包括针对性测试模块,针对性测试模块可以用于执行操作s310~操作s320,在此不做赘述。
[0160]
测试装置1000还可以包括脚本模块,脚本模块用于执行操作s510~操作s520,在此不做赘述。
[0161]
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
[0162]
图11示意性示出了根据本公开的另一实施例的测试装置1100的结构框图。
[0163]
如图11所示,测试装置1100可以包括脚本维护模块1110、运行模块1120、通知模块1130、参数模块1140、信息存储模块1150和动态安全区间模块1160。
[0164]
脚本维护模块1110用于测试人员根据交易、设计和编制用于需要进行碰撞验证的自动化测试脚本。脚本编制完成后,信息存储在信息存储模块1150。
[0165]
运行模块1120可以与测试装置1100中结合,执行图2~图9中的各个操作。运行模块1120根据参数模块1140中设置的任务的信息,按周期进行自动化脚本的调度。所述参数模块1140设置的任务信息,包括任务周期的开始时间、结束时间,以及任务的周期频次,和对应的任务脚本。待脚本执行结束后,将交易执行信息存储在信息存储模块1150中,同时将交易信息发送动态安全区间模块1160,并根据动态安全区间模块1160的应答信息,调用通知模块1130并将信息存储在信息存储模块1150中。
[0166]
通知模块1130用于在运行模块1120执行结束后,接收运行模块1120发送的交易信息并根据信息存储模块1150中存储的参数模块1140维护的通知信息,选择对应通知方式,将执行结果信息通知给最优的相关人员。
[0167]
参数模块1140用于维护任务执行的脚本、周期信息以及是否启用动态安全区间等,维护完成后将维护结果发至信息存储模块1150。
[0168]
信息存储模块1150用于存储参数模块1140维护的参数信息,存储脚本维护模块1110中存储的脚本信息,存储运行模块1120执行的交易信息以及存储动态安全区间模块1160存储的动态安全区间信息,包括但不限于交易类型、不同安全区间命中后对应联系人及通知方式、以及校验规则。
[0169]
动态安全区间模块1160,用于维护校验规则则、交易类型以及命中不同校验规则之后的通知方式和联系人。
[0170]
脚本维护模块1110可以包括脚本基础信息维护单元、脚本配置单元、脚本发送单元。其中:脚本基础信息维护单元用于维护脚本的基础信息,包括但不限于所用到的脚本的基础参数,例如测试卡数据、测试金额等。脚本配置单元用于测试人员根据测试案例编制对应的自动化脚本。脚本发送单元测试人员编制自动化脚本后,通过该单元发送至信息存储模块1150进行存储。
[0171]
运行模块1120可以包括监测单元、运行信息获取单元、运行调度单元、运行信息接收单元、运行信息发送单元。
[0172]
监测单元是一个用于监测是否收到参数模块推送任务命令的单元,同时监测当前运行任务的执行状态。
[0173]
当监测单元收到任务后,将任务信息推送至运行信息获取单元,运行信息获取单
元根据监测单元推送的任务信息,从信息存储模块获取任务的信息,并将任务信息推送至运行调度单元。
[0174]
运行调度单元用于接收运行信息获取单元获取的任务信息,并根据信息从信息存储模块获取对应的脚本信息,调度执行脚本并将执行结果信息发送至运行信息发送单元。若采用动态安全区间,则同步将执行结果信息发送至动态安全区间模块1160。
[0175]
运行信息接收单元用于接收动态安全区间模块1160的应答结果,并同步将应答信息发送至运行信息发送单元。
[0176]
运行信息发送单元用于将运行调度单元推送的执行结果信息发送至信息存储模块,同时根据运行信息接收单元推送的信息,发送至信息存储模块1150,并调用通知模块1130通知联系人员。
[0177]
通知模块1130可以包括通知信息接收单元、通知方式选择单元、通知信息发送单元。通知信息接收单元用于接收运行信息发送单元推送的发送信息,并根据信息中的通知方式,推送至通知方式选择单元。通知方式选择单元用于接收通知信息接收单元推送的通知方式,并根据此方式选择对应的发送方式发送信息。并同步将信息推送至通知信息发送单元。通知信息发送单元是一个将发送信息结果发送至信息存储模块1150进行存储的单元。
[0178]
参数模块1140可以包括任务信息维护单元、任务推送单元。
[0179]
任务信息维护单元是用于测试人员维护任务信息的单元。如表1所示,测试人员维护的一个任务为例,通过此任务可以灵活完成维护支付交易类型在2021年8月1日6:30至2021年8月7日7:00的时间周期内,以小时为维度每0.5小时调用支付脚本-信用卡、支付脚本-借记卡两个脚本进行自动化执行开展针对未知改造内容的碰撞验证,同时当前任务所关联的这两个脚本均启用了动态安全区间功能。
[0180]
任务关联单元用于关联任务与交易类型、场景类型,以及关联对应的自动化脚本。任务推送单元用于将维护的任务信息推送至信息存储模块1150中存储,同时当触发到任务开始时间后,推送至运行信息模块的监测单元。
[0181]
信息存储模块1150可以包括脚本存储单元、参数信息存储单元、运行信息存储单元、通知信息存储单元、动态安全区间信息存储单元。
[0182]
脚本存储单元用于存储脚本发送单元推送的自动化脚本。参数信息存储单元用于存储信息推送单元推送的任务信息。运行信息存储单元用于存储运行信息发送单元推送的交易执行结果信息。通知信息存储单元是一个用于存储通知信息发送单元推送的发送信息结果的单元。动态安全区间信息存储单元用于存储动态安全区间信息维护单元推送的动态安全区间相关信息。
[0183]
动态安全区间模块1160可以包括动态安全区间信息接收单元、动态安全区间信息维护单元、动态安全区间运行单元、动态安全区间发送单元。
[0184]
动态安全区间信息接收单元用于接收运行调度单元推送的运行结果信息,并将运行结果信息推送至动态安全区间运行单元,进行校验规则的执行。
[0185]
动态安全区间信息维护单元用于维护校验规则、命中动态安全区间的不同情况下推送的联系人和联系方式,并将维护信息推送至动态安全区间信息存储单元。
[0186]
动态安全区间运行单元用于接收动态安全区间信息接收单元推送的运行结果信
息,并根据动态安全区间信息维护单元维护的校验规则进行运算,运算结果推送至动态安全区间发送单元。
[0187]
动态安全区间发送单元用于接收动态安全区间运行单元推送的运算结果,所述运算结果包括但不限于命中了哪个安全区间,以及对应的联系人。接收后将信息推送至运行信息接收单元。
[0188]
根据本公开的实施例的测试装置1100,可使测试人员灵活开展不同交易的自动化碰撞测试,有效针对在未知更新内容的情况下,对交易开展碰撞测试并针对交易结果进行自动化留痕和自动化通知,此处所述碰撞验证是指针对交易利用自动化执行覆盖交易功能,碰撞可能存在的遗漏的改造内容,提升测试环节的整体质量。同时实现了以交易为维度形成测试周期内的动态安全区间,对交易的结果进行自动的初步识别排查,并自动通知给当前问题情况的最优处理人,提升测试问题排查的准确性和高效性。
[0189]
根据本公开的实施例,测试装置1000或测试装置1100中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
[0190]
根据本公开的实施例,测试装置1000或测试装置1100中的至少一个模块可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,测试装置1000或测试装置1100中的至少一个模块可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0191]
图12示意性示出了根据本公开实施例的适于实现测试方法的电子设备的方框图。
[0192]
如图12所示,根据本公开实施例的电子设备1200包括处理器1201,其可以根据存储在只读存储器(rom)1202中的程序或者从存储部分1208加载到随机访问存储器(ram)1203中的程序而执行各种适当的动作和处理。处理器1201例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器1201还可以包括用于缓存用途的板载存储器。处理器1201可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0193]
在ram 1203中,存储有电子设备1200操作所需的各种程序和数据。处理器1201、rom 1202以及ram 1203通过总线1204彼此相连。处理器1201通过执行rom 1202和/或ram 1203中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom1202和ram1203以外的一个或多个存储器中。处理器1201也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0194]
根据本公开的实施例,电子设备1200还可以包括输入/输出(i/o)接口1205,输入/输出(i/o)接口1205也连接至总线1204。电子设备1200还可以包括连接至i/o接口1205的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网
络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
[0195]
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0196]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 1202和/或ram 1203和/或rom 1202和ram 1203以外的一个或多个存储器。
[0197]
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
[0198]
在该计算机程序被处理器1201执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
[0199]
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1209被下载和安装,和/或从可拆卸介质1211被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0200]
在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被处理器1201执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0201]
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c ,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0202]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0203]
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献