CN116991715A - 一种生成测试数据的方法、装置和服务器 - Google Patents
一种生成测试数据的方法、装置和服务器 Download PDFInfo
- Publication number
- CN116991715A CN116991715A CN202310878911.3A CN202310878911A CN116991715A CN 116991715 A CN116991715 A CN 116991715A CN 202310878911 A CN202310878911 A CN 202310878911A CN 116991715 A CN116991715 A CN 116991715A
- Authority
- CN
- China
- Prior art keywords
- data
- production
- processed
- production data
- conversion rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 164
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000004519 manufacturing process Methods 0.000 claims abstract description 236
- 238000006243 chemical reaction Methods 0.000 claims abstract description 99
- 230000006978 adaptation Effects 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 10
- 238000012423 maintenance Methods 0.000 claims description 4
- 238000004088 simulation Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000000586 desensitisation Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种生成测试数据的方法、装置和服务器,属于测试领域。所述生成测试数据的方法包括:从生产环境中获取生产数据;将所述生产数据放入Kafka队列中;从所述Kafka队列中取出待处理的生产数据,并获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;将所述目标生产数据作为测试数据放入测试数据库中。
Description
技术领域
本申请属于测试领域,具体涉及一种生成测试数据的方法、装置和服务器。
背景技术
在软件测试过程中,测试数据的质量决定着测试活动的成败。因而,如何生成测试数据是一个值得关注的问题。
相关技术往往是通过手工或脚本来制造测试数据,但是这种方式得到的测试数据的质量往往不高。
发明内容
本申请实施例提供一种生成测试数据的方法、装置和服务器,能够解决相关技术得到的测试数据的质量往往不高的问题。
第一方面,本申请实施例提供了一种生成测试数据的方法,该方法包括:
从生产环境中获取生产数据;
将所述生产数据放入Kafka队列中;
从所述Kafka队列中取出待处理的生产数据,并获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;
将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;
将所述目标生产数据作为测试数据放入测试数据库中。
第二方面,本申请实施例提供了一种生成测试数据的装置,该装置包括:
获取模块,用于从生产环境中获取生产数据;
放置模块,用于将所述生产数据放入Kafka队列中;
取出模块,用于从所述Kafka队列中取出待处理的生产数据;
所述获取模块,还用于获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;
转换模块,用于将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;
所述放置模块,还用于将所述目标生产数据作为测试数据放入测试数据库中。
第三方面,本申请实施例提供了一种服务器,该服务器包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的方法的步骤。
在本申请实施例中,从生产环境中获取生产数据;将所述生产数据放入Kafka队列中;从所述Kafka队列中取出待处理的生产数据,并获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;将所述目标生产数据作为测试数据放入测试数据库中。如此,通过从生产环境中获取生产数据,并将获取的生成数据放入Kafka队列中,可以方便后续从中取用待处理的生产数据,进而据此得到目标生成数据,由于待处理的生产数据来自于生产环境,这样可以保证测试数据具有高仿真性,准确率较高;同时,通过用于将敏感数据替换成非敏感数据的数据转换规则将所述待处理的生产数据进行转换,得到目标生产数据,并将所述目标生产数据作为测试数据放入测试数据库中,可以保证得到的测试数据中并不含有敏感数据,进而保证了测试数据的安全性。由于得到的测试数据不仅具备高仿真,而且可以保证安全性,大大提高了测试数据的质量,进而解决了相关技术得到的测试数据的质量往往不高的问题。
附图说明
图1是本申请实施例提供的一种生成测试数据的方法的整体架构图;
图2是本申请实施例提供的一种生成测试数据的方法的流程图;
图3是本申请实施例提供的另一种生成测试数据的方法的流程图;
图4是本申请实施例提供的另一种生成测试数据的方法的流程图;
图5是本申请实施例提供的另一种生成测试数据的方法的流程图;
图6是本申请实施例提供的另一种生成测试数据的方法的流程图;
图7是本申请实施例提供的一种生成测试数据的装置的结构框图;
图8是本申请实施例提供的一种服务器的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的一种生成测试数据的方法进行详细地说明。
在介绍本申请实施例提供的生成测试数据的方法之前,先对本申请实施例提供的生成测试数据的方法中涉及到的一些名词进行阐释。
Debezium:一种分布式服务,用于捕获数据库中的更改,以便应用程序可以查看这些更改并对它们做出响应。Debezium在更改事件流中记录每个数据库表中的所有行级更改,应用程序只需读取这些流,即可按更改事件发生的顺序查看更改事件。
Kafka:是一个基于分布式的、具有高吞吐量的发布、订阅模式的消息队列,主要应用于大数据领域,可以承担大数据的存储、分析和计算。
xxl-job:xxl-job是一个分布式任务调度平台。它可以与其他微服务组件一起构成微服务集群,不需要写大量代码,只需要简单的设置,即可实现复杂的定时任务。
Oracle:以分布式数据库为核心的数据库系统,具有完整的数据管理功能,实现了分布式处理功能,是一个完备关系的产品。
Mysql:关系型数据库管理系统,一个关系型数据库由一个或数个表格组成,将数据保存在不同的表中,速度和灵活性更高。
Postgres:提供了相对其他开放源代码数据库系统如Mysql,和专有系统如Oracle之外的另一种选择。包括了可以说是目前世界上最丰富的数据类型的支持,是全功能的自由软件数据库。
Java:一种面向对象的编程语言,Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论。
图1是是本申请实施例提供的一种生成测试数据的方法的整体架构图,如图1所示,本申请实施例提供的生成测试数据的方法应用于生产区与测试区环境中。
在本申请实施例中,使用Debezium等开源工具将生产区环境中的oracle、mysql、postgres等数据库中的主流关系型数据表数据传输到Kafka队列中。一种情况下,通过开源的定时任务管理器xxl-job驱动消费、适配服务,消费、适配服务从kafka队列的主题(topic)中取出生产数据并进行相应的数据脱敏和格式转换等操作,最终将脱敏和格式转换后的数据插入到测试区环境的数据库的库表中。
在此过程中,对关系型数据库的数据进行实时获取、解析替换,安全化和定向化后用于测试环境,提供了一种对关系型数据库的数据操作生成测试数据的方法。解决了软件功能和性能测试中的制造高质量且满足安全性的测试数据的难题,与目前制造测试数据的方法相比,在缩短制造测试数据的时间的同时保证了测试数据的质量,进而可以缩短软件测试周期、提升软件测试活动的成功率。
本申请实施例提供的生成测试数据的方法可以由电子设备执行,所述电子设备可以是一台服务器。或者,本申请实施例提供的生成测试数据的方法可以由多台电子设备执行,这多台电子设备均可以为服务器,亦即,由服务器集群执行本申请实施例提供的生成测试数据的方法。
图2是本申请实施例提供的一种生成测试数据的方法的流程图。如图2所示,本申请实施例提供的生成测试数据的方法,包括:
步骤210:从生产环境中获取生产数据;
步骤220:将所述生产数据放入Kafka队列中;
步骤230:从所述Kafka队列中取出待处理的生产数据,并获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;
步骤240:将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;
步骤250:将所述目标生产数据作为测试数据放入测试数据库中。
在步骤230中,所述敏感数据可包括身份证、手机号码、银行账号和地址中的至少一种。
在步骤240中所述将所述待处理的生产数据按照数据转换规则进行转换之前,本申请实施例提供的生成测试数据的方法还可包括:从所述配置数据库获取需要的配置数据,其中,所述配置数据包括所述数据转换规则。例如,每个消费转换进程运行过程前可以从postgres数据库中取出管理员针对自己定义的所有信息,并以此运行、完成通过生产数据制造测试数据的流程。
可选地,在本申请实施例中,可以在同步程序的配置页面列出含有需脱敏信息(身份证、手机号、住址、银行卡号)的库表列,由数据管理人员相应的针对该库表列配置脱敏规则,同时,后台同步程序可根据前台规则对规定库表列进行解析替换填充。
此外,如果存在分库分表的情况,测试环境理论上可以与生产环境的逻辑架构一致。
在本申请实施例中,通过从生产环境中获取生产数据,并将获取的生成数据放入Kafka队列中,可以方便后续从中取用待处理的生产数据,进而据此得到目标生成数据,由于待处理的生产数据来自于生产环境,这样可以保证测试数据具有高仿真性,准确率较高;同时,通过用于将敏感数据替换成非敏感数据的数据转换规则将所述待处理的生产数据进行转换,得到目标生产数据,并将所述目标生产数据作为测试数据放入测试数据库中,可以保证得到的测试数据中并不含有敏感数据,进而保证了测试数据的安全性。由于得到的测试数据不仅具备高仿真,而且可以保证安全性,大大提高了测试数据的质量,进而解决了相关技术得到的测试数据的质量往往不高的问题。
图3是本申请实施例提供的一种生成测试数据的方法的流程图。如图3所示,本申请实施例提供的生成测试数据的方法,包括:
步骤310:从生产环境中获取生产数据;
步骤320:将所述生产数据放入Kafka队列中;
步骤330:从所述Kafka队列中取出待处理的生产数据,并判断所述待处理的生产数据中是否存在待转换数据;
步骤340:在所述待处理的生成数据中存在待转换数据的情况下,获取所述待处理数据的数据转换规则;其中,所述数据转换规则包括按照库、表和列的关系配置的转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;
步骤350:所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;
步骤360:将所述目标生产数据作为测试数据放入测试数据库中。
在本申请实施例中,通过从生产环境中获取生产数据,并将获取的生成数据放入Kafka队列中,可以方便后续从中取用待处理的生产数据,进而据此得到目标生成数据,由于待处理的生产数据来自于生产环境,这样可以保证测试数据具有高仿真性,准确率较高;同时,通过用于将敏感数据替换成非敏感数据的数据转换规则将所述待处理的生产数据进行转换,得到目标生产数据,并将所述目标生产数据作为测试数据放入测试数据库中,可以保证得到的测试数据中并不含有敏感数据,进而保证了测试数据的安全性。由于得到的测试数据不仅具备高仿真,而且可以保证安全性,大大提高了测试数据的质量,进而解决了相关技术得到的测试数据的质量往往不高的问题。同时,判断待处理的生产数据中是否存在待转换数据,若存在,则获取数据转换规则,如此,对含有待转换数据的待处理的生产数据进行针对性处理,数据转换规则包括按照库、表和列的关系配置的转换规则,以保证对待转换数据进行完善的转换处理。
图4是本申请实施例提供的一种生成测试数据的方法的流程图。如图4所示,本申请实施例提供的生成测试数据的方法,包括:
步骤410:从生产环境中获取生产数据;
步骤420:将所述生产数据放入Kafka队列中;
步骤430:从所述Kafka队列中取出待处理的生产数据,并获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;
步骤440:判断是否立即启动消费适配服务;
步骤450:在立即启动消费适配服务的情况下,将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;
步骤460:在定时启动消费适配服务的情况下,在达到定时条件时将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据。
步骤470:将所述目标生产数据作为测试数据放入测试数据库中。
在本申请实施例中,所述消费适配服务可包括:网页页面、后台和配置数据库;例如,消费适配服务可以包含web页面、Java语言编写的后台以及Postgres数据库。
所述网页页面提供以下至少一种功能:权限管理、数据制造流程配置、数据转换种类、规则的生成和维护;例如,Web页面可以作为数据管理员的交互窗口,提供数据管理员进行权限管理、数据制造流程配置、数据替换种类和规则的生成维护等。
所述后台用于从所述网页页面获取配置的所有数据,并将获取的数据保存到配置数据库;例如,Java后台可以与Web页面交互获取数据管理员在页面定义的所有数据,并存到postgres数据库中。
在所述将所述待处理的生产数据按照数据转换规则进行转换之前,所述方法还包括:从所述配置数据库获取需要的配置数据,其中,所述配置数据包括所述数据转换规则。例如,每个消费转换进程运行过程前可以从postgres数据库中取出管理员针对自己定义的所有信息,并以此运行、完成通过生产数据制造测试数据的流程。
在本申请实施例中,通过从生产环境中获取生产数据,并将获取的生成数据放入Kafka队列中,可以方便后续从中取用待处理的生产数据,进而据此得到目标生成数据,由于待处理的生产数据来自于生产环境,这样可以保证测试数据具有高仿真性,准确率较高;同时,通过用于将敏感数据替换成非敏感数据的数据转换规则将所述待处理的生产数据进行转换,得到目标生产数据,并将所述目标生产数据作为测试数据放入测试数据库中,可以保证得到的测试数据中并不含有敏感数据,进而保证了测试数据的安全性。由于得到的测试数据不仅具备高仿真,而且可以保证安全性,大大提高了测试数据的质量,进而解决了相关技术得到的测试数据的质量往往不高的问题。同时,在立即启动和定时启动的情况下,使用消费适配服务,对待处理的生产数据进行转换,得到目标生产数据,保证数据转换流程可控。
上述所有本申请实施例中,所述敏感数据包括身份证、手机号码、银行账号和地址中的至少一种。
在此情况下,上述所有本申请实施例中,涉及到的数据替换种类包括:身份证信息替换、手机号码替换、缺省替换、银行账号替换和地址替换等。
需要了解的是,敏感数据包括但不限于上述几种,在有需要的情况下,还可在任一本申请实施例中按需增加数据替换种类。具体地,在网页(web)页面中可选取数据替换种类定制成具体的数据替换规则,每一条规则由编辑人命名,该命名在该发明的系统中具有唯一性,该规则按人员的账号权限进行管理,对该规则有权限的人员可以选用该规则。每一个具体业务系统的生产库表到测试库表的数据同步流程占用一个“消费、适配服务”进程。每个业务系统对应的数据安全管理人员在本发明的web页面上维护、选用一系列规则来定制每个数据制造流程,以实现数据的安全性和格式一致等要求。
在本申请实施例中,通过从生产环境中获取生产数据,并将获取的生成数据放入Kafka队列中,可以方便后续从中取用待处理的生产数据,进而据此得到目标生成数据,由于待处理的生产数据来自于生产环境,这样可以保证测试数据具有高仿真性,准确率较高;同时,通过用于将敏感数据替换成非敏感数据的数据转换规则将所述待处理的生产数据进行转换,得到目标生产数据,并将所述目标生产数据作为测试数据放入测试数据库中,可以保证得到的测试数据中并不含有敏感数据,进而保证了测试数据的安全性。由于得到的测试数据不仅具备高仿真,而且可以保证安全性,大大提高了测试数据的质量,进而解决了相关技术得到的测试数据的质量往往不高的问题。其中,对身份证、手机号码、银行账号和地址等敏感数据进行脱敏处理,去除敏感信息,提高了测试数据的安全性。
图5是本申请实施例提供的一种生成测试数据的方法的流程图。如图5所示,本申请实施例提供的生成测试数据的方法,包括:
步骤510:从生产环境中获取生产数据;
步骤520:将所述生产数据放入Kafka队列中;
步骤530:从所述Kafka队列中取出待处理的生产数据,并获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则,所述数据转换规则包括缺省替换规则;
步骤540:获取源表和目的表;其中,所述源表为所述生产数据所使用的表,所述目的表为测试数据所使用的表;
步骤550:将所述源表和所述目的表的结构进行对比;
步骤560:在所述目的表的结构中存在所述源表中没有的目标行或目标列的情况下,将所述待处理的生产数据按照数据转换规则中的缺省替换规则进行转换,得到目标生产数据。
步骤570:将所述目标生产数据作为测试数据放入测试数据库中。
通常测试环境的软件版本会比生产环境的软件版本高,这样就会导致测试环境和生产环境的表结构不同,测试环境的表结构中可能存在一些数据列或数据行,在生产环境的数据表中是没有的。因而,此时可以将源表和目的表的结构进行对比,查出目的表结构中多出的部分,按着缺省替换的规则插入数据,保证数据列不为空,其中,插入数据的内容根据测试环境需要的数据的字段来确定。
在本申请实施例中,通过从生产环境中获取生产数据,并将获取的生成数据放入Kafka队列中,可以方便后续从中取用待处理的生产数据,进而据此得到目标生成数据,由于待处理的生产数据来自于生产环境,这样可以保证测试数据具有高仿真性,准确率较高;同时,通过用于将敏感数据替换成非敏感数据的数据转换规则将所述待处理的生产数据进行转换,得到目标生产数据,并将所述目标生产数据作为测试数据放入测试数据库中,可以保证得到的测试数据中并不含有敏感数据,进而保证了测试数据的安全性。由于得到的测试数据不仅具备高仿真,而且可以保证安全性,大大提高了测试数据的质量,进而解决了相关技术得到的测试数据的质量往往不高的问题。同时,通过将源表与目的表的结构进行对比,将目的表的结构中存在所述源表中没有的目标行或目标列的待处理的生产数据按照数据转换规则中的缺省替换规则进行转换,得到目标生产数据,以保证目的表数据格式一致,便于测试数据的使用。
上述所有本申请实施例中,所述待处理的生产数据的条数可大于第一阈值,或者,所述待处理的生产数据的数据量可大于第二阈值。也就是说,在本申请提供的所有实施例中,可以同时对大量待处理的生产数据进行处理,所述生成测试数据的方法可以实现大批量生成测试数据。
在本申请实施例中,通过从生产环境中获取生产数据,并将获取的生成数据放入Kafka队列中,可以方便后续从中取用待处理的生产数据,进而据此得到目标生成数据,由于待处理的生产数据来自于生产环境,这样可以保证测试数据具有高仿真性,准确率较高;同时,通过用于将敏感数据替换成非敏感数据的数据转换规则将所述待处理的生产数据进行转换,得到目标生产数据,并将所述目标生产数据作为测试数据放入测试数据库中,可以保证得到的测试数据中并不含有敏感数据,进而保证了测试数据的安全性。由于得到的测试数据不仅具备高仿真,而且可以保证安全性,大大提高了测试数据的质量,进而解决了相关技术得到的测试数据的质量往往不高的问题。同时,对大于一定阈值的待处理生产数据进行处理,可以实现大批量生成测试数据,实用性更强。
图6是本申请实施例提供的一种生成测试数据的方法的流程图。如图6所示,本申请实施例提供的生成测试数据的方法,涉及到Web界面,后台以及关系型数据库,数据管理人员可通过Web界面参与到整个测试数据生成的过程中。
数据管理人员登录界面:
判断系统中是否已有所需的造数流程;
若系统中已有所需的造数流程,则直接判断是否立即启动消费适配服务;
若系统中没有所需的造数流程,则页面配置或修改生产、测试数据库连接信息并由数据管理人员判断库中有无需转换数据;
若数据管理人员判断有需转换数据,则按照库、表、列的关系配置转换规则并判断是否立即启动消费适配服务;
若数据管理人员判断没有需转换数据,则直接判断是否立即启动消费适配服务。
上述所有步骤最终指向由数据管理人员判断是否立即启动消费适配服务;
若数据管理人员判断不立即启动消费适配服务,则从xxl-job界面配置消费定时任务并定时启动消费适配服务;
无论是立即启动还是定时启动消费适配服务,在消费适配服务完成后,均需判断消费的数据是否需要转换;
若需要转换,则拉取对应规则对数据进行替换,将数据插入测试数据库;
若不需要转换,则直接将数据插入测试数据库。
在本申请实施例中,利用Web界面使得数据管理人员可以参与把生产数据转换成测试数据的过程,提供了一种基于生产数据制造大批量、高仿真且安全的测试数据方法;能解决软件功能、性能测试中的造数和环境数据一致性缺失的难题,实现了生成测试数据活动中数据脱敏和格式一致的要求。
图7是本申请实施例提供的一种生成测试数据的装置的结构框图。如图7所示,本申请实施例提供的一种生成测试数据的装置700包括:获取模块710、放置模块720、取出模块730和转换模块740;
获取模块710,用于从生产环境中获取生产数据;
放置模块720,用于将所述生产数据放入Kafka队列中;
取出模块730,用于从所述Kafka队列中取出待处理的生产数据;
所述获取模块710,还用于获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;
转换模块740,用于将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;
所述放置模块720,还用于将所述目标生产数据作为测试数据放入测试数据库中。
在本申请实施例中,通过从生产环境中获取生产数据,并将获取的生成数据放入Kafka队列中,可以方便后续从中取用待处理的生产数据,进而据此得到目标生成数据,由于待处理的生产数据来自于生产环境,这样可以保证测试数据具有高仿真性,准确率较高;同时,通过用于将敏感数据替换成非敏感数据的数据转换规则将所述待处理的生产数据进行转换,得到目标生产数据,并将所述目标生产数据作为测试数据放入测试数据库中,可以保证得到的测试数据中并不含有敏感数据,进而保证了测试数据的安全性。由于得到的测试数据不仅具备高仿真,而且可以保证安全性,大大提高了测试数据的质量,进而解决了相关技术得到的测试数据的质量往往不高的问题。
在一个实施例中,在所述获取所述待处理数据的数据转换规则的过程中中,所述获取模块710具体用于:判断所述待处理的生产数据中是否存在待转换数据;在所述待处理的生成数据中存在待转换数据的情况下,获取所述待处理数据的数据转换规则;其中,所述数据转换规则包括按照库、表和列的关系配置的转换规则。
在一个实施例中,在将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据的过程中,所述转换模块740用于判断是否立即启动消费适配服务;在立即启动消费适配服务的情况下,将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;在定时启动消费适配服务的情况下,在达到定时条件时将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据。
在一个实施例中,所述数据转换规则包括缺省替换规则,在将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据的过程中,所述转换模块740用于获取源表和目的表;其中,所述源表为所述生产数据所使用的表,所述目的表为测试数据所使用的表;将所述源表和所述目的表的结构进行对比;在所述目的表的结构中存在所述源表中没有的目标行或目标列的情况下,将所述待处理的生产数据按照数据转换规则中的缺省替换规则进行转换,得到目标生产数据。
在一个实施例中,所述消费适配服务包括:网页页面、后台和配置数据库;其中,所述网页页面提供以下至少一种功能:权限管理、数据制造流程配置、数据转换种类、规则的生成和维护;所述后台用于从所述网页页面获取配置的所有数据,并将获取的数据保存到配置数据库;在所述将所述待处理的生产数据按照数据转换规则进行转换之前,所述获取模块710还用于从所述配置数据库获取需要的配置数据,其中,所述配置数据包括所述数据转换规则。
在一个实施例中,所述待处理的生产数据的条数大于第一阈值,或者,所述待处理的生产数据的数据量大于第二阈值。
如图8所示,本申请实施例提供了一种电子设备800,所述电子设备可以为各种类型的计算机,终端,以及其他可能的设备等。
所述电子设备800包括:处理器810和存储器820,所述存储器820存储程序,所述程序被所述处理器810执行时实现上文所描述的任一种方法的步骤。举例而言,所述程序被处理器810执行时实现根据如下过程:从生产环境中获取生产数据;将所述生产数据放入Kafka队列中;从所述Kafka队列中取出待处理的生产数据,并获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;将所述目标生产数据作为测试数据放入测试数据库中。
在本申请实施例中,通过从生产环境中获取生产数据,并将获取的生成数据放入Kafka队列中,可以方便后续从中取用待处理的生产数据,进而据此得到目标生成数据,由于待处理的生产数据来自于生产环境,这样可以保证测试数据具有高仿真性,准确率较高;同时,通过用于将敏感数据替换成非敏感数据的数据转换规则将所述待处理的生产数据进行转换,得到目标生产数据,并将所述目标生产数据作为测试数据放入测试数据库中,可以保证得到的测试数据中并不含有敏感数据,进而保证了测试数据的安全性。由于得到的测试数据不仅具备高仿真,而且可以保证安全性,大大提高了测试数据的质量,进而解决了相关技术得到的测试数据的质量往往不高的问题。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种生成测试数据的方法,其特征在于,包括:
从生产环境中获取生产数据;
将所述生产数据放入Kafka队列中;
从所述Kafka队列中取出待处理的生产数据,并获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;
将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;
将所述目标生产数据作为测试数据放入测试数据库中。
2.根据权利要求1所述的方法,其特征在于,所述获取所述待处理数据的数据转换规则,包括:
判断所述待处理的生产数据中是否存在待转换数据;
在所述待处理的生成数据中存在待转换数据的情况下,获取所述待处理数据的数据转换规则;
其中,所述数据转换规则包括按照库、表和列的关系配置的转换规则。
3.根据权利要求1所述的方法,其特征在于,所述将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据,包括:
判断是否立即启动消费适配服务;
在立即启动消费适配服务的情况下,将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;
在定时启动消费适配服务的情况下,在达到定时条件时将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述敏感数据包括身份证、手机号码、银行账号和地址中的至少一种。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述数据转换规则包括缺省替换规则,所述将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据,包括:
获取源表和目的表;其中,所述源表为所述生产数据所使用的表,所述目的表为测试数据所使用的表;
将所述源表和所述目的表的结构进行对比;
在所述目的表的结构中存在所述源表中没有的目标行或目标列的情况下,将所述待处理的生产数据按照数据转换规则中的缺省替换规则进行转换,得到目标生产数据。
6.根据权利要求3所述的方法,其特征在于,所述消费适配服务包括:网页页面、后台和配置数据库;
其中,所述网页页面提供以下至少一种功能:权限管理、数据制造流程配置、数据转换种类、规则的生成和维护;
所述后台用于从所述网页页面获取配置的所有数据,并将获取的数据保存到配置数据库;
在所述将所述待处理的生产数据按照数据转换规则进行转换之前,所述方法还包括:
从所述配置数据库获取需要的配置数据,其中,所述配置数据包括所述数据转换规则。
7.根据权利要求1所述的方法,其特征在于,所述待处理的生产数据的条数大于第一阈值,或者,所述待处理的生产数据的数据量大于第二阈值。
8.根据权利要求1所述的方法,其特征在于,所述方法由一台服务器或者服务器集群执行。
9.一种生成测试数据的装置,其特征在于,包括:
获取模块,用于从生产环境中获取生产数据;
放置模块,用于将所述生产数据放入Kafka队列中;
取出模块,用于从所述Kafka队列中取出待处理的生产数据;
所述获取模块,还用于获取所述待处理数据的数据转换规则,所述数据转换规则包括用于将敏感数据替换成非敏感数据的规则;
转换模块,用于将所述待处理的生产数据按照数据转换规则进行转换,得到目标生产数据;
所述放置模块,还用于将所述目标生产数据作为测试数据放入测试数据库中。
10.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储程序,当所述程序被所述处理器执行时实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310878911.3A CN116991715A (zh) | 2023-07-17 | 2023-07-17 | 一种生成测试数据的方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310878911.3A CN116991715A (zh) | 2023-07-17 | 2023-07-17 | 一种生成测试数据的方法、装置和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116991715A true CN116991715A (zh) | 2023-11-03 |
Family
ID=88525814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310878911.3A Pending CN116991715A (zh) | 2023-07-17 | 2023-07-17 | 一种生成测试数据的方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991715A (zh) |
-
2023
- 2023-07-17 CN CN202310878911.3A patent/CN116991715A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625452B (zh) | 流量回放方法和系统 | |
CN107317724B (zh) | 基于云计算技术的数据采集系统及方法 | |
CN109684370A (zh) | 日志数据处理方法、系统、设备及存储介质 | |
CN110489699B (zh) | 一种异步数据采集方法及系统 | |
US10366154B2 (en) | Information processing device, information processing method, and computer program product | |
CN110321383A (zh) | 大数据平台数据同步方法、装置、计算机设备及存储介质 | |
US8209297B2 (en) | Data processing device and method | |
US11568344B2 (en) | Systems and methods for automated pattern detection in service tickets | |
CN115033876A (zh) | 日志处理方法、日志处理装置、计算机设备及存储介质 | |
CN113221182A (zh) | 银行日志脱敏方法及装置 | |
CN109558531A (zh) | 新闻信息推送方法、装置以及计算机设备 | |
CN117009483A (zh) | 问答服务的生成方法、装置、设备及可读存储介质 | |
CN112347355A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN116991715A (zh) | 一种生成测试数据的方法、装置和服务器 | |
CN114925125A (zh) | 数据处理方法、装置和系统、电子设备及存储介质 | |
CA3153550A1 (en) | Core recommendation method, device and system | |
CN110929085B (zh) | 基于元语义分解的电力客服留言生成模型样本处理系统及方法 | |
CN105515815B (zh) | 一种基于Heritrix爬虫的分布式采集方法及系统 | |
CN113468076A (zh) | 应用程序的异常测试方法、装置、设备及存储介质 | |
CN115168297A (zh) | 绕行日志审计方法及装置 | |
CN111026631B (zh) | 接口自动化检测方法、装置和服务器 | |
CN112083952A (zh) | 一种基于spring架构的异常处理方法及系统 | |
CN111598159B (zh) | 机器学习模型的训练方法、装置、设备及存储介质 | |
Chen | Reducing web page complexity to facilitate effective user navigation | |
CN115391543A (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |