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

自动化测试方法以及装置、存储介质、电子装置与流程

2022-04-27 08:32:20 来源:中国专利 TAG:


1.本技术涉及自动化测试领域,具体而言,涉及一种自动化测试方法以及装置、存储介质、电子装置。


背景技术:

2.风控平台会针对不同活动场景进行风控校验和限制,减少公司损失。
3.由于测试人员每次迭代需要回归的业务场景过多,回归工作量较大,频繁的手工验证出错的风险也会提高,无法较好地实现风控场景自动化。
4.针对相关技术中业务平台风控场景的测试回归效率不高,无法快速迭代、快速上线的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术的主要目的在于提供一种自动化测试方法以及装置、存储介质、电子装置,以解决业务平台风控场景的测试回归效率不高,无法快速迭代、快速上线的问题。
6.为了实现上述目的,根据本技术的一个方面,提供了一种自动化测试方法,用于业务平台风控场景。
7.根据本技术的自动化测试方法包括:基于预设自动化测试框架,构造测试数据,其中所述测试数据被配置有测试预期结果以及测试执行环境;根据所述测试数据、所述测试预期结果、所述测试执行环境,通过所述预设自动化测试框架启动自动化业务处理流程,其中所述自动化业务处理流程依次包括读取业务数据、组装业务数据报文、建立消息队列并推送报文,在读取所述业务数据之后装得到所述业务数据报文并建立所述消息队列后进行消息队列报文推送;校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果,其中,所述校验所述自动化业务处理流程至少包括如下之一:校验业务接口实际返回结果与所述测试预期结果、校验风控记录表中的实际记录结果与所述测试预期结果。
8.进一步地,所述根据所述测试数据、所述测试预期结果、所述测试执行环境,通过所述预设自动化测试框架启动自动化业务处理流程,其中所述自动化业务处理流程依次包括读取业务数据、组装业务数据报文、建立消息队列并推送报文,在读取所述业务数据之后装得到所述业务数据报文并建立所述消息队列后进行消息队列报文推送,还包括:读取所述测试数据作为业务数据;根据基础报文、预设场景活动清单,组装后生成业务数据报文;根据环境配置信息读取消息队列连接方式,建立消息队列并推送报文,以使所述组装后生成的业务数据报文提交至交换机。
9.进一步地所述组装业务数据报文包括:根据所述业务数据组装所述业务数据报文时,同时进行多个预设场景的风控。
10.进一步地所述读取业务数据还包括:每次读取所述业务数据之前,执行清理测试数据操作。
11.进一步地所述校验所述自动化业务处理流程,在所述预设自动化测试框架生成测
试结果,包括:校验业务接口实际返回结果与所述测试预期结果是否一致;校验风控记录表中的实际记录结果与所述测试预期结果是否一致;如果均一致,则测试结果标记为成功。
12.进一步地所述所述校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果,还包括:基于所述预设自动化测试框架生成测试结果并生成可视化测试报告。
13.进一步地所述基于预设自动化测试框架,构造测试数据,其中所述测试数据被配置有测试预期结果以及测试执行环境,包括:基于预设自动化测试框架,根据消息队列报文确定待生成的测试数据表;在所述测试数据表中配置所述测试预期结果;基于预设自动化测试框架,确定所述测试数据对应的所述测试执行环境。
14.为了实现上述目的,根据本技术的另一方面,提供了一种自动化测试装置,用于业务平台风控场景。
15.根据本技术的自动化测试装置包括:测试数据构造模块,用于基于预设自动化测试框架,构造测试数据,其中所述测试数据被配置有测试预期结果以及测试执行环境;业务处理模块,用于根据所述测试数据、所述测试预期结果、所述测试执行环境,通过所述预设自动化测试框架启动自动化业务处理流程,其中所述自动化业务处理流程依次包括读取业务数据、组装业务数据报文、建立消息队列并推送报文,在读取所述业务数据之后装得到所述业务数据报文并建立所述消息队列后进行消息队列报文推送;校验模块,用于校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果,其中,所述校验所述自动化业务处理流程至少包括如下之一:校验业务接口实际返回结果与所述测试预期结果、校验风控记录表中的实际记录结果与所述测试预期结果。
16.为了实现上述目的,根据本技术的又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述方法。
17.为了实现上述目的,根据本技术的再一方面,提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述的方法。
18.在本技术实施例中自动化测试方法以及装置、存储介质、电子装置,采用基于预设自动化测试框架,构造测试数据的方式,通过根据所述测试数据、所述测试预期结果、所述测试执行环境,通过所述预设自动化测试框架启动自动化业务处理流程,达到了校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果的目的,从而实现了提升测试回归效率,从而达到快速迭代快速上线的目标的技术效果,进而解决了业务平台风控场景的测试回归效率不高,无法快速迭代、快速上线的技术问题。
19.此外,为了达到生产一致的业务场景,对于测试数据的构造需要足够真实,如一个订单可以通过消息队列报文的组装,同时进行多个活动的风控,独立进行风控校验和返回各自的风控结果。
20.此外,为了达到用例循环执行的目的,还需要引入测试数据的清理,每次执行前清理测试数据,保证自动化测试可以循环正确的进行。
附图说明
21.构成本技术的一部分的附图用来提供对本技术的进一步理解,使得本技术的其它
特征、目的和优点变得更明显。本技术的示意性实施例附图及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
22.图1是根据本技术实施例的自动化测试方法的硬件结构示意图;
23.图2是根据本技术实施例的自动化测试方法的流程示意图;
24.图3是根据本技术实施例的自动化测试装置的结构示意图;
25.图4是根据本技术实施例的自动化测试方法的流程示意图。
具体实施方式
26.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
27.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.在本技术中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本技术及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
29.并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本技术中的具体含义。
30.此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
31.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
32.如图1所示,是自动化测试方法的硬件结构示意图,其中包括:客户端100、数据库200、服务器端300。上述的自动化测试方法,需要基于预设自动化框架实现:数据源的读取和写入、业务http接口和消息队列报文的推送、测试结果的比对和测试报告的数据。客户端100生产一致的业务场景,对于测试数据的构造需要足够真实,如一个订单可以通过mq报文的组装,同时进行多个活动的风控,独立进行风控校验和返回各自的风控结果。
33.如图2所示,该方法包括如下的步骤s201至步骤s203:
34.步骤s201,基于预设自动化测试框架,构造测试数据,其中所述测试数据被配置有
测试预期结果以及测试执行环境;
35.步骤s201,根据所述测试数据、所述测试预期结果、所述测试执行环境,通过所述预设自动化测试框架启动自动化业务处理流程,其中所述自动化业务处理流程依次包括读取业务数据、组装业务数据报文、建立消息队列并推送报文,在读取所述业务数据之后装得到所述业务数据报文并建立所述消息队列后进行消息队列报文推送;
36.步骤s201,校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果,其中,所述校验所述自动化业务处理流程至少包括如下之一:校验业务接口实际返回结果与所述测试预期结果、校验风控记录表中的实际记录结果与所述测试预期结果。
37.从以上的描述中,可以看出,本技术实现了如下技术效果:
38.采用基于预设自动化测试框架,构造测试数据的方式,通过根据所述测试数据、所述测试预期结果、所述测试执行环境,通过所述预设自动化测试框架启动自动化业务处理流程,达到了校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果的目的,从而实现了提升测试回归效率,从而达到快速迭代快速上线的目标的技术效果,进而解决了业务平台风控场景的测试回归效率不高,无法快速迭代、快速上线的技术问题。
39.上述步骤s201中基于预设自动化测试框架,构造测试数据。对于测试数据的构造需要足够真实。比如,对于每个订单可以通过mq报文的组装,同时进行多个活动的风控,独立进行风控校验和返回各自的风控结果。
40.比如,根据mq报文确定excel数据列,选择了excel存储测试数据,根据mq的报文确定数据列。
41.在一种具体实施方式中,所述测试数据被配置有测试预期结果。比如,在确定数据源的列字段后,可以按一行一个订单的维度构造测试数据,并编写测试预期结果。
42.在一种优选实施方式中,所述测试数据被配置有测试执行环境。在所述预设自动化测试框架中的环境信息存储在相关配置文件中,当需要切换环境执行时,更改文件中的环境tag即可,测试框架会根据环境tag读取不同环境的环境信息。
43.上述步骤s202中根据所述测试数据、所述测试预期结果、所述测试执行环境,通过所述预设自动化测试框架启动自动化业务处理流程。
44.在一种具体实施方式中,所述自动化业务处理流程依次包括读取业务数据、组装业务数据报文、建立消息队列并推送报文,在读取所述业务数据之后装得到所述业务数据报文并建立所述消息队列后进行消息队列报文推送。
45.在一种优选实施方式中,经过了所述测试数据、所述测试预期结果、所述测试执行环境配置之后,通过所述预设自动化测试框架启动自动化业务处理流程。
46.上述步骤s203中校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果。对得到的结果进行校验,即业务执行后处理流程,主要是进行业务接口返回实际结果、查询风控记录表实际结果、实际结果和预期结果对比校验和测试报告生成。
47.在一种具体实施方式中,所述校验所述自动化业务处理流程至少包括:校验业务接口实际返回结果与所述测试预期结果。即风控预期结果。
48.在一种优选实施方式中,所述校验所述自动化业务处理流程至少包括:校验风控记录表中的实际记录结果与所述测试预期结果。即风控系统执行落库结果。
49.作为本实施例中的优选,所述根据所述测试数据、所述测试预期结果、所述测试执
行环境,通过所述预设自动化测试框架启动自动化业务处理流程,其中所述自动化业务处理流程依次包括读取业务数据、组装业务数据报文、建立消息队列并推送报文,在读取所述业务数据之后装得到所述业务数据报文并建立所述消息队列后进行消息队列报文推送,还包括:读取所述测试数据作为业务数据;根据基础报文、预设场景活动清单,组装后生成业务数据报文;根据环境配置信息读取消息队列连接方式,建立消息队列并推送报文,以使所述组装后生成的业务数据报文提交至交换机。
50.具体实施时,以订单报文为例,订单报文的组装按以下顺序进行:1)基础报文为每一个活动都会使用的字段,如订单时间,买卖方id等等;2)活动list报文是由各个业务场景决定的,如果需要进行券活动的风控则需要组装订单用券信息,如果需要进行会员等级的风控则需要组装会员等级信息,比如activityid字段标识了订单参加的活动列表,多个活动根据逗号分隔循环组装;3)最终报文是由基础报文和活动list报文共同组成的。
51.作为本实施例中的优选,所述组装业务数据报文包括:根据所述业务数据组装所述业务数据报文时,同时进行多个预设场景的风控。
52.具体实施时,为了达到生产一致的业务场景,对于测试数据的构造需要足够真实,如一个订单可以通过mq报文的组装,同时进行多个活动的风控,独立进行风控校验和返回各自的风控结果。
53.作为本实施例中的优选,所述读取业务数据还包括:每次读取所述业务数据之前,执行清理测试数据操作。
54.具体实施时,为了达到用例循环执行的目的,还需要引入测试数据的清理,每次执行前清理测试数据,保证自动化测试可以循环正确的进行。
55.作为本实施例中的优选,所述校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果,包括:校验业务接口实际返回结果与所述测试预期结果是否一致;校验风控记录表中的实际记录结果与所述测试预期结果是否一致;如果均一致,则测试结果标记为成功。
56.具体实施时,对于业务接口返回实际结果,使用python-request库调用提供给业务方的接口,查询对应订单返回给业务方的实际结果,用于和预期结果的一致性校验;对于风控记录表中实际结果,使用python-pymsql库建立和风控系统的mysql连接,查询订单参加各个活动的风控实际结果,用于和预期结果的一致性校验。
57.对于实际结果和预期结果校验,使用上述过程中获取到的实际结果,数据中的预期结果做比对:若三者均一致,表示风控预期结果=风控系统执行落库结果=风控系统对外提供的结果,该场景用例执行通过,标记成功。若三者不一致,表示预期结果和实际结果有差异,该场景用例可能存在问题执行不通过,标记为失败。
58.作为本实施例中的优选,所述所述校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果,还包括:基于所述预设自动化测试框架生成测试结果并生成可视化测试报告。
59.具体实施时,测试结果报告输出,使用预设自动化测试框架中的目标库对本次所有场景用例进行统计,并输出可视化报告,测试人员可参考进行结果分析和问题定位。
60.作为本实施例中的优选,所述基于预设自动化测试框架,构造测试数据,其中所述测试数据被配置有测试预期结果以及测试执行环境,包括:基于预设自动化测试框架,根据
消息队列报文确定待生成的测试数据表;在所述测试数据表中配置所述测试预期结果;基于预设自动化测试框架,确定所述测试数据对应的所述测试执行环境。
61.具体实施时,根据mq报文确定excel数据列:选择了excel存储测试数据,首先需要根据mq的报文确定excel数据列。可以使用报文中的基础数据作为excel的列名,这样每一行的数据组装后就是一个订单的mq报文,且可以保证每个报文各不相同。根据测试数据编写预期结果,确定excel数据源的列字段后,可以按一行一个订单的维度构造测试数据,并编写测试预期结果:不同的多个列作为在测试过程中需要组装报文依赖的字段数据,单独的列作为每一个订单的预期结果。确定执行环境信息,测试框架的环境信息存储在ini配置文件中,当需要切换环境执行时,更改文件中的环境tag即可,测试框架会根据环境tag读取不同环境的环境信息。
62.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
63.根据本技术实施例,还提供了一种用于实施上述自动化测试方法的自动化测试装置,如图3所示,该装置包括:
64.测试数据构造模块301,用于基于预设自动化测试框架,构造测试数据,其中所述测试数据被配置有测试预期结果以及测试执行环境;
65.业务处理模块302,用于根据所述测试数据、所述测试预期结果、所述测试执行环境,通过所述预设自动化测试框架启动自动化业务处理流程,其中所述自动化业务处理流程依次包括读取业务数据、组装业务数据报文、建立消息队列并推送报文,在读取所述业务数据之后装得到所述业务数据报文并建立所述消息队列后进行消息队列报文推送;
66.校验模块303,用于校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果,其中,所述校验所述自动化业务处理流程至少包括如下之一:校验业务接口实际返回结果与所述测试预期结果、校验风控记录表中的实际记录结果与所述测试预期结果。
67.本技术实施例的所述测试数据构造模块301中基于预设自动化测试框架,构造测试数据。对于测试数据的构造需要足够真实。比如,对于每个订单可以通过mq报文的组装,同时进行多个活动的风控,独立进行风控校验和返回各自的风控结果。
68.比如,根据mq报文确定excel数据列,选择了excel存储测试数据,根据mq的报文确定数据列。
69.在一种具体实施方式中,所述测试数据被配置有测试预期结果。比如,在确定数据源的列字段后,可以按一行一个订单的维度构造测试数据,并编写测试预期结果。
70.在一种优选实施方式中,所述测试数据被配置有测试执行环境。在所述预设自动化测试框架中的环境信息存储在相关配置文件中,当需要切换环境执行时,更改文件中的环境tag即可,测试框架会根据环境tag读取不同环境的环境信息。
71.本技术实施例的所述业务处理模块302中根据所述测试数据、所述测试预期结果、所述测试执行环境,通过所述预设自动化测试框架启动自动化业务处理流程。
72.在一种具体实施方式中,所述自动化业务处理流程依次包括读取业务数据、组装业务数据报文、建立消息队列并推送报文,在读取所述业务数据之后装得到所述业务数据
报文并建立所述消息队列后进行消息队列报文推送。
73.在一种优选实施方式中,经过了所述测试数据、所述测试预期结果、所述测试执行环境配置之后,通过所述预设自动化测试框架启动自动化业务处理流程。
74.本技术实施例的所述校验模块303中校验所述自动化业务处理流程,在所述预设自动化测试框架生成测试结果。对得到的结果进行校验,即业务执行后处理流程,主要是进行业务接口返回实际结果、查询风控记录表实际结果、实际结果和预期结果对比校验和测试报告生成。
75.在一种具体实施方式中,所述校验所述自动化业务处理流程至少包括:校验业务接口实际返回结果与所述测试预期结果。即风控预期结果。
76.在一种优选实施方式中,所述校验所述自动化业务处理流程至少包括:校验风控记录表中的实际记录结果与所述测试预期结果。即风控系统执行落库结果。
77.显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
78.为了更好的理解上述自动化测试方法流程,以下结合优选实施例对上述技术方案进行解释说明,但不用于限定本发明实施例的技术方案。
79.本技术实施例中的自动化测试方法,基于python自动化框架实现了数据源的读取和写入、业务http接口和mq文的推送、测试结果的比对和测试报告的数据的风控场景的自动化测试流程。风控场景自动化实现后,每次迭代的回归测试时间由原先时间缩短至1/8的耗时,大大提升了测试效率,避免了大量的重复的手工测试,对系统的快速上线和迭代均有很好的效果。
80.如图4所示,是本技术实施例中自动化测试方法的流程示意图,实现的具体过程包括如下步骤:
81.步骤s1,数据准备。
82.整体流程主要是构造测试数据、根据测试数据编写预期结果和确定执行环境信息,具体如下:
83.步骤s11,根据mq报文确定excel数据列:选择excel存储测试数据,首先需要根据mq的报文确定excel数据列,如真实业务的mq报文日志如下:
84.可以使用报文中的基础数据作为excel的列名,这样每一行的数据组装后就是一个订单的mq报文,且可以保证每个报文各不相同;
85.步骤s12,根据测试数据编写预期结果:确定excel数据源的列字段后,可以按一行一个订单的维度构造测试数据,并编写测试预期结果:a-p列(excel数据表)为在测试过程中需要组装报文依赖的字段数据,q列为每一个订单的预期结果。
86.步骤s13,确定执行环境信息:测试框架的环境信息存储在ini配置文件中,当需要切换环境执行时,更改文件中的环境tag即可,测试框架会根据环境tag读取不同环境的环境信息。
87.步骤s2,业务请求。
88.整体流程为自动化业务处理流程,主要是进行:脏数据清理、订单报文组装、mq连接建立和报文推送。具体如下:
89.步骤s21,数据读取和历史数据清理:测试数据构造完成后,在业务请求前,需要清理当前环境中已存在的数据,从而保证业务执行时,没有脏数据污染。读取excel数据后,根据读取到的订单信息,使用python-elasticsearch库连接环境的es系统,清除对应的订单用户数据即可完成数据清理。
90.步骤s22,订单报文组装:订单报文的组装按以下顺序进行:1)基础报文为每一个活动都会使用的字段,如订单时间,买卖方id等;2)活动list报文是由各个业务场景决定的,如果需要进行券活动的风控则需要组装订单用券信息,如果需要进行会员等级的风控则需要组装会员等级信息,比如excel数据中b列activityid字段标识了订单参加的活动列表,多个活动根据逗号分隔循环组装;3)最终报文是由基础报文和活动list报文共同组成的。
91.步骤s23,mq报文推送.。
92.使用python-pika库处理mq连接和推送:1)根据环境配置信息读取mq连接方式,建立mq连接;2)推送步骤s22组装的订单报文至交换机。
93.步骤s3,应用校验。为业务执行后处理流程,主要是进行业务接口返回实际结果、查询风控记录表实际结果、实际结果和预期结果对比校验和测试报告生成。具体如下:
94.步骤s31,业务接口返回实际结果:使用python-request库调用提供给业务方的接口,查询对应订单返回给业务方的实际结果,用于和预期结果的一致性校验。
95.步骤s3,风控记录表中实际结果:使用python-pymsql库建立和风控系统的mysql连接,查询订单参加各个活动的风控实际结果,用于和预期结果的一致性校验。
96.步骤s33,实际结果和预期结果校验:使用步骤s31和步骤s3.2中获取到的实际结果,和1.2中填写在excel中的预期结果做比对。若三者均一致,表示风控预期结果=风控系统执行落库结果=风控系统对外提供的结果,该场景用例执行通过,标记成功。若三者不一致,表示预期结果和实际结果有差异,该场景用例可能存在问题执行不通过,标记为失败。
97.步骤s34,测试结果报告输出:使用python-allure库对本次所有场景用例进行统计,并输出可视化报告,测试人员可参考进行结果分析和问题定位。
98.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献