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

基于大数据构造的名单系统测试方法、装置、设备及介质与流程

2022-02-21 20:40:43 来源:中国专利 TAG:


1.本发明涉及大数据技术领域,尤其涉及一种基于大数据构造的名单系统测试方法、装置、设备及介质。


背景技术:

2.信用卡名单系统是销售、市场业务领域中对符合某些条件的客群(如网申断点、预约激活等任务节点的客户)进行精准定向促动的平台,同时也是信用卡精准、统一、高效、智能的客户名单管理平台。由于数据源众多,且都利用批处理任务做名单收集、名单筛选,并最终输出名单,因此,在测试过程中会遇到以下问题:
3.1、测试数据主要依赖上游系统,耗时过长,影响整体测试效率,不利于批量类场景验证的可持续发展;
4.2、缺乏针对业务场景和用户场景的批量数据文件的准备,容易导致测试覆盖不全;
5.3、由于对上游的外部系统数据的依赖,难以实现自动化测试,导致系统测试和回归测试的效率低下。


技术实现要素:

6.鉴于以上内容,有必要提供一种基于大数据构造的名单系统测试方法、装置、设备及介质,旨在解决名单系统测试覆盖面不全,且效率低的问题。
7.一种基于大数据构造的名单系统测试方法,所述基于大数据构造的名单系统测试方法包括:
8.当获取到待测试名单系统时,对所述待测试名单系统进行冒烟测试及系统测试,得到历史测试数据;
9.当接收到对所述待测试名单系统的回归测试指令时,根据所述回归测试指令确定与所述待测试名单系统相通信的目标系统;
10.获取连接于所述待测试名单系统与所述目标系统的中间件系统,向所述中间件系统发送消息请求,并接收所述中间件系统反馈于所述消息请求的数据作为第一数据源;
11.调用所述目标系统的目标接口,并基于配置协议从所述目标接口获取数据作为第二数据源;
12.获取预先配置的文件结构模型,并根据所述文件结构模型及所述历史测试数据构造第三数据源;
13.将所述第一数据源、所述第二数据源及所述第三数据源存储至缓存数据池,得到待验证数据;
14.解析所述待验证数据的数据结构,并基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果。
15.根据本发明优选实施例,所述根据所述回归测试指令确定与所述待测试名单系统
相通信的目标系统包括:
16.解析所述回归测试指令,得到所述回归测试指令所携带的信息;
17.获取预设标签,其中,所述预设标签对应于存储系统标识的地址;
18.根据所述预设标签建立正则表达式;
19.利用所述正则表达式遍历所述回归测试指令所携带的信息,并将遍历到的与所述正则表达式相匹配的信息确定为目标地址;
20.连接至所述目标地址,并从所述目标地址处获取数据得到系统标识;
21.将与各所述系统标识对应的系统确定为所述目标系统。
22.根据本发明优选实施例,所述根据所述文件结构模型及所述历史测试数据构造第三数据源包括:
23.解析所述回归测试指令,得到目标任务场景;
24.利用所述文件结构模型识别所述目标任务场景的数据结构,得到目标结构;
25.根据所述目标结构创建数据读取函数;
26.利用所述数据读取函数从所述历史测试数据中读取得到至少一个目标字段;
27.对所述目标字段进行组装,得到所述第三数据源。
28.根据本发明优选实施例,所述对所述目标字段进行组装,得到所述第三数据源包括:
29.根据所述目标结构确定各所述目标字段在中间文件中的位置;
30.根据所述目标字段在所述中间文件中的位置拼接所述目标字段,得到所述中间文件;
31.当所述目标结构对应于定长字段时,识别所述中间文件中的空字段,并对所述空字段进行填充处理,对填充处理后的所述中间文件进行落表,得到所述第三数据源;或者
32.当所述目标结构对应于非定长字段时,利用分隔符分割所述中间文件,对分割后的所述中间文件进行落表,得到所述第三数据源。
33.根据本发明优选实施例,所述基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果包括:
34.获取所述待验证数据中的第一数据源的消息体作为待验证消息体;
35.从所述中间件系统中获取消息体作为实际消息体;
36.验证所述待验证消息体及所述实际消息体是否相同;
37.当所述待验证消息体与所述实际消息体不相同时,确定所述测试结果为所述待验证数据中的第一数据源未通过验证;或者
38.当所述待验证消息体与所述实际消息体相同时,将所述待验证消息体下发至所述目标系统,当监听到所述目标系统的响应消息时,确定所述测试结果为所述待验证数据中的第一数据源通过验证;或者当未监听到所述目标系统的响应消息时,确定所述测试结果为所述待验证数据中的第一数据源未通过验证。
39.根据本发明优选实施例,所述基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果还包括:
40.调用所述目标接口获取与所述待验证数据中的第二数据源对应的目标数据,当所述待验证数据中的第二数据源与所述目标数据相同时,确定所述测试结果为所述待验证数
据中的第二数据源通过验证;或者当所述待验证数据中的第二数据源与所述目标数据不相同时,确定所述测试结果为所述待验证数据中的第二数据源未通过验证;
41.对于所述待验证数据中的所述第三数据源,获取与所述第三数据源对应的文件逻辑作为目标文件逻辑,当所述第三数据源的文件逻辑与所述目标文件逻辑相同时,确定所述测试结果为所述第三数据源通过验证;或者当所述第三数据源的文件逻辑与所述目标文件逻辑不相同时,确定所述测试结果为所述第三数据源未通过验证。
42.根据本发明优选实施例,在所述得到测试结果后,所述方法还包括:
43.当所述测试结果为所述待测试名单系统通过验证时,获取所述待测试名单系统中的用户数据;
44.根据所述用户数据从所述目标系统中获取用户行为信息;
45.基于bm25算法提取所述用户行为信息的文本摘要;
46.基于最短路径分词算法对所述文本摘要进行分词处理,得到中间文本;
47.基于隐马尔科夫算法识别所述中间文本的实体,得到候选实体;
48.获取预先构建的字典,并利用所述字典对所述候选实体进行清洗,得到用户标签;
49.将所述用户标签发送至所述目标系统。
50.一种基于大数据构造的名单系统测试装置,所述基于大数据构造的名单系统测试装置包括:
51.测试单元,用于当获取到待测试名单系统时,对所述待测试名单系统进行冒烟测试及系统测试,得到历史测试数据;
52.确定单元,用于当接收到对所述待测试名单系统的回归测试指令时,根据所述回归测试指令确定与所述待测试名单系统相通信的目标系统;
53.获取单元,用于获取连接于所述待测试名单系统与所述目标系统的中间件系统,向所述中间件系统发送消息请求,并接收所述中间件系统反馈于所述消息请求的数据作为第一数据源;
54.所述获取单元,还用于调用所述目标系统的目标接口,并基于配置协议从所述目标接口获取数据作为第二数据源;
55.构造单元,用于获取预先配置的文件结构模型,并根据所述文件结构模型及所述历史测试数据构造第三数据源;
56.存储单元,用于将所述第一数据源、所述第二数据源及所述第三数据源存储至缓存数据池,得到待验证数据;
57.验证单元,用于解析所述待验证数据的数据结构,并基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果。
58.一种计算机设备,所述计算机设备包括:
59.存储器,存储至少一个指令;及
60.处理器,执行所述存储器中存储的指令以实现所述基于大数据构造的名单系统测试方法。
61.一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被计算机设备中的处理器执行以实现所述基于大数据构造的名单系统测试方法。
delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
72.其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
73.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
74.所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtual private network,vpn)等。
75.s10,当获取到待测试名单系统时,对所述待测试名单系统进行冒烟测试及系统测试,得到历史测试数据。
76.在本实施例中,整体的自动化验证可以基于testng框架,将各个测试流程串联起来,同时,还可以将测试过程中的各个子任务(如大数据构造等)封装在程序块中,以方便调用,从而提高了测试效率。
77.在本实施例中,所述待测试名单系统是指需要被测试的客户的名单系统。
78.在本实施例中,所述冒烟测试是指将代码更改嵌入到所述待测试名单系统中之前,对更改的代码等进行验证的过程。
79.在本实施例中,所述系统测试是指对所述待测试名单系统的整个系统的测试,以检验所述待测试名单系统是否有异常。
80.需要说明的是,在对所述待测试名单系统执行所述冒烟测试及所述系统测试时,需要执行预先配置的全部测试流程,因此,本实施方式保留测试过程中完整的测试数据作为所述历史测试数据。
81.s11,当接收到对所述待测试名单系统的回归测试指令时,根据所述回归测试指令确定与所述待测试名单系统相通信的目标系统。
82.在本实施例中,所述回归测试指令可以由相关工作人员触发,如测试人员、开发人员等鞥。
83.在本发明的至少一个实施例中,所述根据所述回归测试指令确定与所述待测试名单系统相通信的目标系统包括:
84.解析所述回归测试指令,得到所述回归测试指令所携带的信息;
85.获取预设标签,其中,所述预设标签对应于存储系统标识的地址;
86.根据所述预设标签建立正则表达式;
87.利用所述正则表达式遍历所述回归测试指令所携带的信息,并将遍历到的与所述正则表达式相匹配的信息确定为目标地址;
88.连接至所述目标地址,并从所述目标地址处获取数据得到系统标识;
89.将与各所述系统标识对应的系统确定为所述目标系统。
90.其中,所述预设标签可以进行自定义配置。
91.例如:所述预设标签可以配置为ad。
92.进一步地,根据所述预设标签建立的所述正则表达式的形式可以为ad(),表示获
取带有ad标签的数据。
93.进一步地,利用所述正则表达式ad()遍历所述回归测试指令所携带的信息,并将遍历到的与所述正则表达式ad()相匹配的信息确定为所述目标地址,连接至所述目标地址,以便从所述目标地址处获取数据作为所述系统标识列表。
94.在本实施例中,所述系统标识列表中存储着与所述待测试名单系统相通信的目标系统的系统标识。
95.每个目标系统对应于一个系统标识,因此,根据所述系统标识可以准确获取到所述目标系统。
96.通过上述实施方式,能够基于标签及正则表达式快速获取到需要的数据,并且,由于标签的唯一性,获取到的数据也更加准确。
97.在本实施例中,所述目标系统是指与所述待测试名单系统相通信的下游系统。
98.例如:所述目标系统可以包括,但不限于:ai(artificial intelligence,人工智能)外呼系统、商机平台、人工坐席系统。
99.s12,获取连接于所述待测试名单系统与所述目标系统的中间件系统,向所述中间件系统发送消息请求,并接收所述中间件系统反馈于所述消息请求的数据作为第一数据源。
100.可以理解的是,由于不同业务场景对于数据有不同的需求,因此,所述待测试名单系统与所述目标系统间的数据交互具有多样性。
101.例如:对于预约激活任务场景下的客户名单,通常为消息队列的数据类型。因此,在所述待测试名单系统与所述目标系统中间将连接一个中间件系统,以辅助进行数据的存储及传输。
102.在本实施例中,所述消息请求用于向所述中间件系统请求数据。
103.其中,所述中间件系统可以为mq(message queue,消息队列)系统。
104.相应地,从所述中间件系统反馈的所述第一数据源可以为消息队列。
105.s13,调用所述目标系统的目标接口,并基于配置协议从所述目标接口获取数据作为第二数据源。
106.在本实施例中,可以通过超文本传输协议(hypertext transfer prtcl,http)等从所述目标接口获取数据作为所述待验证数据中的第二数据源。
107.进一步地,获取到的所述待验证数据中的第二数据源为接口文件形式。
108.s14,获取预先配置的文件结构模型,并根据所述文件结构模型及所述历史测试数据构造第三数据源。
109.在本实施例中,所述文件结构模型相当于预先配置的一种文件模板。通过所述文件结构模型能够对每个文件的结构进行拆解,进而了解到文件的数据结构。
110.在本发明的至少一个实施例中,所述根据所述文件结构模型及所述历史测试数据构造第三数据源包括:
111.解析所述回归测试指令,得到目标任务场景;
112.利用所述文件结构模型识别所述目标任务场景的数据结构,得到目标结构;
113.根据所述目标结构创建数据读取函数;
114.利用所述数据读取函数从所述历史测试数据中读取得到至少一个目标字段;
115.对所述至少一个目标字段进行组装,得到所述第三数据源。
116.举例而言,所述目标任务场景可以包括,但不限于:网申断点、预约激活等。
117.在所述文件结构模型中,根据不同的目标任务场景配置了不同类型的数据结构。
118.例如:在一个目标结构中,可以配置0-19的字段代表客户号,20-x的字段代表身份证等。
119.也就是说,在所述文件结构模型中,明确了每个字段所表征的含义。
120.在本实施例中,所述数据读取函数可以包括,但不限于以下一种或者多种的组合:变量填充函数、正则表达式、常量获取函数。
121.需要说明的是,在以往的回归测试中,由于对上游数据的依赖性,通常需要按照顺序将整个系统的测试流程都执行一遍,然后才能进一步执行回归测试,无法直接验证指定任务场景下的任务。
122.例如:当要验证某个功能时,需要将旧功能到新功能都执行一次测试,这样在验证该某个功能时才有数据。
123.在上述实施方式中,能够直接对指定的任务场景进行大数据自动造数,实现了对测试数据的复用,使测试更加有针对性,同时简化了测试流程,提高了测试效率,进而缩短了发布时间。
124.具体地,所述对所述目标字段进行组装,得到所述第三数据源包括:
125.根据所述目标结构确定各所述目标字段在中间文件中的位置;
126.根据所述目标字段在所述中间文件中的位置拼接所述目标字段,得到所述中间文件;
127.当所述目标结构对应于定长字段时,识别所述中间文件中的空字段,并对所述空字段进行填充处理,对填充处理后的所述中间文件进行落表,得到所述第三数据源;或者
128.当所述目标结构对应于非定长字段时,利用分隔符分割所述中间文件,对分割后的所述中间文件进行落表,得到所述第三数据源。
129.其中,所述对所述空字段进行填充处理包括:
130.在所述空字段处补零;或者
131.对所述空字段进行左补空格处理。
132.通过上述实施方式,能够自动构造出依赖于各种任务场景的客群名单,提高了测试效率。
133.s15,将所述第一数据源、所述第二数据源及所述第三数据源存储至缓存数据池,得到待验证数据。
134.具体地,所述缓存数据池可以为es(elasticsearch)数据池。
135.在本实施例中,通过将所述第一数据源、所述第二数据源及所述第三数据源存储至所述缓存数据池,能够充分利用所述缓存数据池容量大的特征,进而保证了后续的验证过程中系统的性能,避免对系统的正常运行造成影响。
136.s16,解析所述待验证数据的数据结构,并基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果。
137.在本发明的至少一个实施例中,所述基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果包括:
138.获取所述待验证数据中的第一数据源的消息体作为待验证消息体;
139.从所述中间件系统中获取消息体作为实际消息体;
140.验证所述待验证消息体及所述实际消息体是否相同;
141.当所述待验证消息体与所述实际消息体不相同时,确定所述测试结果为所述待验证数据中的第一数据源未通过验证;或者
142.当所述待验证消息体与所述实际消息体相同时,将所述待验证消息体下发至所述目标系统,当监听到所述目标系统的响应消息时,确定所述测试结果为所述待验证数据中的第一数据源通过验证;或者当未监听到所述目标系统的响应消息时,确定所述测试结果为所述待验证数据中的第一数据源未通过验证。
143.通过上述实施方式,能够对所述待验证数据中的消息队列进行测试。
144.在本发明的至少一个实施例中,所述基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果还包括:
145.调用所述目标接口获取与所述待验证数据中的第二数据源对应的目标数据,当所述待验证数据中的第二数据源与所述目标数据相同时,确定所述测试结果为所述待验证数据中的第二数据源通过验证;或者当所述待验证数据中的第二数据源与所述目标数据不相同时,确定所述测试结果为所述待验证数据中的第二数据源未通过验证;
146.对于所述待验证数据中的所述第三数据源,获取与所述第三数据源对应的文件逻辑作为目标文件逻辑,当所述第三数据源的文件逻辑与所述目标文件逻辑相同时,确定所述测试结果为所述第三数据源通过验证;或者当所述第三数据源的文件逻辑与所述目标文件逻辑不相同时,确定所述测试结果为所述第三数据源未通过验证。
147.通过上述实施方式,能够对所述待验证数据中的离线文件及接口文件进行测试。
148.可以理解的是,当所述第一数据源、所述待验证数据中的第二数据源及所述第三数据源均通过验证时,则可以确定所述待测试名单系统通过验证。
149.在本发明的至少一个实施例中,在所述得到测试结果后,所述方法还包括:
150.当所述测试结果为所述待测试名单系统通过验证时,获取所述待测试名单系统中的用户数据;
151.根据所述用户数据从所述目标系统中获取用户行为信息;
152.基于bm25算法提取所述用户行为信息的文本摘要;
153.基于最短路径分词算法对所述文本摘要进行分词处理,得到中间文本;
154.基于隐马尔科夫算法识别所述中间文本的实体,得到候选实体;
155.获取预先构建的字典,并利用所述字典对所述候选实体进行清洗,得到用户标签;
156.将所述用户标签发送至所述目标系统。
157.在本实施例中,可以根据实际使用场景构建所述目标字典,以符合实际需求。
158.在上述实施方式中,采用以bm25相似度算法为载体的text rank算法,能够实现对文本摘要的优化提取,结合隐马尔科夫算法及根据实际场景构建的字典进行实体的二次提取,能够使提取到的实体更加准确。
159.进一步地,将所述用户标签发送至所述目标系统。例如:当所述目标系统为人工坐席系统或者ai外呼系统时,可以辅助坐席根据用户标签更好的与客户进行交流,或者根据不同的用户标签选择更加符合客户特征的话术,以提升用户体验。
160.需要说明的是,为了进一步提高数据的安全性,避免数据被恶意篡改,测试结果可存储于区块链节点中。
161.由以上技术方案可以看出,本发明能够当获取到待测试名单系统时,对所述待测试名单系统进行冒烟测试及系统测试,得到历史测试数据,当接收到对所述待测试名单系统的回归测试指令时,根据所述回归测试指令确定与所述待测试名单系统相通信的目标系统,获取连接于所述待测试名单系统与所述目标系统的中间件系统,向所述中间件系统发送消息请求,并接收所述中间件系统反馈于所述消息请求的数据作为第一数据源,调用所述目标系统的目标接口,并基于配置协议从所述目标接口获取数据作为第二数据源,获取预先配置的文件结构模型,并根据所述文件结构模型及所述历史测试数据构造第三数据源,直接对指定的任务场景进行大数据自动造数,实现了对测试数据的复用,使测试更加有针对性,同时简化了测试流程,提高了测试效率,进而缩短了发布时间,将所述第一数据源、所述第二数据源及所述第三数据源存储至缓存数据池,得到待验证数据,能够充分利用所述缓存数据池容量大的特征,进而保证了后续的验证过程中系统的性能,避免对系统的正常运行造成影响,解析所述待验证数据的数据结构,并基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果,进而实现对消息队列、离线文件及接口文件的自动化测试。
162.如图2所示,是本发明基于大数据构造的名单系统测试装置的较佳实施例的功能模块图。所述基于大数据构造的名单系统测试装置11包括测试单元110、确定单元111、获取单元112、构造单元113、存储单元114、验证单元115。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
163.当获取到待测试名单系统时,测试单元110对所述待测试名单系统进行冒烟测试及系统测试,得到历史测试数据。
164.在本实施例中,整体的自动化验证可以基于testng框架,将各个测试流程串联起来,同时,还可以将测试过程中的各个子任务(如大数据构造等)封装在程序块中,以方便调用,从而提高了测试效率。
165.在本实施例中,所述待测试名单系统是指需要被测试的客户的名单系统。
166.在本实施例中,所述冒烟测试是指将代码更改嵌入到所述待测试名单系统中之前,对更改的代码等进行验证的过程。
167.在本实施例中,所述系统测试是指对所述待测试名单系统的整个系统的测试,以检验所述待测试名单系统是否有异常。
168.需要说明的是,在对所述待测试名单系统执行所述冒烟测试及所述系统测试时,需要执行预先配置的全部测试流程,因此,本实施方式保留测试过程中完整的测试数据作为所述历史测试数据。
169.当接收到对所述待测试名单系统的回归测试指令时,确定单元111根据所述回归测试指令确定与所述待测试名单系统相通信的目标系统。
170.在本实施例中,所述回归测试指令可以由相关工作人员触发,如测试人员、开发人员等鞥。
171.在本发明的至少一个实施例中,所述确定单元111根据所述回归测试指令确定与
所述待测试名单系统相通信的目标系统包括:
172.解析所述回归测试指令,得到所述回归测试指令所携带的信息;
173.获取预设标签,其中,所述预设标签对应于存储系统标识的地址;
174.根据所述预设标签建立正则表达式;
175.利用所述正则表达式遍历所述回归测试指令所携带的信息,并将遍历到的与所述正则表达式相匹配的信息确定为目标地址;
176.连接至所述目标地址,并从所述目标地址处获取数据得到系统标识;
177.将与各所述系统标识对应的系统确定为所述目标系统。
178.其中,所述预设标签可以进行自定义配置。
179.例如:所述预设标签可以配置为ad。
180.进一步地,根据所述预设标签建立的所述正则表达式的形式可以为ad(),表示获取带有ad标签的数据。
181.进一步地,利用所述正则表达式ad()遍历所述回归测试指令所携带的信息,并将遍历到的与所述正则表达式ad()相匹配的信息确定为所述目标地址,连接至所述目标地址,以便从所述目标地址处获取数据作为所述系统标识列表。
182.在本实施例中,所述系统标识列表中存储着与所述待测试名单系统相通信的目标系统的系统标识。
183.每个目标系统对应于一个系统标识,因此,根据所述系统标识可以准确获取到所述目标系统。
184.通过上述实施方式,能够基于标签及正则表达式快速获取到需要的数据,并且,由于标签的唯一性,获取到的数据也更加准确。
185.在本实施例中,所述目标系统是指与所述待测试名单系统相通信的下游系统。
186.例如:所述目标系统可以包括,但不限于:ai(artificial intelligence,人工智能)外呼系统、商机平台、人工坐席系统。
187.获取单元112获取连接于所述待测试名单系统与所述目标系统的中间件系统,向所述中间件系统发送消息请求,并接收所述中间件系统反馈于所述消息请求的数据作为第一数据源。
188.可以理解的是,由于不同业务场景对于数据有不同的需求,因此,所述待测试名单系统与所述目标系统间的数据交互具有多样性。
189.例如:对于预约激活任务场景下的客户名单,通常为消息队列的数据类型。因此,在所述待测试名单系统与所述目标系统中间将连接一个中间件系统,以辅助进行数据的存储及传输。
190.在本实施例中,所述消息请求用于向所述中间件系统请求数据。
191.其中,所述中间件系统可以为mq(message queue,消息队列)系统。
192.相应地,从所述中间件系统反馈的所述第一数据源可以为消息队列。
193.所述获取单元112调用所述目标系统的目标接口,并基于配置协议从所述目标接口获取数据作为第二数据源。
194.在本实施例中,可以通过超文本传输协议(hypertext transfer prtcl,http)等从所述目标接口获取数据作为所述待验证数据中的第二数据源。
195.进一步地,获取到的所述待验证数据中的第二数据源为接口文件形式。
196.构造单元113获取预先配置的文件结构模型,并根据所述文件结构模型及所述历史测试数据构造第三数据源。
197.在本实施例中,所述文件结构模型相当于预先配置的一种文件模板。通过所述文件结构模型能够对每个文件的结构进行拆解,进而了解到文件的数据结构。
198.在本发明的至少一个实施例中,所述构造单元113根据所述文件结构模型及所述历史测试数据构造第三数据源包括:
199.解析所述回归测试指令,得到目标任务场景;
200.利用所述文件结构模型识别所述目标任务场景的数据结构,得到目标结构;
201.根据所述目标结构创建数据读取函数;
202.利用所述数据读取函数从所述历史测试数据中读取得到至少一个目标字段;
203.对所述目标字段进行组装,得到所述第三数据源。
204.举例而言,所述目标任务场景可以包括,但不限于:网申断点、预约激活等。
205.在所述文件结构模型中,根据不同的目标任务场景配置了相应的不同类型的数据结构。
206.例如:在一个目标结构中,可以配置0-19的字段代表客户号,20-x的字段代表身份证等。
207.也就是说,在所述文件结构模型中,明确了每个字段所表征的含义。
208.在本实施例中,所述数据读取函数可以包括,但不限于以下一种或者多种的组合:变量填充函数、正则表达式、常量获取函数。
209.需要说明的是,在以往的回归测试中,由于对上游数据的依赖性,通常需要按照顺序将整个系统的测试流程都执行一遍,然后才能进一步执行回归测试,无法直接验证指定任务场景下的任务。
210.例如:当要验证某个功能时,需要将旧功能到新功能都执行一次测试,这样在验证该某个功能时才有数据。
211.在上述实施方式中,能够直接对指定的任务场景进行大数据自动造数,实现了对测试数据的复用,使测试更加有针对性,同时简化了测试流程,提高了测试效率,进而缩短了发布时间。
212.具体地,所述对所述目标字段进行组装,得到所述第三数据源包括:
213.根据所述目标结构确定各所述目标字段在中间文件中的位置;
214.根据所述目标字段在所述中间文件中的位置拼接所述目标字段,得到所述中间文件;
215.当所述目标结构对应于定长字段时,识别所述中间文件中的空字段,并对所述空字段进行填充处理,对填充处理后的所述中间文件进行落表,得到所述第三数据源;或者
216.当所述目标结构对应于非定长字段时,利用分隔符分割所述中间文件,对分割后的所述中间文件进行落表,得到所述第三数据源。
217.其中,所述对所述空字段进行填充处理包括:
218.在所述空字段处补零;或者
219.对所述空字段进行左补空格处理。
220.通过上述实施方式,能够自动构造出依赖于各种任务场景的客群名单,提高了测试效率。
221.存储单元114将所述第一数据源、所述第二数据源及所述第三数据源存储至缓存数据池,得到待验证数据。
222.具体地,所述缓存数据池可以为es(elasticsearch)数据池。
223.在本实施例中,通过将所述第一数据源、所述第二数据源及所述第三数据源存储至所述缓存数据池,能够充分利用所述缓存数据池容量大的特征,进而保证了后续的验证过程中系统的性能,避免对系统的正常运行造成影响。
224.验证单元115解析所述待验证数据的数据结构,并基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果。
225.在本发明的至少一个实施例中,所述验证单元115基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果包括:
226.获取所述待验证数据中的第一数据源的消息体作为待验证消息体;
227.从所述中间件系统中获取消息体作为实际消息体;
228.验证所述待验证消息体及所述实际消息体是否相同;
229.当所述待验证消息体与所述实际消息体不相同时,确定所述测试结果为所述待验证数据中的第一数据源未通过验证;或者
230.当所述待验证消息体与所述实际消息体相同时,将所述待验证消息体下发至所述目标系统,当监听到所述目标系统的响应消息时,确定所述测试结果为所述待验证数据中的第一数据源通过验证;或者当未监听到所述目标系统的响应消息时,确定所述测试结果为所述待验证数据中的第一数据源未通过验证。
231.通过上述实施方式,能够对所述待验证数据中的消息队列进行测试。
232.在本发明的至少一个实施例中,所述验证单元115基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果还包括:
233.调用所述目标接口获取与所述待验证数据中的第二数据源对应的目标数据,当所述待验证数据中的第二数据源与所述目标数据相同时,确定所述测试结果为所述待验证数据中的第二数据源通过验证;或者当所述待验证数据中的第二数据源与所述目标数据不相同时,确定所述测试结果为所述待验证数据中的第二数据源未通过验证;
234.对于所述待验证数据中的所述第三数据源,获取与所述第三数据源对应的文件逻辑作为目标文件逻辑,当所述第三数据源的文件逻辑与所述目标文件逻辑相同时,确定所述测试结果为所述第三数据源通过验证;或者当所述第三数据源的文件逻辑与所述目标文件逻辑不相同时,确定所述测试结果为所述第三数据源未通过验证。
235.通过上述实施方式,能够对所述待验证数据中的离线文件及接口文件进行测试。
236.可以理解的是,当所述第一数据源、所述待验证数据中的第二数据源及所述第三数据源均通过验证时,则可以确定所述待测试名单系统通过验证。
237.在本发明的至少一个实施例中,在所述得到测试结果后,当所述测试结果为所述待测试名单系统通过验证时,获取所述待测试名单系统中的用户数据;
238.根据所述用户数据从所述目标系统中获取用户行为信息;
239.基于bm25算法提取所述用户行为信息的文本摘要;
240.基于最短路径分词算法对所述文本摘要进行分词处理,得到中间文本;
241.基于隐马尔科夫算法识别所述中间文本的实体,得到候选实体;
242.获取预先构建的字典,并利用所述字典对所述候选实体进行清洗,得到用户标签;
243.将所述用户标签发送至所述目标系统。
244.在本实施例中,可以根据实际使用场景构建所述目标字典,以符合实际需求。
245.在上述实施方式中,采用以bm25相似度算法为载体的text rank算法,能够实现对文本摘要的优化提取,结合隐马尔科夫算法及根据实际场景构建的字典进行实体的二次提取,能够使提取到的实体更加准确。
246.进一步地,将所述用户标签发送至所述目标系统。例如:当所述目标系统为人工坐席系统或者ai外呼系统时,可以辅助坐席根据用户标签更好的与客户进行交流,或者根据不同的用户标签选择更加符合客户特征的话术,以提升用户体验。
247.需要说明的是,为了进一步提高数据的安全性,避免数据被恶意篡改,测试结果可存储于区块链节点中。
248.由以上技术方案可以看出,本发明能够当获取到待测试名单系统时,对所述待测试名单系统进行冒烟测试及系统测试,得到历史测试数据,当接收到对所述待测试名单系统的回归测试指令时,根据所述回归测试指令确定与所述待测试名单系统相通信的目标系统,获取连接于所述待测试名单系统与所述目标系统的中间件系统,向所述中间件系统发送消息请求,并接收所述中间件系统反馈于所述消息请求的数据作为第一数据源,调用所述目标系统的目标接口,并基于配置协议从所述目标接口获取数据作为第二数据源,获取预先配置的文件结构模型,并根据所述文件结构模型及所述历史测试数据构造第三数据源,直接对指定的任务场景进行大数据自动造数,实现了对测试数据的复用,使测试更加有针对性,同时简化了测试流程,提高了测试效率,进而缩短了发布时间,将所述第一数据源、所述第二数据源及所述第三数据源存储至缓存数据池,得到待验证数据,能够充分利用所述缓存数据池容量大的特征,进而保证了后续的验证过程中系统的性能,避免对系统的正常运行造成影响,解析所述待验证数据的数据结构,并基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果,进而实现对消息队列、离线文件及接口文件的自动化测试。
249.如图3所示,是本发明实现基于大数据构造的名单系统测试方法的较佳实施例的计算机设备的结构示意图。
250.所述计算机设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如基于大数据构造的名单系统测试程序。
251.本领域技术人员可以理解,所述示意图仅仅是计算机设备1的示例,并不构成对计算机设备1的限定,所述计算机设备1既可以是总线型结构,也可以是星形结构,所述计算机设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如所述计算机设备1还可以包括输入输出设备、网络接入设备等。
252.需要说明的是,所述计算机设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
253.其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、
移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是计算机设备1的内部存储单元,例如该计算机设备1的移动硬盘。存储器12在另一些实施例中也可以是计算机设备1的外部存储设备,例如计算机设备1上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器12还可以既包括计算机设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于计算机设备1的应用软件及各类数据,例如基于大数据构造的名单系统测试程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
254.处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是所述计算机设备1的控制核心(control unit),利用各种接口和线路连接整个计算机设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于大数据构造的名单系统测试程序等),以及调用存储在所述存储器12内的数据,以执行计算机设备1的各种功能和处理数据。
255.所述处理器13执行所述计算机设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于大数据构造的名单系统测试方法实施例中的步骤,例如图1所示的步骤。
256.示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在所述计算机设备1中的执行过程。例如,所述计算机程序可以被分割成测试单元110、确定单元111、获取单元112、构造单元113、存储单元114、验证单元115。
257.上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述基于大数据构造的名单系统测试方法的部分。
258.所述计算机设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
259.其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器等。
260.进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
261.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
262.总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根直线表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
263.尽管未示出,所述计算机设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器13逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
264.进一步地,所述计算机设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该计算机设备1与其他计算机设备之间建立通信连接。
265.可选地,该计算机设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机设备1中处理的信息以及用于显示可视化的用户界面。
266.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
267.图3仅示出了具有组件12-13的计算机设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述计算机设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
268.结合图1,所述计算机设备1中的所述存储器12存储多个指令以实现一种基于大数据构造的名单系统测试方法,所述处理器13可执行所述多个指令从而实现:
269.当获取到待测试名单系统时,对所述待测试名单系统进行冒烟测试及系统测试,得到历史测试数据;
270.当接收到对所述待测试名单系统的回归测试指令时,根据所述回归测试指令确定与所述待测试名单系统相通信的目标系统;
271.获取连接于所述待测试名单系统与所述目标系统的中间件系统,向所述中间件系统发送消息请求,并接收所述中间件系统反馈于所述消息请求的数据作为第一数据源;
272.调用所述目标系统的目标接口,并基于配置协议从所述目标接口获取数据作为第二数据源;
273.获取预先配置的文件结构模型,并根据所述文件结构模型及所述历史测试数据构造第三数据源;
274.将所述第一数据源、所述第二数据源及所述第三数据源存储至缓存数据池,得到待验证数据;
275.解析所述待验证数据的数据结构,并基于所述待验证数据的数据结构在所述缓存数据池中进行对比验证,得到测试结果。
276.具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
277.在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
278.本发明可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
279.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
280.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
281.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
282.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
283.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。本发明中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
284.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

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

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

相关文献