CN116302365A - 数据持久层的测试方法、装置、电子设备和存储介质 - Google Patents
数据持久层的测试方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116302365A CN116302365A CN202310553877.2A CN202310553877A CN116302365A CN 116302365 A CN116302365 A CN 116302365A CN 202310553877 A CN202310553877 A CN 202310553877A CN 116302365 A CN116302365 A CN 116302365A
- Authority
- CN
- China
- Prior art keywords
- code
- persistence layer
- data persistence
- agent
- information
- 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.)
- Granted
Links
- 230000002688 persistence Effects 0.000 title claims abstract description 270
- 238000012360 testing method Methods 0.000 title claims abstract description 205
- 238000000034 method Methods 0.000 title claims abstract description 38
- 244000035744 Hura crepitans Species 0.000 claims abstract description 31
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 239000003795 chemical substances by application Substances 0.000 claims description 122
- 238000010998 test method Methods 0.000 claims description 14
- 238000002347 injection Methods 0.000 claims description 4
- 239000007924 injection Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000006978 adaptation Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- 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
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开关于一种数据持久层的测试方法、装置、电子设备和存储介质,属于金融科技、信息技术产业、程序测试技术领域。方法包括:在第一数据持久层对应的JVM沙箱中注入第一agent;通过第一agent对第一数据持久层的第一代码进行监控,第一代码为第一数据持久层对应的用于执行SQL语句的代码;在监控到第一代码被调用的情况下,通过第一agent采集第一代码的调用信息;基于第一代码的调用信息,得到第一数据持久层的测试结果。由此,在第一数据持久层对应的JVM沙箱中注入第一agent,并通过第一agent采集第一代码的调用信息,以对第一代码进行测试,可实现第一数据持久层的SQL维度的针对性测试,提高了测试效率。
Description
技术领域
本公开涉及金融科技、信息技术产业、程序测试技术领域,尤其涉及一种数据持久层的测试方法、装置、电子设备、计算机可读存储介质。
背景技术
目前,随着大数据技术的不断发展,数据持久层具有代码适用性高、数据库访问量低、运行效率高等优点,得到了广泛应用。然而,相关技术中的数据持久层的测试方法,大多通过人工手动进行测试,测试效率低,且测试针对性低。
发明内容
本公开提供一种数据持久层的测试方法、装置、电子设备、计算机可读存储介质,以至少解决相关技术中的数据持久层的测试方法,大多通过人工手动进行测试,测试效率低,且测试针对性低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据持久层的测试方法,包括:在第一数据持久层对应的虚拟机JVM沙箱中注入第一代理agent;通过第一agent对所述第一数据持久层的第一代码进行监控,其中,所述第一代码为所述第一数据持久层对应的用于执行结构化查询语言SQL语句的代码;在监控到所述第一代码被调用的情况下,通过所述第一agent采集所述第一代码的调用信息;基于所述第一代码的调用信息,得到所述第一数据持久层的测试结果。
在本公开的一个实施例中,所述通过第一agent对所述第一数据持久层的第一代码进行监控之前,还包括:获取所述第一agent的配置信息,其中,所述配置信息至少包括所述第一代码的标识;通过所述第一agent读取所述配置信息,并通过所述第一agent基于所述第一代码的标识,从所述第一数据持久层的多个代码中确定所述第一代码。
在本公开的一个实施例中,还包括:在所述第一数据持久层升级后的第二数据持久层对应的JVM沙箱中注入第二agent;基于所述第一代码的调用信息,生成所述第二数据持久层的测试用例;通过所述第二agent执行所述测试用例,以调用所述第二数据持久层的第二代码,并通过所述第二agent采集所述第二代码的调用信息,其中,所述第二代码为所述第二数据持久层对应的用于执行SQL语句的代码;基于所述第二代码的调用信息,得到所述第二数据持久层的测试结果。
在本公开的一个实施例中,所述基于所述第一代码的调用信息,生成所述第二数据持久层的测试用例,包括:按照所述第二数据持久层的测试环境,对所述第一代码的调用信息进行转换,生成所述测试用例。
在本公开的一个实施例中,还包括:基于所述第一代码的调用信息和所述第二代码的调用信息,得到所述第一数据持久层的升级测试结果。
在本公开的一个实施例中,所述基于所述第一代码的调用信息和所述第二代码的调用信息,得到所述第一数据持久层的升级测试结果,包括:判断所述第一代码的调用信息和所述第二代码的调用信息是否一致;若所述第一代码的调用信息和所述第二代码的调用信息一致,得到用于指示所述第一数据持久层升级成功的升级测试结果;或者,若所述第一代码的调用信息和所述第二代码的调用信息不一致,得到用于指示所述第一数据持久层升级失败的升级测试结果。
根据本公开实施例的第二方面,提供一种数据持久层的测试装置,包括:注入模块,被配置为在第一数据持久层对应的虚拟机JVM沙箱中注入第一代理agent;监控模块,被配置为通过第一agent对所述第一数据持久层的第一代码进行监控,其中,所述第一代码为所述第一数据持久层对应的用于执行结构化查询语言SQL语句的代码;采集模块,被配置为在监控到所述第一代码被调用的情况下,通过所述第一agent采集所述第一代码的调用信息;测试模块,被配置为基于所述第一代码的调用信息,得到所述第一数据持久层的测试结果。
在本公开的一个实施例中,所述通过第一agent对所述第一数据持久层的第一代码进行监控之前,所述监控模块,还被配置为:获取所述第一agent的配置信息,其中,所述配置信息至少包括所述第一代码的标识;通过所述第一agent读取所述配置信息,并通过所述第一agent基于所述第一代码的标识,从所述第一数据持久层的多个代码中确定所述第一代码。
在本公开的一个实施例中,所述测试模块,还被配置为:在所述第一数据持久层升级后的第二数据持久层对应的JVM沙箱中注入第二agent;基于所述第一代码的调用信息,生成所述第二数据持久层的测试用例;通过所述第二agent执行所述测试用例,以调用所述第二数据持久层的第二代码,并通过所述第二agent采集所述第二代码的调用信息,其中,所述第二代码为所述第二数据持久层对应的用于执行SQL语句的代码;基于所述第二代码的调用信息,得到所述第二数据持久层的测试结果。
在本公开的一个实施例中,所述测试模块,还被配置为:按照所述第二数据持久层的测试环境,对所述第一代码的调用信息进行转换,生成所述测试用例。
在本公开的一个实施例中,所述测试模块,还被配置为:基于所述第一代码的调用信息和所述第二代码的调用信息,得到所述第一数据持久层的升级测试结果。
在本公开的一个实施例中,所述测试模块,还被配置为:判断所述第一代码的调用信息和所述第二代码的调用信息是否一致;若所述第一代码的调用信息和所述第二代码的调用信息一致,得到用于指示所述第一数据持久层升级成功的升级测试结果;或者,若所述第一代码的调用信息和所述第二代码的调用信息不一致,得到用于指示所述第一数据持久层升级失败的升级测试结果。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如前第一方面所述的数据持久层的测试方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前第一方面所述的数据持久层的测试方法。
本公开的实施例提供的技术方案至少带来以下有益效果:可在第一数据持久层对应的JVM沙箱中注入第一agent,并通过第一agent采集第一代码的调用信息,以对第一数据持久层进行测试,尤其是对第一数据持久层的用于执行SQL语句的第一代码进行测试,可通过第一agent实现第一数据持久层的自动化测试,提高了第一数据持久层的测试效率,且可实现第一数据持久层的SQL维度的针对性测试。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据本公开第一实施例的数据持久层的测试方法的流程示意图。
图2是根据本公开第二实施例的数据持久层的测试方法的流程示意图。
图3是根据本公开第三实施例的数据持久层的测试方法的流程示意图。
图4是根据本公开第一实施例的数据持久层的测试系统的框图。
图5是根据本公开第一实施例的数据持久层的测试装置的框图。
图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
图1是根据本公开第一实施例的数据持久层的测试方法的流程示意图。
如图1所示,本公开第一实施例的数据持久层的测试方法,包括以下步骤:
在步骤S101中,在第一数据持久层对应的虚拟机JVM沙箱中注入第一代理agent。
需要说明的是,本公开的数据持久层的测试方法的执行主体为电子设备。本公开实施例的数据持久层的测试方法可以由本公开实施例的数据持久层的测试装置执行,本公开实施例的数据持久层的测试装置可以配置在任意电子设备中,以执行本公开实施例的数据持久层的测试方法。
需要说明的是,对第一数据持久层不做过多限定,比如,可包括Hibernate、MyBatis、iBatis等。第一数据持久层所属的系统可包括银行系统、医院系统等。
需要说明的是,第一数据持久层对应的JVM(Java Virtual Machine,Java虚拟机,简称为虚拟机)中部署有沙箱(sandbox),本公开的实施例中,可在第一数据持久层对应的JVM沙箱中注入第一agent,第一agent用于对第一数据持久层进行测试。
可以理解的是,可预先为第一数据持久层创建对应的JVM,或者,可预先为第一数据持久层所属的系统创建对应的JVM,此时第一数据持久层对应的JVM可包括第一数据持久层所属的系统对应的JVM。
需要说明的是,对第一数据持久层对应的JVM不做过多限定,比如,第一数据持久层对应的JVM除沙箱之外还可部署有设定代码,设定代码可包括第一数据持久层的代码(比如第一代码)、第一数据持久层所属的系统的代码等。可以理解的是,设定代码和第一agent之间可通过沙箱实现隔离,即可避免第一agent运行异常时,影响设定代码的正常运行,有助于提升设定代码运行的可靠性,即有助于提升第一数据持久层、第一数据持久层所属的系统运行的可靠性。
需要说明的是,注入第一agent可采用相关技术中的任一注入agent的方式来实现,这里不做过多限定。
在步骤S102中,通过第一agent对第一数据持久层的第一代码进行监控,其中,第一代码为第一数据持久层对应的用于执行结构化查询语言SQL语句的代码。
需要说明的是,对第一代码不做过多限定,比如,可包括sqlExecuteUpdate、sqlExecuteQuery、execute等。第一代码的数量可为至少一个。
在一种实施方式中,通过第一agent对第一数据持久层的第一代码进行监控之前,还包括获取第一agent的配置信息,其中,配置信息至少包括第一代码的标识,通过第一agent读取配置信息,并通过第一agent基于第一代码的标识,从第一数据持久层的多个代码中确定第一代码,以实现第一代码的确定。
需要说明的是,配置信息可由开发人员、用户预先设置,对配置信息不做过多限定,比如,配置信息还包括第一代码所属的类。
需要说明的是,对第一代码的标识不做过多限定,比如,可包括第一代码的名称、编号等。
在步骤S103中,在监控到第一代码被调用的情况下,通过第一agent采集第一代码的调用信息。
需要说明的是,对第一代码的调用信息不做过多限定,比如,可包括第一代码的请求参数、调用的第一接口、第一接口入参、第一代码执行的第一SQL语句、第一SQL语句的执行结果等。其中,第一代码的请求参数可包括第一代码的标识、待查询数据的标识、待查询数据的字段名、待查询数据所属的数据库的标识等,第一SQL语句的执行结果可包括从数据库中查询到的数据。
需要说明的是,通过第一agent采集第一代码的调用信息可通过相关技术中的任一agent的控制方式来实现,这里不做过多限定。
在一种实施方式中,通过第一agent采集第一代码的调用信息,可包括通过第一agent采集第一代码的调用请求,并通过第一agent从第一代码的调用请求中提取出第一代码的请求参数、调用的第一接口、第一接口入参。
在一种实施方式中,通过第一agent采集第一代码的调用信息,可包括在监控到第一代码被调用结束的情况下,通过第一agent采集第一代码执行的第一SQL语句、第一SQL语句的执行结果等。
在步骤S104中,基于第一代码的调用信息,得到第一数据持久层的测试结果。
需要说明的是,对第一数据持久层的测试结果不做过多限定,比如,可包括第一代码的测试结果、第一代码是否通过测试、第一数据持久层是否通过测试等。
在一种实施方式中,基于第一代码的调用信息,得到第一数据持久层的测试结果,包括获取第一代码的参考调用信息,判断第一代码的参考调用信息和第一代码的调用信息是否一致,若第一代码的参考调用信息和第一代码的调用信息一致,得到用于指示第一数据持久层通过测试的测试结果,或者,若第一代码的参考调用信息和第一代码的调用信息不一致,得到用于指示第一数据持久层未通过测试的测试结果。
需要说明的是,第一代码的调用信息指的是第一代码的实际调用信息,第一代码的参考调用信息指的是第一代码的调用信息的参考值,比如,第一代码的参考调用信息可包括第一代码的参考请求参数、调用的参考接口、参考接口入参、第一代码执行的参考SQL语句、参考SQL语句的参考执行结果等。
在一些例子中,第一代码的参考调用信息包括参考SQL语句的参考执行结果,第一代码的调用信息包括SQL语句的执行结果,若参考SQL语句的参考执行结果为数据A,SQL语句的执行结果为数据B,可判断数据A和数据B是否一致,若数据A和数据B一致,得到用于指示第一数据持久层通过测试的测试结果,或者,若数据A和数据B不一致,得到用于指示第一数据持久层未通过测试的测试结果。
在一种实施方式中,还包括将第一代码的调用信息、第一数据持久层的测试结果存储至数据库。
综上,根据本公开实施例提供的数据持久层的测试方法,在第一数据持久层对应的JVM沙箱中注入第一agent,通过第一agent对第一数据持久层的第一代码进行监控,其中,第一代码为第一数据持久层对应的用于执行SQL语句的代码,在监控到第一代码被调用的情况下,通过第一agent采集第一代码的调用信息,基于第一代码的调用信息,得到第一数据持久层的测试结果。由此,可在第一数据持久层对应的JVM沙箱中注入第一agent,并通过第一agent采集第一代码的调用信息,以对第一数据持久层进行测试,尤其是对第一数据持久层的用于执行SQL语句的第一代码进行测试,可通过第一agent实现第一数据持久层的自动化测试,提高了第一数据持久层的测试效率,且可实现第一数据持久层的SQL维度的针对性测试。
图2是根据本公开第二实施例的数据持久层的测试方法的流程示意图。
如图2所示,本公开第二实施例的数据持久层的测试方法,包括以下步骤:
在步骤S201中,在第一数据持久层对应的虚拟机JVM沙箱中注入第一代理agent。
在步骤S202中,通过第一agent对第一数据持久层的第一代码进行监控,其中,第一代码为第一数据持久层对应的用于执行结构化查询语言SQL语句的代码。
在步骤S203中,在监控到第一代码被调用的情况下,通过第一agent采集第一代码的调用信息。
在步骤S204中,基于第一代码的调用信息,得到第一数据持久层的测试结果。
步骤S201-S204的相关内容可参见上述实施例,这里不再赘述。
在步骤S205中,在第一数据持久层升级后的第二数据持久层对应的JVM沙箱中注入第二agent。
需要说明的是,第二数据持久层是对第一数据持久层进行升级得到的。
步骤S205的相关内容,可参照步骤S101的相关内容,这里不再赘述。
在步骤S206中,基于第一代码的调用信息,生成第二数据持久层的测试用例。
在一种实施方式中,基于第一代码的调用信息,生成第二数据持久层的测试用例,包括获取模板用例,其中,模板用例包括待配置参数,基于第一代码的调用信息,对模板用例的待配置参数进行赋值,得到模板用例更新后的测试用例。
比如,第一代码的调用信息包括第一代码的请求参数、调用的第一接口、第一接口入参、第一代码执行的第一SQL语句、第一SQL语句的执行结果,模板用例的待配置参数包括参数1至5,可基于第一代码的请求参数、调用的第一接口、第一接口入参、第一代码执行的第一SQL语句、第一SQL语句的执行结果分别对参数1至5进行赋值,得到模板用例更新后的测试用例。
在一种实施方式中,第一代码的调用信息包括第一代码的请求参数、调用的第一接口、第一接口入参、第一代码执行的第一SQL语句、第一SQL语句的执行结果,基于第一代码的调用信息,生成第二数据持久层的测试用例,包括基于第一代码的请求参数、调用的第一接口、第一接口入参,生成测试用例的执行方式,基于第一代码执行的第一SQL语句、第一SQL语句的执行结果,生成测试用例的参考执行结果。
在一种实施方式中,基于第一代码的调用信息,生成第二数据持久层的测试用例,包括按照第二数据持久层的测试环境,对第一代码的调用信息进行转换,生成测试用例。由此,可按照第二数据持久层的测试环境,对第一代码的调用信息进行转换,使得测试用例与第二数据持久层的测试环境匹配。
比如,第一代码的调用信息包括第一代码的调用时间,测试用例包括第二代码的调用时间,可获取第二数据持久层的测试环境的当前时间,将第一代码的调用时间修改为上述当前时间之后设定时长内的任一时间,得到第二代码的调用时间。
比如,第一代码的调用信息包括第一SQL语句的执行结果,测试用例包括第二SQL语句的执行结果,第二数据持久层的测试环境包括数据库,可按照第二数据持久层对应的数据库的数据格式,对第一SQL语句的执行结果进行转换,得到第二SQL语句的执行结果。
在步骤S207中,通过第二agent执行测试用例,以调用第二数据持久层的第二代码,并通过第二agent采集第二代码的调用信息,其中,第二代码为第二数据持久层对应的用于执行SQL语句的代码。
在一种实施方式中,第二代码的调用信息包括第二代码的请求参数、调用的第二接口、第二接口入参、第二代码执行的第二SQL语句、第二SQL语句的执行结果等。
需要说明的是,通过第二agent执行测试用例可通过相关技术中的任一agent的控制方式来实现,这里不做过多限定。
在一种实施方式中,测试用例包括第一代码的请求参数、调用的第一接口、第一接口入参、第一代码执行的第一SQL语句、第一SQL语句的执行结果,通过第二agent执行测试用例,以调用第二数据持久层的第二代码,并通过第二agent采集第二代码的调用信息,可包括通过第二agent基于第一代码的请求参数、调用的第一接口和第一接口入参,生成第二代码的调用请求,并基于第二代码的调用请求调用第二代码,通过第二agent从第二代码的调用请求中提取出第二代码的请求参数、调用的第二接口、第二接口入参,在监控到第二代码被调用结束的情况下,通过第二agent采集第二代码执行的第二SQL语句、第二SQL语句的执行结果等。
步骤S207的相关内容,可参照步骤S102、S103的相关内容,这里不再赘述。
在步骤S208中,基于第二代码的调用信息,得到第二数据持久层的测试结果。
在一种实施方式中,测试用例包括第二代码的参考调用信息,基于第二代码的调用信息,得到第二数据持久层的测试结果,包括从测试用例中提取出第二代码的参考调用信息,判断第二代码的参考调用信息和第二代码的调用信息是否一致,若第二代码的参考调用信息和第二代码的调用信息一致,得到用于指示第二数据持久层通过测试的测试结果,或者,若第二代码的参考调用信息和第二代码的调用信息不一致,得到用于指示第二数据持久层未通过测试的测试结果。
需要说明的是,第二代码的调用信息指的是第二代码的实际调用信息,第二代码的参考调用信息指的是第二代码的调用信息的参考值。
在一种实施方式中,还包括将第二代码的调用信息、第二数据持久层的测试结果存储至数据库。
步骤S208的相关内容,可参照步骤S104的相关内容,这里不再赘述。
综上,根据本公开实施例提供的数据持久层的测试方法,在第一数据持久层升级后的第二数据持久层对应的JVM沙箱中注入第二agent,基于第一代码的调用信息,生成第二数据持久层的测试用例,通过第二agent执行测试用例,以调用第二数据持久层的第二代码,并通过第二agent采集第二代码的调用信息,其中,第二代码为第二数据持久层对应的用于执行SQL语句的代码,基于第二代码的调用信息,得到第二数据持久层的测试结果。由此,可基于第一代码的调用信息,生成第二数据持久层的测试用例,可实现第二数据持久层的大量测试用例的生成,测试用例的覆盖性较好,进而提高了第二数据持久层的测试效果。
图3是根据本公开第三实施例的数据持久层的测试方法的流程示意图。
在步骤S301中,在第一数据持久层对应的虚拟机JVM沙箱中注入第一代理agent。
在步骤S302中,通过第一agent对第一数据持久层的第一代码进行监控,其中,第一代码为第一数据持久层对应的用于执行结构化查询语言SQL语句的代码。
在步骤S303中,在监控到第一代码被调用的情况下,通过第一agent采集第一代码的调用信息。
在步骤S304中,基于第一代码的调用信息,得到第一数据持久层的测试结果。
在步骤S305中,在第一数据持久层升级后的第二数据持久层对应的JVM沙箱中注入第二agent。
在步骤S306中,基于第一代码的调用信息,生成第二数据持久层的测试用例。
在步骤S307中,通过第二agent执行测试用例,以调用第二数据持久层的第二代码,并通过第二agent采集第二代码的调用信息,其中,第二代码为第二数据持久层对应的用于执行SQL语句的代码。
步骤S301-S307的相关内容可参见上述实施例,这里不再赘述。
在步骤S308中,基于第一代码的调用信息和第二代码的调用信息,得到第一数据持久层的升级测试结果。
需要说明的是,对第一数据持久层的升级测试结果不做过多限定,比如,可包括第一数据持久层的第一代码的升级测试结果、第一代码是否升级成功、第一数据持久层是否升级成功等。
在一种实施方式中,基于第一代码的调用信息和第二代码的调用信息,得到第一数据持久层的升级测试结果,包括判断第一代码的调用信息和第二代码的调用信息是否一致,若第一代码的调用信息和第二代码的调用信息一致,得到用于指示第一数据持久层升级成功的升级测试结果,或者,若第一代码的调用信息和第二代码的调用信息不一致,得到用于指示第一数据持久层升级失败的升级测试结果。由此,该方法中可基于第一代码的调用信息、第二代码的调用信息是否一致,来得到第一数据持久层的升级测试结果,提高了升级测试结果的准确性。
需要说明的是,第一代码的调用信息指的是第二代码的调用信息的参考值。
在一些例子中,第一代码的调用信息包括第一SQL语句的执行结果,第二代码的调用信息包括第二SQL语句的执行结果,若第一SQL语句的执行结果为数据A,第二SQL语句的执行结果为数据B,可判断数据A和数据B是否一致,若数据A和数据B一致,得到用于指示第一数据持久层升级成功的升级测试结果,或者,若数据A和数据B不一致,得到用于指示第一数据持久层升级失败的升级测试结果。
在一种实施方式中,基于第一代码的调用信息和第二代码的调用信息,得到第一数据持久层的升级测试结果,包括获取第二代码的参考调用信息,若第一代码的调用信息、第二代码的调用信息和第二代码的参考调用信息均一致,得到用于指示第一数据持久层升级成功的升级测试结果,或者,若第一代码的调用信息和第二代码的调用信息不一致,和/或,第二代码的调用信息和第二代码的参考调用信息不一致,得到用于指示第一数据持久层升级失败的升级测试结果。由此,该方法中可综合考虑到第一代码的调用信息、第二代码的调用信息和第二代码的参考调用信息,来得到第一数据持久层的升级测试结果,提高了升级测试结果的准确性。
在一种实施方式中,还包括将第一数据持久层的升级测试结果存储至数据库。
综上,根据本公开实施例提供的数据持久层的测试方法,基于第一代码的调用信息和第二代码的调用信息,得到第一数据持久层的升级测试结果,尤其是对第一数据持久层、第二数据持久层的用于执行SQL语句的第一代码、第二代码进行升级测试,可通过第一agent、第二agent实现第一数据持久层的自动化升级测试,提高了第一数据持久层的升级测试效率,且可实现第一数据持久层的SQL维度的针对性升级测试。
在上述任一实施例的基础上,如图4所示,数据持久层的测试系统包括方法录制模块、数据适配模块、方法重放模块、测试比对模块、控制面板模块和数据存储模块。
方法录制模块接收控制面板模块发送的方法录制请求,并响应于方法录制请求,在第一数据持久层对应的JVM沙箱中注入第一agent,通过第一agent对第一数据持久层的第一代码进行监控,在监控到第一代码被调用的情况下,通过第一agent采集第一代码的调用信息,并将第一代码的调用信息分别发送至控制面板模块、数据适配模块。
数据适配模块按照第二数据持久层的测试环境,对第一代码的调用信息进行转换,生成第二数据持久层的测试用例,并将测试用例发送至控制面板模块。
方法重放模块接收控制面板模块发送的方法重放请求和测试用例,并响应于方法重放请求,在第二数据持久层对应的JVM沙箱中注入第二agent,通过第二agent执行测试用例,以调用第二数据持久层的第二代码,并通过第二agent采集第二代码的调用信息,并将第二代码的调用信息分别发送至控制面板模块、测试比对模块。
测试比对模块基于第一代码的调用信息和第二代码的调用信息,得到第一数据持久层的升级测试结果。
数据存储模块将第一代码的调用信息、第一代码的调用信息、第一数据持久层的升级测试结果存储至数据库。
图5为根据本公开第一实施例的数据持久层的测试装置的框图。
如图5所示,本公开实施例的数据持久层的测试装置500包括:注入模块501、监控模块502、采集模块503和测试模块504。
注入模块501被配置为在第一数据持久层对应的虚拟机JVM沙箱中注入第一代理agent;
监控模块502被配置为通过第一agent对所述第一数据持久层的第一代码进行监控,其中,所述第一代码为所述第一数据持久层对应的用于执行结构化查询语言SQL语句的代码;
采集模块503被配置为在监控到所述第一代码被调用的情况下,通过所述第一agent采集所述第一代码的调用信息;
测试模块504被配置为基于所述第一代码的调用信息,得到所述第一数据持久层的测试结果。
在本公开的一个实施例中,所述通过第一agent对所述第一数据持久层的第一代码进行监控之前,所述监控模块502还被配置为:获取所述第一agent的配置信息,其中,所述配置信息至少包括所述第一代码的标识;通过所述第一agent读取所述配置信息,并通过所述第一agent基于所述第一代码的标识,从所述第一数据持久层的多个代码中确定所述第一代码。
在本公开的一个实施例中,所述测试模块504还被配置为:在所述第一数据持久层升级后的第二数据持久层对应的JVM沙箱中注入第二agent;基于所述第一代码的调用信息,生成所述第二数据持久层的测试用例;通过第二agent执行所述测试用例,以调用所述第二数据持久层的第二代码,并通过所述第二agent采集所述第二代码的调用信息,其中,所述第二代码为所述第二数据持久层对应的用于执行SQL语句的代码;基于所述第二代码的调用信息,得到所述第二数据持久层的测试结果。
在本公开的一个实施例中,所述测试模块504还被配置为:按照所述第二数据持久层的测试环境,对所述第一代码的调用信息进行转换,生成所述测试用例。
在本公开的一个实施例中,所述测试模块504还被配置为:基于所述第一代码的调用信息和所述第二代码的调用信息,得到所述第一数据持久层的升级测试结果。
在本公开的一个实施例中,所述测试模块504还被配置为:判断所述第一代码的调用信息和所述第二代码的调用信息是否一致;若所述第一代码的调用信息和所述第二代码的调用信息一致,得到用于指示所述第一数据持久层升级成功的升级测试结果;或者,若所述第一代码的调用信息和所述第二代码的调用信息不一致,得到用于指示所述第一数据持久层升级失败的升级测试结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上,本公开实施例提供的数据持久层的测试装置,在第一数据持久层对应的JVM沙箱中注入第一agent,通过第一agent对第一数据持久层的第一代码进行监控,其中,第一代码为第一数据持久层对应的用于执行SQL语句的代码,在监控到第一代码被调用的情况下,通过第一agent采集第一代码的调用信息,基于第一代码的调用信息,得到第一数据持久层的测试结果。由此,可在第一数据持久层对应的JVM沙箱中注入第一agent,并通过第一agent采集第一代码的调用信息,以对第一数据持久层进行测试,尤其是对第一数据持久层的用于执行SQL语句的第一代码进行测试,可通过第一agent实现第一数据持久层的自动化测试,提高了第一数据持久层的测试效率,且可实现第一数据持久层的SQL维度的针对性测试。
图6是根据一示例性实施例示出的一种电子设备的框图。
如图6所示,上述电子设备600包括:
存储器610及处理器620,连接不同组件(包括存储器610和处理器620)的总线630,存储器610存储有计算机程序,当处理器620执行所述程序时实现本公开实施例所述的数据持久层的测试方法。
总线630表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备600典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备600访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器610还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)640和/或高速缓存存储器650。电子设备600可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统660可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM, DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线630相连。存储器610可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块670的程序/实用工具680,可以存储在例如存储器610中,这样的程序模块670包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块670通常执行本公开所描述的实施例中的功能和/或方法。
电子设备600也可以与一个或多个外部设备690(例如键盘、指向设备、显示器691等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口692进行。并且,电子设备600还可以通过网络适配器693与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器693通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器620通过运行存储在存储器610中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的数据持久层的测试方法的解释说明,此处不再赘述。
综上,本公开实施例提供的电子设备,可以执行如前所述的数据持久层的测试方法,在第一数据持久层对应的JVM沙箱中注入第一agent,通过第一agent对第一数据持久层的第一代码进行监控,其中,第一代码为第一数据持久层对应的用于执行SQL语句的代码,在监控到第一代码被调用的情况下,通过第一agent采集第一代码的调用信息,基于第一代码的调用信息,得到第一数据持久层的测试结果。由此,可在第一数据持久层对应的JVM沙箱中注入第一agent,并通过第一agent采集第一代码的调用信息,以对第一数据持久层进行测试,尤其是对第一数据持久层的用于执行SQL语句的第一代码进行测试,可通过第一agent实现第一数据持久层的自动化测试,提高了第一数据持久层的测试效率,且可实现第一数据持久层的SQL维度的针对性测试。
为了实现上述实施例,本公开还提出一种计算机可读存储介质。
其中,该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前所述的,或者执行如前所述的数据持久层的测试方法。可选的,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种数据持久层的测试方法,其特征在于,包括:
在第一数据持久层对应的虚拟机JVM沙箱中注入第一代理agent;
通过第一agent对所述第一数据持久层的第一代码进行监控,其中,所述第一代码为所述第一数据持久层对应的用于执行结构化查询语言SQL语句的代码;
在监控到所述第一代码被调用的情况下,通过所述第一agent采集所述第一代码的调用信息;
基于所述第一代码的调用信息,得到所述第一数据持久层的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述通过第一agent对所述第一数据持久层的第一代码进行监控之前,还包括:
获取所述第一agent的配置信息,其中,所述配置信息至少包括所述第一代码的标识;
通过所述第一agent读取所述配置信息,并通过所述第一agent基于所述第一代码的标识,从所述第一数据持久层的多个代码中确定所述第一代码。
3.根据权利要求1所述的方法,其特征在于,还包括:
在所述第一数据持久层升级后的第二数据持久层对应的JVM沙箱中注入第二agent;
基于所述第一代码的调用信息,生成所述第二数据持久层的测试用例;
通过所述第二agent执行所述测试用例,以调用所述第二数据持久层的第二代码,并通过所述第二agent采集所述第二代码的调用信息,其中,所述第二代码为所述第二数据持久层对应的用于执行SQL语句的代码;
基于所述第二代码的调用信息,得到所述第二数据持久层的测试结果。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一代码的调用信息,生成所述第二数据持久层的测试用例,包括:
按照所述第二数据持久层的测试环境,对所述第一代码的调用信息进行转换,生成所述测试用例。
5.根据权利要求3所述的方法,其特征在于,还包括:
基于所述第一代码的调用信息和所述第二代码的调用信息,得到所述第一数据持久层的升级测试结果。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一代码的调用信息和所述第二代码的调用信息,得到所述第一数据持久层的升级测试结果,包括:
判断所述第一代码的调用信息和所述第二代码的调用信息是否一致;
若所述第一代码的调用信息和所述第二代码的调用信息一致,得到用于指示所述第一数据持久层升级成功的升级测试结果;或者,
若所述第一代码的调用信息和所述第二代码的调用信息不一致,得到用于指示所述第一数据持久层升级失败的升级测试结果。
7.一种数据持久层的测试装置,其特征在于,包括:
注入模块,被配置为在第一数据持久层对应的虚拟机JVM沙箱中注入第一代理agent;
监控模块,被配置为通过第一agent对所述第一数据持久层的第一代码进行监控,其中,所述第一代码为所述第一数据持久层对应的用于执行结构化查询语言SQL语句的代码;
采集模块,被配置为在监控到所述第一代码被调用的情况下,通过所述第一agent采集所述第一代码的调用信息;
测试模块,被配置为基于所述第一代码的调用信息,得到所述第一数据持久层的测试结果。
8.根据权利要求7所述的装置,其特征在于,所述通过第一agent对所述第一数据持久层的第一代码进行监控之前,所述监控模块,还被配置为:
获取所述第一agent的配置信息,其中,所述配置信息至少包括所述第一代码的标识;
通过所述第一agent读取所述配置信息,并通过所述第一agent基于所述第一代码的标识,从所述第一数据持久层的多个代码中确定所述第一代码。
9.根据权利要求7所述的装置,其特征在于,所述测试模块,还被配置为:
在所述第一数据持久层升级后的第二数据持久层对应的JVM沙箱中注入第二agent;
基于所述第一代码的调用信息,生成所述第二数据持久层的测试用例;
通过所述第二agent执行所述测试用例,以调用所述第二数据持久层的第二代码,并通过所述第二agent采集所述第二代码的调用信息,其中,所述第二代码为所述第二数据持久层对应的用于执行SQL语句的代码;
基于所述第二代码的调用信息,得到所述第二数据持久层的测试结果。
10.根据权利要求9所述的装置,其特征在于,所述测试模块,还被配置为:
按照所述第二数据持久层的测试环境,对所述第一代码的调用信息进行转换,生成所述测试用例。
11.根据权利要求9所述的装置,其特征在于,所述测试模块,还被配置为:
基于所述第一代码的调用信息和所述第二代码的调用信息,得到所述第一数据持久层的升级测试结果。
12.根据权利要求11所述的装置,其特征在于,所述测试模块,还被配置为:
判断所述第一代码的调用信息和所述第二代码的调用信息是否一致;
若所述第一代码的调用信息和所述第二代码的调用信息一致,得到用于指示所述第一数据持久层升级成功的升级测试结果;或者,
若所述第一代码的调用信息和所述第二代码的调用信息不一致,得到用于指示所述第一数据持久层升级失败的升级测试结果。
13.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-6中任一项所述的数据持久层的测试方法。
14.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-6中任一项所述的数据持久层的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310553877.2A CN116302365B (zh) | 2023-05-17 | 2023-05-17 | 数据持久层的测试方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310553877.2A CN116302365B (zh) | 2023-05-17 | 2023-05-17 | 数据持久层的测试方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116302365A true CN116302365A (zh) | 2023-06-23 |
CN116302365B CN116302365B (zh) | 2023-08-15 |
Family
ID=86798110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310553877.2A Active CN116302365B (zh) | 2023-05-17 | 2023-05-17 | 数据持久层的测试方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302365B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136464A1 (en) * | 2004-12-17 | 2006-06-22 | Rossmann Albert P | System and method for object persistence |
US20100121829A1 (en) * | 2008-11-07 | 2010-05-13 | Sap Ag | Persistence layer |
CN101963985A (zh) * | 2010-09-28 | 2011-02-02 | 北京神州泰岳软件股份有限公司 | 数据持久化框架与数据库代理之间的通信方法及系统 |
US20140075422A1 (en) * | 2010-11-16 | 2014-03-13 | Syddansk Universitet | Method for dynamically transforming the bytecode of java virtual machine bootstrap classes |
CN107608898A (zh) * | 2017-10-10 | 2018-01-19 | 浙江网新恒天软件有限公司 | 一种再现测试流程以实现自动化回归测试的方法 |
US10629191B1 (en) * | 2019-06-16 | 2020-04-21 | Linc Global, Inc. | Methods and systems for deploying and managing scalable multi-service virtual assistant platform |
US20200125482A1 (en) * | 2018-10-18 | 2020-04-23 | Manhattan Engineering Incorporated | Code examples sandbox |
CN114328180A (zh) * | 2021-11-30 | 2022-04-12 | 唯品会(广州)软件有限公司 | 接口自动化测试方法、系统、电子设备及存储介质 |
CN114816363A (zh) * | 2022-04-29 | 2022-07-29 | 猪八戒股份有限公司 | 一种基于MyBatis的数据服务API实现方法及装置 |
CN115543812A (zh) * | 2022-10-11 | 2022-12-30 | 平安银行股份有限公司 | 基于动态注入的代码覆盖率测试方法、装置、系统及介质 |
-
2023
- 2023-05-17 CN CN202310553877.2A patent/CN116302365B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136464A1 (en) * | 2004-12-17 | 2006-06-22 | Rossmann Albert P | System and method for object persistence |
US20100121829A1 (en) * | 2008-11-07 | 2010-05-13 | Sap Ag | Persistence layer |
CN101963985A (zh) * | 2010-09-28 | 2011-02-02 | 北京神州泰岳软件股份有限公司 | 数据持久化框架与数据库代理之间的通信方法及系统 |
US20140075422A1 (en) * | 2010-11-16 | 2014-03-13 | Syddansk Universitet | Method for dynamically transforming the bytecode of java virtual machine bootstrap classes |
CN107608898A (zh) * | 2017-10-10 | 2018-01-19 | 浙江网新恒天软件有限公司 | 一种再现测试流程以实现自动化回归测试的方法 |
US20200125482A1 (en) * | 2018-10-18 | 2020-04-23 | Manhattan Engineering Incorporated | Code examples sandbox |
US10629191B1 (en) * | 2019-06-16 | 2020-04-21 | Linc Global, Inc. | Methods and systems for deploying and managing scalable multi-service virtual assistant platform |
CN114328180A (zh) * | 2021-11-30 | 2022-04-12 | 唯品会(广州)软件有限公司 | 接口自动化测试方法、系统、电子设备及存储介质 |
CN114816363A (zh) * | 2022-04-29 | 2022-07-29 | 猪八戒股份有限公司 | 一种基于MyBatis的数据服务API实现方法及装置 |
CN115543812A (zh) * | 2022-10-11 | 2022-12-30 | 平安银行股份有限公司 | 基于动态注入的代码覆盖率测试方法、装置、系统及介质 |
Non-Patent Citations (2)
Title |
---|
佚名: "java框架SSM学习-持久层Mybatis之动态代理模式", Retrieved from the Internet <URL:https://blog.csdn.net/weixin_43877761/article/details/106588044> * |
张炳锋;徐凌宇;: "LDAP基本模型在数据持久层中的应用", 现代电子技术, no. 18, pages 140 - 148 * |
Also Published As
Publication number | Publication date |
---|---|
CN116302365B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7689872B2 (en) | Autonomic program error detection and correction | |
US20080082967A1 (en) | Method and system for parameter profile compiling | |
US7913233B2 (en) | Performance analyzer | |
US20060277440A1 (en) | Method, system, and computer program product for light weight memory leak detection | |
US20120136613A1 (en) | Extensible testing system | |
CN111966603B (zh) | 内存泄露的检测方法及装置、可读存储介质及电子设备 | |
US20050204345A1 (en) | Method and apparatus for monitoring computer software | |
CN110659210A (zh) | 一种信息获取方法、装置、电子设备及存储介质 | |
CN114253864A (zh) | 一种业务测试方法、装置、电子设备及存储介质 | |
CN110597704A (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
CN110716843B (zh) | 系统故障分析处理方法、装置、存储介质及电子设备 | |
CN113238815B (zh) | 一种接口访问控制方法、装置、设备及存储介质 | |
CN116302365B (zh) | 数据持久层的测试方法、装置、电子设备和存储介质 | |
CN112416747A (zh) | 一种测试用例执行方法、装置、设备及介质 | |
CN113806195B (zh) | 数据处理方法、装置、设备、系统及存储介质 | |
CN113377719B (zh) | 一种系统异常关机时间获取方法及系统 | |
CN111741046B (zh) | 数据上报方法、获取方法、装置、设备及介质 | |
CN114676436A (zh) | 一种基于结构化变异的安卓应用多媒体解析库漏洞挖掘系统及方法 | |
CN114048099A (zh) | Java应用监控方法及装置、存储介质及电子设备 | |
CN114416412A (zh) | 一种基于Arthas的异常定位方法及系统 | |
CN112346994B (zh) | 一种测试信息关联方法、装置、计算机设备及存储介质 | |
CN115757077B (zh) | 一种系统裁剪程度及服务组件最小化评估方法 | |
CN115794529B (zh) | 云环境下的存储故障模拟方法、装置、设备及存储介质 | |
CN113704088B (zh) | 一种进程追溯方法、进程追溯系统及相关装置 | |
CN116431480A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |