测试方法以及装置与流程

文档序号:30423597发布日期:2022-06-15 14:09阅读:120来源:国知局
测试方法以及装置与流程

1.本说明书实施例涉及计算机技术领域,特别涉及一种测试方法。


背景技术:

2.随着互联网技术的发展,基于互联网所产生的各种项目也呈爆发式增长,相应的,处理任务的系统也变得越来越复杂。一般来说,当互联网平台的中下游系统进行升级时,通常会影响到上游,因此需要对上游进行测试。
3.目前,由中下游测试负责人凭借经验人工梳理期望覆盖的上游场景,寻求上游质量负责人支持,上游系统负责人手工触发相关用例进行测试。但是这种测试方式不仅效率低下,还可能由于负责人的失误导致测试无法覆盖风险点。


技术实现要素:

4.有鉴于此,本说明书实施例提供了一种测试方法。本说明书一个或者多个实施例同时涉及一种测试装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
5.根据本说明书实施例的第一方面,提供了一种测试方法,包括:
6.预先为待测用例标记唯一标识,使所述待测用例调用的系统所生成的系统日志中包含所述唯一标识与所述系统的对应关系;
7.获取系统调用链路上各个系统的日志,并根据所述日志中包含的所述对应关系生成测试场景,所述测试场景用于描述所述待测用例与系统之间的对应关系;
8.响应于接收到对所述测试场景中一个或多个系统的用例测试请求,对所述一个或多个系统对应的待测用例执行测试。
9.根据本说明书实施例的第二方面,提供了一种测试装置,包括:
10.标记模块,被配置为预先为待测用例标记唯一标识,使所述待测用例调用的系统所生成的系统日志中包含所述唯一标识与所述系统的对应关系;
11.生成模块,被配置为获取系统调用链路上各个系统的日志,并根据所述日志中包含的所述对应关系生成测试场景,所述测试场景用于描述所述待测用例与系统之间的对应关系;
12.执行模块,被配置为响应于接收到对所述测试场景中一个或多个系统的用例测试请求,对所述一个或多个系统对应的待测用例执行测试。
13.根据本说明书实施例的第三方面,提供了一种计算设备,包括:
14.存储器和处理器;
15.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述测试方法的步骤。
16.根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述测试方法的步骤。
17.根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述测试方法的步骤。
18.本说明书实施例通过预先为待测用例标记唯一标识,使待测用例调用的系统所生成的系统日志中包含唯一标识与系统的对应关系,由于获取系统调用链路上各个系统的日志,并根据日志中包含的对应关系生成测试场景,而且测试场景用于描述待测用例与系统之间的对应关系,从而通过该测试场景能够根据系统来感知用例,因此,可以响应于接收到对测试场景中一个或多个系统的用例测试请求,对一个或多个系统对应的待测用例执行测试,达到下游自动联动上游测试的效果,有效提高测试效率以及测试覆盖率,避免人工梳理场景所带来的效率低下以及遗漏风险点的问题。
附图说明
19.图1示出了一种互联网平台的平台架构示意图;
20.图2示出了另一种互联网平台的测试处理过程示意图;
21.图3示出了全链路/核对现状的分析示意图;
22.图4示出了根据本说明书一个实施例提供的一种测试方法的流程图;
23.图5示出了根据本说明书一个实施例提供的另一种测试方法示意图;
24.图6示出了根据本说明书一个实施例提供的一种测试方法中核对的处理过程示意图;
25.图7示出了根据本说明书一个实施例提供的一种各系统集展示界面图;
26.图8示出了根据本说明书一个实施例提供的一种系统的用例集展示界面图;
27.图9示出了根据本说明书一个实施例提供的一种执行用例测试的界面图;
28.图10示出了根据本说明书一个实施例提供的一种测试架构示意图;
29.图11示出了根据本说明书一个实施例提供的字段核对效果示意图;
30.图12示出了本说明书一个实施例提供的一种测试装置的结构示意图;
31.图13示出了根据本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
32.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
33.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
34.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
35.参见图1,图1示出了一种互联网平台的平台架构示意图。
36.伴随着互联网的高速发展,很多互联网服务提供者的整个平台项目系统的复杂度也在不断提升。例如,一些平台的中下游系统如图1所示的,支持上游项目众多,甚至可能对接上万个项目场景,承载了海量数据。但是,由于平台技术能力复用高,企业级能力复用平台支持上游项目众多,能力变更影响面广,因此导致测试环节质量项目回归效率低。另外,平台的域间复杂度高,主要表现在微服务规模变大,微服务将系统内的复杂度转移为系统间的复杂度,因此导致域间契约测试难度上升。契约测试是为了发现契约破坏(contract breaking)而进行的测试活动。例如,从消费者项目实现的角度出发,由消费者端定义需要的数据格式以及交互细节,生成一份契约文件。然后生产者根据契约文件来实现自己的逻辑,并在持续集成环境中持续验证该实现结果是否正确。再一个方面是平台能力演进速度快:完成多个相似项目能力标准化沉淀,可复用能力不断升级,因此导致测试环节中质量快速交付难度大。可见,目前互联网服务提供者的整个平台的测试现状,导致平台的稳定性收到一定影响。
37.在这样的背景下,中下游系统需要能力快速升级的同时完成架构升级。因此,如何快速测试,使大量项目质量达标成为了挑战。
38.参见图2,图2示出了另一种互联网平台的测试处理过程示意图。
39.如图2所示,当底层系统升级,中下游测试负责人凭借经验人工梳理期望覆盖的上游场景,寻求上游项目系统质量负责人支持。然后上游系统负责人手工触发相关用例,底层负责人再人肉确认用例是否覆盖到期望的逻辑。在该图2所示的测试处理中,存在以下问题:
40.第一,上下游沟通成本高:上下游项目复杂,系统间均难以感知相互项目细节。
41.第二,用例梳理维护成本高:用例人肉梳理成本高,却无法自动感知。
42.第三,节奏强依赖项目:依赖上游排期回归验证,研发效率低下。
43.综合以上分析,目前互联网平台在测试时无法有效达到快速交付的效果。参见图3,图3示出了全链路/核对现状的分析示意图。通过该分析示意图可见,由于目前各系统间的全链路呈割裂的状态,即各系统之间维护各自的链路以及核对,相互之间无法感知对方,导致给测试带来了一定困难。
44.因此,基于上述问题,在本说明书中,提供了一种测试方法,本说明书同时涉及一种测试装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
45.参见图4,图4示出了根据本说明书一个实施例提供的一种测试方法的流程图,具体包括以下步骤。
46.步骤402、预先为待测用例标记唯一标识,使待测用例调用的系统所生成的系统日志中包含唯一标识与系统的对应关系。
47.其中,用例:是指针对软件程序进行测试任务的一个场景,使软件程序在这种场景下,能够正常运行并且达到程序所设计的执行结果。所述系统,是指互联网平台中支持上游项目的软件程序。
48.在本实施例中,在对用例进行测试之前,需要预先为待测用例标记唯一标识,从而
使待测用例调用的系统所生成的系统日志中包含唯一标识与系统的对应关系,其中,待测用例可以为多个,且一个待测用例对应一个唯一标识。其中,待测用例调用的系统可以包括:待测用例直接调用的系统,以及逐个系统从上往下调用过程中,间接调用的系统。
49.具体地,唯一标识可以由数字、字母、特殊字符等组成,例如,待测用例a对应的唯一标识为“1001”,待测用例b对应的唯一标识为“1002”,待测用例c对应的唯一标识为“1003”等等。
50.例如,可以在全链路被调度执行时,全链路调度系统自动为全链路用例打上唯一标识,之后用例逐个系统从上往下调用的时候,将自动将唯一标识从上游系统传递给下游系统并且在公共日志中以标准格式打印当前系统调用信息以及用例信息。从而在该系统的日志中便会包含待测用例的唯一标识与系统的对应关系。
51.例如,以需要执行待测用例的系统是“系统x”为例,当待测用例a调用系统x时,在该系统x的日志中便会记录待测用例a的唯一标识“1001”与系统x的对应关系。即,可以理解为若系统x的日志中包含有待测用例a的唯一标识“1001”对其调用的日志记录,就表示待测用例a调用了系统x,二者具有所述对应关系。
52.步骤404、获取系统调用链路上各个系统的日志,并根据日志中包含的对应关系生成测试场景,其中,测试场景用于描述待测用例与系统之间的对应关系。
53.其中,所述系统调用链路,是指对互联网平台中一个或多个系统进行调用的链路。例如,所述系统调用链路可以是平台中任一个调用链路分支、多个调用链路分支、或平台整个调用链路也即全链路。
54.例如,本说明书一个或多个实施例中,获取的是全链路上各个系统的日志,实现全链路回归。全链路回归是指,测试场景不但包含被测用例所在的域,还有上下游的其他多个域。当然,也可以针对单个域或者多个域进行测试,本说明书实施例提供的方法对此并不进行限制。在全链路回归的实施例中,可以在测试之前,获取全链路上所有系统的日志。
55.在本实施例中,在预先为待测用例标记唯一标识,从而使待测用例调用的系统所生成的系统日志中包含唯一标识与系统的对应关系之后,可以获取系统调用链路上各个系统的日志,然后根据日志包含的待测用例与系统的对应关系生成测试场景。
56.例如,获取系统调用链路上的系统y和系统z的日志,在系统y的日志中包含有待测用例b的唯一标识“1002”;在系统z的日志中包含有待测用例c的唯一标识“1003”。
57.根据上述示例,生成用于描述待测用例与系统之间对应关系的测试场景,可以理解为,生成的测试场景中包含:系统y对应待测用例b;系统z对应待测用例c。
58.具体地,在本说明书实施例的一种可能的实现方式中,获取系统调用链路上各个系统的日志,并根据日志中包含的对应关系生成测试场景,包括:
59.定期将系统调用链路上各个系统的日志同步更新到数据库中;
60.利用数据库中定期更新的日志中包含的对应关系,在测试场景中累计待测用例与系统之间的对应关系。
61.在本实施例中,出于系统稳定性的考虑,需要将系统调用链路上各个系统的日志同步更新到数据库中。然后利用数据库中定期更新的日志中包含的对应关系,在测试场景中累计待测用例与系统之间的对应关系。其中,所述数据库可以为离线数据库。
62.因此,首先需要定期收集系统调用链路上各个系统的日志,然后将收集到的调用
链路上各个系统的日志同步更新到数据库中进行存储。
63.此处可以利用日志服务技术对系统调用链路上各个系统的日志进行收集,其中,日志服务技术是针对日志的收集、存储、查询和分析的服务。
64.在定期将收集到的调用链路上各个系统的日志同步更新到数据库中进行存储后,可以利用数据库中定期更新的日志中包含的对应关系,在测试场景中累计待测用例与系统之间的对应关系。
65.例如,以24小时为周期,每间隔24小时便收集调用链路上各个系统的日志,并将各个系统的日志同步更新到数据库中进行存储,接着可以利用数据库中定期更新的日志中包含的对应关系,在测试场景中累计待测用例与系统之间的对应关系。
66.在上述实施方式中,通过定期将系统调用链路上各个系统的日志同步更新到数据库中,然后利用数据库中定期更新的日志中包含的对应关系,在测试场景中累计待测用例与系统之间的对应关系。通过上述方法,可以对待测用例与系统之间的对应关系进行更新处理,以保证各个系统的日志中待测用例与系统之间对应关系的准确性。
67.在本说明书提供的测试方法中,还包括:对数据库中的日志记录进行去重处理。
68.在本实施例中,在定期将系统调用链路上各个系统的日志同步更新到数据库中时,有可能会出现日志记录重复的现象发生。因此,需要对数据库中的日志记录进行去重处理,也即,将各个系统的日志中重复的日志记录进行筛选,删除。
69.通过上述方法,可以保证测试场景中的待测用例与系统的对应关系的及时更新,达到定期自动保鲜的效果。
70.步骤406、响应于接收到对测试场景中一个或多个系统的用例测试请求,对一个或多个系统对应的待测用例执行测试。
71.在本实施例中,通过获取系统调用链路上各个系统的日志,并根据日志中包含的对应关系生成测试场景之后,当接收到对测试场景中一个或多个系统的用例测试请求,可以响应于该用例测试请求,对一个或多个系统对应的待测用例执行测试。
72.在本说明书实施例的一种可能的实现方式中,响应于接收到对测试场景中一个或多个系统的用例测试请求,对一个或多个系统对应的待测用例执行测试,具体可以通过以下方式实现:
73.根据测试场景,在界面上显示系统对应的待测用例,以便用户根据系统选择待测用例。
74.响应于接收到用户发出的用例测试请求,对用户选择的待测用例执行测试。
75.在本实施例中,设置有显示“系统对应的待测用例”的界面,用户可以根据该界面选择系统对应的待测用例进行执行。
76.具体地,在获取系统调用链路上各个系统的日志,并根据日志中包含的对应关系生成测试场景之后,可以基于该测试场景,在界面上显示系统对应的待测用例。然后用户可以根据系统选择待测用例。
77.需要注意的是,用户可以选择一个或多个系统对应的待测用例,当用户选择一个或多个系统对应的待测用例之后,可以生成用例测试请求。然后响应于接收到用户发出的用例测试请求,对用户选择的待测用例执行测试。
78.在上述实施方式中,根据测试场景,在界面上显示系统对应的待测用例,以便用户
根据系统选择待测用例。然后响应于接收到用户发出的用例测试请求,对用户选择的待测用例执行测试。通过上述方法,用户可以根据系统选择待测用例并对待测用例进行测试,从而保证了待测用例执行的有效性。
79.在本说明书实施例的一种可能的实现方式中,根据测试场景,在界面上显示系统对应的待测用例,具体可以通过以下方式实现:
80.根据测试场景,在界面上显示各个系统的系统信息,其中,一个系统对应一个系统信息展示区。
81.响应于任一个系统对应的系统展示区被选中打开,根据测试场景显示任一个系统对应的一个或多个待测用例,以及每个待测用例对应的选择控件,以便用户利用选择控件选择待测用例。
82.在本实施例中,测试场景用于描述待测用例与系统之间的对应关系。因此,基于测试场景,可以在显示界面上显示各个系统的系统信息,其中,系统信息包含有系统的具体信息,例如系统信息可以包含该系统对应的系统名称、待测用例数量等等。并且在界面上,一个系统对应一个系统信息展示区,系统信息展示区是指在界面中展示系统信息的区域。
83.当响应于任一个系统对应的系统展示区被选中打开以后,会显示任一个系统对应的一个或多个待测用例,以及每个待测用例对应的选择控件,以便用户利用选择控件选择待测用例。
84.例如,根据测试场景,在界面上显示有系统a和系统b的系统信息展示区,具体地,系统a对应的系统信息为“待测用例数量为100”;系统b对应的系统信息为“待测用例数量为150”。
85.然后响应于系统a和系统b对应的系统展示区被选中打开,根据测试场景显示系统a和系统b对应的待测用例,以及每个待测用例对应的选择控件,以便用户利用选择控件选择待测用例。
86.在上述实施方式中,根据测试场景,在界面上显示各个系统的系统信息,然后响应于任一个系统对应的系统展示区被选中打开,根据测试场景显示任一个系统对应的一个或多个待测用例,以及每个待测用例对应的选择控件,以便用户利用选择空间选择待测用例。通过上述方法,用户可以根据系统选择待测用例并对待测用例进行测试,从而保证了待测用例执行的有效性。
87.在本实施例的另一种可能的实现方式中,根据测试场景,在界面上显示系统对应的待测用例,具体可以通过以下方式实现:
88.响应于接收到对指定系统的用例查询请求,根据测试场景,在界面上显示指定系统对应的待测用例,以及每个待测用例对应的选择控件,以便用户利用选择控件选择待测用例。
89.在本实施例中,在界面中还可以设置有对指定系统的用例进行查询的查询框,用户可以在该查询框中输入任一系统进行查询,可以可得到该系统对应的待测用例。
90.例如,用户在查询框中输入“系统a”后,便会基于“系统a”生成针对系统a的用例查询请求,然后响应于接收到对指定系统的用例查询请求,根据测试场景,在界面上显示系统a对应的待测用例,以及每个待测用例对应的选择控件,以便用户利用选择空间选择待测用例。
91.在上述实施方式中,响应于接收到对指定系统的用例查询请求,根据测试场景,在界面上显示指定系统对应的待测用例,以及每个待测用例对应的选择控件,以便用户利用选择控件选择待测用例。通过上述方法,用户可以根据系统选择待测用例并对待测用例进行测试,从而保证了待测用例执行的有效性。
92.在本说明书实施例提供的测试方法中,还包括:
93.从核对平台中采集针对系统调用链路上各系统的核对脚本,其中,核对脚本是对系统之间的关联数据进行一致性验证的脚本。
94.利用核对脚本对关联数据之间的关系进行识别。
95.对识别出的关联数据之间的关系进行核对有效性校验。
96.在本实施例中,首先要从核对平台采集针对系统调用链路上各系统的核对脚本,其中,核对脚本是对系统之间的关联数据进行一致性验证的脚本。
97.然后对关联数据之间的关系进行识别,进而对识别出的关联数据之间的关系进行核对有效性校验。
98.例如,从核对平台中采集到针对系统调用链路上各系统的核对脚本之后,可以利用核对脚本对关联数据之间的关系进行识别,得到系统调用链路上各系统日志中字段与字段之间的关联数据,然后对各系统日志中字段与字段之间的关系进行核对有效性校验,判断各系统之间的字段是否一致。例如,如图11所示的字段核对效果示意图所示的,通过上述实施例可以对各个系统如“中台f”与“底层g”之间的字段进行核对,对“中台f”与“平台q”之间的字段进行核对,从而核对出缺失核对的字段,核对无效的字段等等。
99.可以理解的是,在核对处理中,根据上述实施例,可以对所有的跨端系统之间的数据进行核对,也称为对账,可以检查和发现数据在流转过程中的不一致问题。例如,可以对信息流进行核对、对资金流进行核对。信息流核对主要是对项目数据之间的核对,资金流是对资金交易数据进行核对。例如,在核对后,还可以将核对有效性校验确定的覆盖风险点展示在界面上,以便上下游系统间相互感知覆盖风险字段,达到建立联动的数据、资金安全防线。
100.在上述实施方式中,通过从核对平台中采集针对系统调用链路上各系统的核对脚本,然后利用和对脚本对关联数据之间的关系进行识别,并对识别出的关联数据之间的关系进行核对有效性校验。通过上述方法,可以使系统调用链路上各系统之间相互感知风险。
101.在本说明书实施例的一种可能的实现方式中,在对一个或多个系统对应的待测试用例执行测试之后,还包括以下步骤:
102.显示待测用例的测试结果。
103.在本实施例中,在对一个或多个系统对应的待测试用例执行测试之后,还需要显示待测试测试结果,以使用户能够根据待测用例的测试结果及时了解一个或多个系统是否存在风险。
104.本说明书实施例通过预先为待测用例标记唯一标识,使待测用例调用的系统所生成的系统日志中包含唯一标识与系统的对应关系;然后获取系统调用链路上各个系统的日志,并根据日志中包含的对应关系生成测试场景,其中,测试场景用于描述待测用例与系统之间的对应关系;然后响应于接收到对测试场景中一个或多个系统的用例测试请求,对一个或多个系统对应的待测用例执行测试。通过上述方法,预先为待测用例标记唯一标识,可
以使待测用例调用的系统所生成的系统日志中包含唯一标识与系统的对应关系,基于该对应关系,可以进一步生成一个用于描述待测用例与系统之间对应关系的测试场景,基于该测试场景,各个系统可以感知全链路上各个系统的待测用例,进一步地,通过接收该测试场景中一个或多个系统的用例测试请求,可以有效对各个系统的风险进行识别。
105.下面,以图5为例,结合契约测试的实施方式,对本说明书实施例提供的测试方法的一个实施例进行示意性说明。图5示出了根据本说明书一个实施例提供的另一种测试方法示意图。
106.如图5所示,该实施例的测试方法可以分为数据生产端和数据消费端。在数据生产端,首先全链路用例项目编写时,根据本说明书实施例提供的方法实现的测试端可以自动为每一个用例确定唯一标识;在全链路的用例被执行时,全链路调度系统可以自动为全链路上的用例打上唯一标识,之后用例逐个系统从上往下调用的时候,可以自动将唯一标识从上游系统传递给下游系统并且记录在公共日志中,以表示出系统调用信息以及对应的用例唯一标识。具体地,如图5所示,数据生产端可以包括“标识定义”、“用例打标”、“全链路执行”以及“全链路用例数据生产”四个阶段,具体如下:
107.标识定义阶段:在该阶段中,预先为待测用例标记唯一标识。例如,如图5所示的,先定义唯一标识,例如,定义的唯一标识可以是“id=1”、“id=2”、“id=3”等。
108.用例打标阶段:在该阶段中,为待测用例标记唯一标识。例如,如图5所示的,为一个用例标记为“id=1”,该用例所调用的系统包括:系统a、系统b、系统c。
109.全链路执行阶段:在该阶段中,“id=1”这个用例的执行,相应地调用系统a、系统b、系统c,在调用过程中,“id=1”从上到到下地传递到系统a、系统b、系统c。
110.全链路用例数据生产阶段:在该阶段中,日志系统为每个系统生成各自的日志。其中,对应系统a生成的日志中包含系统a与“id=1”用例的对应关系,对应系统b生成的日志中包含系统b与“id=1”用例的对应关系,对应系统c生成的日志中包含系统c与“id=1”用例的对应关系。
111.通过上述四个阶段,在系统调用链路上各个系统执行待测用例之后,系统调用链路上对应生产出全链路用例数据,也即,各个系统的日志,各个系统的日志中包含用例唯一标识与系统的对应关系。
112.在数据消费端,出于性能以及系统稳定性的考虑,可以将公共日志同步离线数据库,旁路对公共日志筛选去重,得到全链路用例以及调用系统相关信息。例如,离线数据库可以每日运行一次,将历史数据与t-1日增量数据合并,自动生成用例集以及用例列表,并且每日自动保鲜。具体地,如图5所示,数据消费端可以包括“同步离线”、“筛选去重”、“用例使用”以及“扩展赋能”四个阶段,具体如下:
113.同步离线阶段:在该阶段中,将系统调用链路上各个系统的日志同步至数据库。例如,系统rpc调用日志,然后对日志进行采集,并进行实时计算,最终存储至数据处理平台的数据库中。
114.筛选去重阶段:筛选去重是指对数据库中的日志记录进行去重处理。具体地,可以对日志记录中的重复信息进行去重处理以减少数据处理量。其中,日志记录中的信息包括但不限于用例的唯一标识、应用也即系统、接口、服务、度量、场景等信息。经过筛选去重,得到系统与用例之间的对应关系形成的用例集以及具体的用例信息,如用例名称等。
115.用例使用阶段:用例使用阶段包括提供用例的全集展示、日级保险、覆盖度量、一键执行测试等功能。
116.扩展赋能阶段:该阶段是在执行用例测试之后扩展出的功能,例如,可以包括:全场景校验、场景分析、场景补充等。
117.下面,以图6为例,对本说明书实施例提供的测试方法中核对的处理过程进行示意性说明。图6示出了根据本说明书一个实施例提供的一种测试方法中核对的处理过程示意图。
118.如图6所示,在核对的处理方式中,可以包括:“数据采集”、“关系识别”、“有效性校验”、“场景保险”以及“用例使用”五个阶段,具体如下:
119.数据采集阶段:在该阶段中,从核对平台中采集针对系统调用链路上各系统的核对脚本。
120.关系识别阶段:在该阶段中,对各个系统之间的关联数据的关系进行识别,例如,识别出系统调用链路上系统与系统、表与表以及字段与字段之间的关系。
121.有效性校验阶段:在该阶段中,可以对关联数据之间的关系的核对是否全面进行分析,以及核对的有效性进行分析。其中,全面性分析,可以包括:场景分析、系统分析、关系分析、风险分析等方面。其中,有效性分析,可以包括:场景梳理、自测验证、规则反跑、反向攻击等方面。
122.场景保鲜阶段:在该阶段中,场景保鲜是指对待测用例进行更新。具体地,例如,可以通过数据采集,然后将采集到的数据同步至数据库中,然后进行关系识别,最终进行有效性校验。
123.用例使用阶段:在该阶段中,可以对一个或多个系统对应的待测试用例执行测试,从而实现全集展示、日级保鲜、覆盖度量、一键执行等功能。
124.在用例使用阶段,参见图7,图7示出了根据本说明书一个实施例提供的一种各系统集展示界面图。如图7所示,在该展示界面中,一个系统对应一个系统信息展示区,每个系统信息展示区中显示了系统名称以及对应的待测用例的数量。用户可以点击任一个系统信息展示区,进入如图8所示的,针对该系统的用例集展示界面。
125.参见图8,图8示出了根据本说明书一个实施例提供的一种系统的用例集展示界面图。如图8所示,以系统“fcassetfux”为例,在系统“fcassetfux”的用例集展示界面图中展示有与系统“fcassetfux”具有对应关系的所有待测用例,每个待测用例都有用例名称以及对应的唯一标识等用例信息。如图8所示的,界面中还可以设置有查询输入框,用于查询指定系统的待测用例。
126.当用户在图8所示的界面中选择了一个或多个用例的情况下,可以点击“执行”按钮,触发对选择的用例的测试。参见图9,图9示出了根据本说明书一个实施例提供的一种执行用例测试的界面图。如图9所示,当点击执行后,可以弹出小窗以显示被测用例的相关执行信息,例如“用例名称”、“运行状态”、“运行链接”等等。在用户点击运行链接的情况下,可以进一步进入查看用例的运行详细信息的页面,运行详细信息例如可以包括输入参数、返回参数、覆盖率、结果等。
127.通过上述实施例可见,根据本说明书实施例提供的测试方法,能够自动感知到大量未知用例,由中下游系统联动执行上游用例的测试,无需人工收集用例信息触发测试,可
以自动挖掘出中下游系统负责人未知用例,有效地对测试场景中的用例进行保鲜,弥补原中下游系统无法感知项目核对风险字段的问题,无法检查项目对中下游系统风险点覆盖的是否全面、有效的问题,达到对各系统之间的核对进行有效性校验的目的。
128.图10示出了根据本说明书一个实施例提供的一种测试架构示意图。在该实施例中,结合了上述多个实施例。如图10所示,该测试架构可以产出全链路日志,自动对日志进行采集、提取、保鲜,进而通过唯一标识构建系统与用例之间的对应关系,并形成测试场景。基于测试场景进行全集展示、全链路用例测试、核对等诸多功能,并基于用例测试和核对的结果,得到有效性分析的结果。更具体地,例如,对于全链路来说,可以通过收集中下游系统的日志,识别经过中下游的全链路用例,对日志关键字打标识别对应的场景,每当需要回归的时候,按照场景执行对应用例,测试完成后自动分析覆盖率,根据分析结果确定是否有效覆盖。对于核对处理来说,可以通过清洗核对平台的数据库中存储核对脚本的表,清洗得到上游系统与下游系统核对相关联的核对,对这些核对内容的项目特性及关键风险字段识别验证核对的全面性,对核对进行构造异常场景验证有效性。当然,图10所示的系统架构还可以有其他实现细节,未详细描述的细节内容,均可以参见所述测试方法的其他实施例的介绍,在此不再赘述。
129.与上述方法实施例相对应,本说明书还提供了测试装置实施例,图12示出了本说明书一个实施例提供的一种测试装置的结构示意图。如图12所示,该装置包括:
130.标记模块1202,被配置为预先为待测用例标记唯一标识,使待测用例调用的系统所生成的系统日志中包含唯一标识与系统的对应关系;
131.生成模块1204,被配置为获取系统调用链路上各个系统的日志,并根据日志中包含的对应关系生成测试场景,其中,测试场景用于描述待测用例与系统之间的对应关系;
132.执行模块1206,被配置为响应于接收到对测试场景中一个或多个系统的用例测试请求,对一个或多个系统对应的待测用例执行测试。
133.可选地,生成模块1204,进一步被配置为:
134.定期将系统调用链路上各个系统的日志同步更新到数据库中;
135.利用数据库中定期更新的日志中包含的对应关系,在测试场景中累计待测用例与系统之间的对应关系。
136.可选地,该装置还包括:
137.处理模块,被配置为对数据库中的日志记录进行去重处理。
138.可选地,该装置还包括:
139.采集模块,被配置为从核对平台中采集针对系统调用链路上各系统的核对脚本,其中,核对脚本是对系统之间的关联数据进行一致性验证的脚本;
140.识别模块,被配置为利用核对脚本对关联数据之间的关系进行识别;
141.校验模块,被配置为对识别出的关联数据之间的关系进行核对有效性校验。
142.可选地,执行模块1206,进一步被配置为:
143.根据所述测试场景,在界面上显示系统对应的待测用例,以便用户根据系统选择待测用例;
144.响应于接收到用户发出的用例测试请求,对用户选择的待测用例执行测试。
145.可选地,执行模块1206,进一步被配置为:
146.根据测试场景,在界面上显示各个系统的系统信息,其中,一个系统对应一个系统信息展示区;
147.响应于任一个系统对应的系统展示区被选中打开,根据测试场景显示任一个系统对应的一个或多个待测用例,以及每个待测用例对应的选择控件,以便用户利用选择控件选择待测用例。
148.可选地,执行模块1206,进一步被配置为:
149.响应于接收到对指定系统的用例查询请求,根据测试场景,在界面上显示指定系统对应的待测用例,以及每个待测用例对应的选择控件,以便用户利用选择控件选择待测用例。
150.可选地,执行模块1206,进一步被配置为:
151.显示待测试用例的测试结果。
152.本说明书实施例提供的测试装置通过预先为待测用例标记唯一标识,使待测用例调用的系统所生成的系统日志中包含唯一标识与系统的对应关系;然后获取系统调用链路上各个系统的日志,并根据日志中包含的对应关系生成测试场景,其中,测试场景用于描述待测用例与系统之间的对应关系;然后响应于接收到对测试场景中一个或多个系统的用例测试请求,对一个或多个系统对应的待测用例执行测试。通过上述方法,预先为待测用例标记唯一标识,可以使待测用例调用的系统所生成的系统日志中包含唯一标识与系统的对应关系,基于该对应关系,可以进一步生成一个用于描述待测用例与系统之间对应关系的测试场景,基于该测试场景,各个系统可以感知全链路上各个系统的待测用例,进一步地,通过接收该测试场景中一个或多个系统的用例测试请求,可以有效对各个系统的风险进行识别。
153.上述为本实施例的一种测试装置的示意性方案。需要说明的是,该测试装置的技术方案与上述的测试方法的技术方案属于同一构思,测试装置的技术方案未详细描述的细节内容,均可以参见上述测试方法的技术方案的描述。
154.图13示出了根据本说明书一个实施例提供的一种计算设备1300的结构框图。该计算设备1300的部件包括但不限于存储器1310和处理器1320。处理器1320与存储器1310通过总线1330相连接,数据库1350用于保存数据。
155.计算设备1300还包括接入设备1340,接入设备1340使得计算设备1300能够经由一个或多个网络1360通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备1340可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
156.在本说明书的一个实施例中,计算设备1300的上述部件以及图13中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图13所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
157.计算设备1300可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动
电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备1300还可以是移动式或静止式的服务器。
158.其中,处理器1320用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述测试方法的步骤。
159.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的测试方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述测试方法的技术方案的描述。
160.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述测试方法的步骤。
161.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的测试方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述测试方法的技术方案的描述。
162.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述测试方法的步骤。
163.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的测试方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述测试方法的技术方案的描述。
164.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
165.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
166.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
167.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
168.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施
例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1