CN110347594B - Cbtc系统安全功能模块测试中静态变量同步和设定方法 - Google Patents
Cbtc系统安全功能模块测试中静态变量同步和设定方法 Download PDFInfo
- Publication number
- CN110347594B CN110347594B CN201910573086.XA CN201910573086A CN110347594B CN 110347594 B CN110347594 B CN 110347594B CN 201910573086 A CN201910573086 A CN 201910573086A CN 110347594 B CN110347594 B CN 110347594B
- Authority
- CN
- China
- Prior art keywords
- static
- static variable
- variable
- value
- function
- 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.)
- Active
Links
Images
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/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- 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/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- 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
-
- 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/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种CBTC系统安全功能模块测试中静态变量同步和设定方法,包括:遍历CBTC系统的所有子系统的源码,识别出安全功能模块和模块的静态变量及其数据类型,并且识别出对静态变量进行赋值操作的赋值函数及其所赋的值;建立“数据类型‑静态变量‑安全功能模块‑赋值函数‑值”映射关系;定义赋值函数的替代函数,在赋值函数原有逻辑的前提下,加入对静态变量的读写操作;通过对静态变量的读写操作,实时获取或设定静态变量的值。能保证测试的覆盖率,并避免了因为复杂调用关系造成的延时和混乱。
Description
技术领域
本发明涉及CBTC(基于通信的列车自动控制系统)系统测试技术领域,尤其涉及安全功能模块测试中静态变量同步和设定方法。
背景技术
CBTC系统安全模块的自动化测试中,需要实时获取静态变量的值,在特定测试步骤中需要设定静态变量的值以达到测试目的。现有方法首先根据模块间的调用关系,将调用模块和被调用模块分别定义为主模块和子模块。然后,从主模块中提取模块执行函数,并利用宏定义将其替换为增加了模块同步功能的改写模块执行函数;最后,测试引擎通过共享内存实时获取和设定被覆盖的模块内静态变量值,从而完成测试。该方法主要有两个缺陷:第一,对于具有复杂耦合关系的多个模块,难以定义其主次关系,无法准确选定执行函数被替换的模块。第二,部分模块存在会修改静态变量值得接口函数,但这些接口函数不是在每个执行周期都会被调用的执行函数,导致静态变量值变化后不能实时同步给测试引擎,进而影响测试精度和效率。
发明内容
本发明的目的在于提供一种CBTC系统安全功能模块测试中静态变量同步和设定方法,保证测试的覆盖率,并避免了因为复杂调用关系造成的延时和混乱。
实现上述目的的技术方案是:
一种CBTC系统安全功能模块测试中静态变量同步和设定方法,包括:
遍历CBTC系统的所有子系统的源码,识别出安全功能模块和该安全功能模块的静态变量及其数据类型,并且识别出对静态变量进行赋值操作的赋值函数及其所赋的值;
建立“数据类型-静态变量-安全功能模块-赋值函数-值”映射关系;
对所述映射关系中的所有赋值函数定义替代函数,在赋值函数原有逻辑的前提下,加入对静态变量的读写操作;
通过对静态变量的读写操作,实时获取或设定静态变量的值。
优选的,通过Python(一种面向对象的解释型计算机程序设计语言)脚本遍历源码,检测关键字:Safe_Declare、Safe_Put和Safe_Update,以识别出安全功能模块、静态变量、静态变量的数据类型、赋值函数和值;
其中,Safe_Declare表示定义模块保护宏;Safe_Put表示登记变量到模块保护宏;Safe_Update表示更新变量值到模块保护宏。
优选的,CBTC系统的子系统包括:移动控制单元、轨旁部件控制单元和车辆控制单元。
优选的,对于识别出的赋值函数,通过Python脚本生成替代函数,该替代函数包括:
获取测试引擎对应安全功能模块的静态变量的值,若被测CBTC软件内静态变量的当前值与其不同,将被测CBTC软件内静态变量的当前值更新为从测试引擎获取的值;
调用赋值函数完成对应业务;以及
将赋值函数更新后的该静态变量的值更新给测试引擎。
优选的,所述的通过对静态变量的读写操作,包括:
生成静态变量的数据结构树形图;
确定测试脚本希望获取或设定的静态变量的值,利用python脚本根据已知的数据类型及相互关系以及数据结构树形图自动生成数据路径;
结合基本数据类型占据内存的数据和所述的数据路径,计算出需要获取或设定的静态变量的数据目标相对于静态变量内存地址的偏移量,获取数据目标在内存中实际存储区域的起止地址;
针对所述起止地址的部分内存进行静态变量的读写操作。
优选的,通过Python脚本遍历源码的同时,Python脚本对源码进行规范性检查,包括:命名规范、数据类型命名规范和重复、调用关系复杂度、宏定义及其使用规范。
本发明的有益效果是:本发明通过编写Python脚本遍历所有子系统源码,有效避免了各个环节的遗漏。同时,基于建立的“数据类型-静态变量-模块-赋值函数-值”映射关系,实现了全路径的全覆盖,从而为实现测试场景的全覆盖提供了保障。基于赋值函数实现对静态变量的实时获取和设定,避免了模块耦合关系和函数调用关系导致的延时和混乱。本发明采用宏定义方法实现原赋值函数的替换,无需修改源码,保证了源码的完整性和独立性。
附图说明
图1是本发明的CBTC系统安全功能模块测试中静态变量同步和设定方法的流程图;
图2是自动化测试架构的结构图;
图3是本发明中源码解析的示意图;
图4是本发明中替代函数生成的示意图;
图5是本发明中一个典型数据类型关系的示意图;
图6是本发明中典型数据类型的数据结构树形图;
图7是本发明中基本数据类型占据内存的示意图;
图8是本发明中数据目标内存地址偏移量计算的示意图。
具体实施方式
下面将结合附图对本发明作进一步说明。
自动化测试架构主要包括三个模块:测试引擎、被测试的CBTC软件和提供外部条件仿真的仿真器,如图2所示。其中,测试引擎包括基于标准测试用例的测试脚本(Testscenario)、实时获取或设定静态CBTC软件中静态变量值的静态变量接口(Staticvariable interface)、与仿真器交互分别获取或命令车辆和轨旁部件状态的车辆接口(Train interface)和轨旁部件接口(Wayside element interface)。被测试的CBTC系统的关键子系统包括移动控制单元(MCU)、轨旁部件控制单元(ECU)和车辆控制单元(VCU),其中包含了三个控制单元的完整软件。仿真器主要包括向移动控制单元和车辆控制单元发送操作命令并显示信号信息的仿真操作员(Simulated operator)、接收轨旁控制单元对轨旁部件的控制命令并向轨旁部件控制单元发送轨旁部件状态的仿真轨旁部件(Simulatewayside element)和接收车辆控制单元对车辆的控制命令并向车辆控制单元发送车辆接收轨旁部件信息的仿真车辆(Simulated train)。
请参阅图1,本发明的CBTC系统安全功能模块测试中静态变量同步和设定方法,包括下列步骤:
步骤S1,遍历CBTC系统的所有子系统的源码,识别出安全功能模块和模块的静态变量及其数据类型,并且识别出对静态变量进行赋值操作的赋值函数及其所赋的值。
移动控制单元、轨旁部件控制单元和车辆控制单元具有相似的代码结构。因此,根据业务功能定义若干安全功能模块(Function module),安全功能模块间具有若干调用关系,安全功能模块内定义若干静态变量(Static Variable)和若干对这些静态变量进行赋值操作的赋值函数(Function),每个安全功能模块定义一个保护宏(Protect macro),安全功能模块内的静态变量均登记到该保护宏,赋值函数改变静态变量值时更新到该保护宏,如图3所示,进行源码解析。
具体地,通过Python脚本遍历源码,检测关键字:Safe_Declare、Safe_Put和Safe_Update,而识别出安全功能模块、静态变量、静态变量的数据类型、赋值函数和值。其中,Safe_Declare表示定义模块保护宏;Safe_Put表示登记变量到模块保护宏;Safe_Update表示更新变量值到模块保护宏。如下表1所示。
表1
在通过Python脚本遍历源码的同时,Python脚本对源码进行规范性检查,包括:命名规范、数据类型命名规范和重复、调用关系复杂度、宏定义及其使用规范。
步骤S2,根据步骤S1中源码解析,建立“数据类型-静态变量-安全功能模块-赋值函数-值”映射关系。以静态变量为基本对象,包含的关系信息有:静态变量的数据类型、静态变量所属模块、对静态变量赋值的函数和所赋值。该映射关系列表将作为后续步骤的基础,也为保证测试场景和测试数据的全覆盖提供了保障。
步骤S3,定义赋值函数的替代函数,在赋值函数原有逻辑的前提下,加入对静态变量的读写操作。具体如下所述:
识别静态变量的赋值函数使用的关键词为Safe_Update。Safe_Update宏的具体内容是:将更新使用该宏时指定的模块内通过Safe_Put宏登记的所有静态变量的值检测更新,从而保证被该赋值函数赋值的一个或多个静态变量的值被更新并被保护。对于识别出的赋值函数,将由Python脚本生成替代函数,如图4所示替代函数主要包括三个部分:1)获取测试引擎内对应安全功能模块内的静态变量的值,若被测CBTC软件内静态变量的当前值与其不同,则以前者更新后者,将被测CBTC软件内静态变量的当前值更新为获取的值,即达到由测试脚本实时设定软件内静态变量值的目的。2)调用赋值函数本身以完成对应业务功能。3)将被测CBTC软件通过赋值函数计算更新后的静态变量的值更新给测试引擎,即达到实时获取软件内静态变量值的目的。由于定义了宏“#define SettingFunctionSettingFunctionReplace”(将赋值函数字段定义为对应替代函数字段),在源码中任何调用到赋值函数(此处示例为SettingFunction)时都将会被替换为调用python脚本生成的替换函数(此处示例为SettingFunctionReplace),从而在保证源码的完整性和独立性的前提下实现了实时获取或设定静态变量值的目的。
步骤S4,通过对静态变量的读写操作,实时获取或设定静态变量的值。
由于静态变量的数据类型众多且层次复杂,在对静态变量进行取值赋值操作时,需要先识别数据类型及不同数据类型间的关系。一个典型的数据关系如图5所示。图5中,静态变量的类型为结构体StructureA,StructureA的定义中,三个成员的类型分别为基本类型无符号短整型Ushort,结构体StructureB和枚举EnumA,其中StructureB的定义中,两个成员的类型分别为基本类型:布尔型SysBool和结构体StructureC,后者的定义中,两个成员的类型分别为枚举EnumB和基本类型无符号长整型ULong,可见,图5中示例静态变量涉及到的数据类型包括基本类型Ushort、SysBool、ULong和非基本类型StructureA、StructureB、StructureC、EnumA和EnumB。与此同时,静态变量本身和StructureA的成员变量member2均为指定容量的一维数组。因此,该静态变量涉及到的数据类型关系和层次都是复杂的。测试引擎要获取该静态变量某个层次上成员的值是复杂的。为了达到取值赋值的目的,需要首先生成该静态变量的数据结构树形图,如图6所示。对于类型为结构体StructureA,容量为100的一维数组变量variable,当测试脚本希望获取或者设定数据目标variable[0].member2[0].member2.member2的值时,需要指定数据路径:variable[index0]→member2[index0]→member2→member2(variable的第一个数组成员->成员member2的第一个数组成员->成员member2->成员member2),显然这一路径需要借助python脚本,根据已知的数据类型及相互关系以及数据结构树形图来自动生成。
在获取静态变量取值赋值的数据路径的情况下,为了实现对静态变量某一层次取值赋值的最终目的,还需要借助内存读写。由图5可见,非基本类型都基于基本类型,非基本类型在内存中占据的字节可以根据基本类型在内存中占据的字节计算得出。不同的基本类型在内存中占据字节数不尽相同,示意如图7所示。
结合基本数据类型占据内存的数据和所述的数据路径,计算出需要获取或设定的静态变量的数据目标相对于静态变量内存地址的偏移量,如图8所示,结合图7进行理解。数据目标在内存中的存储区域起止地址相对于静态变量内存起始地址的偏移量分别为SizeUshort*4+SizeSysBool和SizeUshort*4+SizeSysBool+SizeULong。在具体实现中,基于共享内存方法和基于源码解析建立起的“数据类型-静态变量-模块-赋值函数-值”映射关系列表,在如图4所示的赋值函数替代函数的实现中,已经获取到了静态变量的内存地址。因此,也就可以计算出数据目标在内存中实际存储区域的起止地址,对该部分内存的读写操作也就是对目标数据的取值赋值。从而最终实现了对静态变量的取值赋值(同步或设定)。
基于源码解析建立起的“数据类型-静态变量-模块-赋值函数-值”映射关系列表在自动化测试架构中具有广泛应用,主要包括:1)作为静态变量赋值取值的依据;2)作为赋值函数替代函数识别和定义的依据;3)向测试工程师提供静态变量数据路径;4)向仿真器提供静态变量实时值显示方案的基础;5)向测试引擎提供日志生成和打印的基础。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。
Claims (5)
1.一种CBTC系统安全功能模块测试中静态变量同步和设定方法,其特征在于,包括:
遍历CBTC系统的所有子系统的源码,识别出安全功能模块和该安全功能模块的静态变量及其数据类型,并且识别出对静态变量进行赋值操作的赋值函数及其所赋的值;
建立“数据类型-静态变量-安全功能模块-赋值函数-值”映射关系;
对所述映射关系中的所有赋值函数定义替代函数,在赋值函数原有逻辑的前提下,加入对静态变量的读写操作;
通过对静态变量的读写操作,实时获取或设定静态变量的值;
安全功能模块内定义若干静态变量和若干对这些静态变量进行赋值操作的赋值函数,每个安全功能模块定义一个保护宏,安全功能模块内的静态变量均登记到该保护宏,赋值函数改变静态变量值时更新到该保护宏;
对于识别出的赋值函数,通过Python脚本生成替代函数,该替代函数包括:
获取测试引擎对应安全功能模块的静态变量的值,若被测CBTC软件内静态变量的当前值与其不同,将被测CBTC软件内静态变量的当前值更新为从测试引擎获取的值;
调用赋值函数完成对应业务;以及
将赋值函数更新后的该静态变量的值更新给测试引擎。
2.根据权利要求1所述的CBTC系统安全功能模块测试中静态变量同步和设定方法,其特征在于,通过Python脚本遍历源码,检测关键字:Safe_Declare、Safe_Put和Safe_Update,以识别出安全功能模块、静态变量、静态变量的数据类型、赋值函数和值;
其中,Safe_Declare表示定义模块保护宏;Safe_Put表示登记变量到模块保护宏;Safe_Update表示更新变量值到模块保护宏。
3.根据权利要求1所述的CBTC系统安全功能模块测试中静态变量同步和设定方法,其特征在于,CBTC系统的子系统包括:移动控制单元、轨旁部件控制单元和车辆控制单元。
4.根据权利要求1所述的CBTC系统安全功能模块测试中静态变量同步和设定方法,其特征在于,所述的通过对静态变量的读写操作,包括:
生成静态变量的数据结构树形图;
确定测试脚本希望获取或设定的静态变量的值,利用python脚本根据已知的数据类型及相互关系以及数据结构树形图自动生成数据路径;
结合基本数据类型占据内存的数据和所述的数据路径,计算出需要获取或设定的静态变量的数据目标相对于静态变量内存地址的偏移量,获取数据目标在内存中实际存储区域的起止地址;
针对所述起止地址的部分内存进行静态变量的读写操作。
5.根据权利要求1所述的CBTC系统安全功能模块测试中静态变量同步和设定方法,其特征在于,通过Python脚本遍历源码的同时,Python脚本对源码进行规范性检查,包括:命名规范、数据类型命名规范和重复、调用关系复杂度、宏定义及其使用规范。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910573086.XA CN110347594B (zh) | 2019-06-28 | 2019-06-28 | Cbtc系统安全功能模块测试中静态变量同步和设定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910573086.XA CN110347594B (zh) | 2019-06-28 | 2019-06-28 | Cbtc系统安全功能模块测试中静态变量同步和设定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347594A CN110347594A (zh) | 2019-10-18 |
CN110347594B true CN110347594B (zh) | 2023-03-10 |
Family
ID=68176997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910573086.XA Active CN110347594B (zh) | 2019-06-28 | 2019-06-28 | Cbtc系统安全功能模块测试中静态变量同步和设定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347594B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401075A (zh) * | 2006-11-17 | 2009-04-01 | 深圳市领测科技有限公司 | 程序调测系统中的映射方法和程序调测系统 |
CN104049976A (zh) * | 2014-06-27 | 2014-09-17 | 上海自仪泰雷兹交通自动化系统有限公司 | 基于布尔逻辑的联锁软件自动生成系统 |
JP2014232428A (ja) * | 2013-05-29 | 2014-12-11 | 日本電気通信システム株式会社 | テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラム |
CN104850411A (zh) * | 2015-06-10 | 2015-08-19 | 清华大学 | 存储系统基准评测程序生成方法及装置 |
EP3076299A1 (en) * | 2015-04-03 | 2016-10-05 | IVECO S.p.A. | Method to improve and extend the logics of a test rig for a vehicle component, in particular a battery or an alternator |
CN106407111A (zh) * | 2016-09-07 | 2017-02-15 | 努比亚技术有限公司 | 终端测试装置、终端测试设备及变量维护方法 |
-
2019
- 2019-06-28 CN CN201910573086.XA patent/CN110347594B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401075A (zh) * | 2006-11-17 | 2009-04-01 | 深圳市领测科技有限公司 | 程序调测系统中的映射方法和程序调测系统 |
JP2014232428A (ja) * | 2013-05-29 | 2014-12-11 | 日本電気通信システム株式会社 | テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラム |
CN104049976A (zh) * | 2014-06-27 | 2014-09-17 | 上海自仪泰雷兹交通自动化系统有限公司 | 基于布尔逻辑的联锁软件自动生成系统 |
EP3076299A1 (en) * | 2015-04-03 | 2016-10-05 | IVECO S.p.A. | Method to improve and extend the logics of a test rig for a vehicle component, in particular a battery or an alternator |
CN104850411A (zh) * | 2015-06-10 | 2015-08-19 | 清华大学 | 存储系统基准评测程序生成方法及装置 |
CN106407111A (zh) * | 2016-09-07 | 2017-02-15 | 努比亚技术有限公司 | 终端测试装置、终端测试设备及变量维护方法 |
Non-Patent Citations (3)
Title |
---|
On-line Conformance Testing ofthe Communication Based Train Control (CBTC) System;Yuemiao Wang et al.;《2016 IEEE International Conference on Intelligent Rail Transportation》;20161013;全文 * |
基于互联互通的城轨CBTC 系统测试用例设计;王洪智;《科技创新与应用》;20181231;全文 * |
结构体对象的赋值运算方法研究;闫鑫等;《软件》;20131115(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110347594A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113206763B (zh) | 一种适应于物联管理平台的仿真测试系统及方法 | |
CN109474578A (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN104111885A (zh) | 接口测试结果的校验方法和装置 | |
CN111124789B (zh) | 一种芯片仿真调试系统及调试方法 | |
CN111241111B (zh) | 数据查询方法及装置、数据对比方法及装置、介质及设备 | |
CN112181854B (zh) | 一种生成流程自动化脚本的方法、装置、设备及存储介质 | |
CN107193730A (zh) | 一种自动化的接口测试方法 | |
CN108664394A (zh) | 一种内存泄露过程追溯方法及装置 | |
CN117009208A (zh) | 依赖关系信息的处理方法、装置、设备及存储介质 | |
CN110554956B (zh) | 一种bdms自动化测试方法 | |
CN103810090A (zh) | 核电站数字化规程安装调试验证的方法、升版方法和平台 | |
CN110347594B (zh) | Cbtc系统安全功能模块测试中静态变量同步和设定方法 | |
CN114264904B (zh) | 基于仿真和机器视觉的全液晶仪表测试方法及系统 | |
CN114691768A (zh) | 一种数据处理方法、核算系统及相关设备 | |
CN113282506A (zh) | 测试数据获取方法、装置、设备及计算机可读存储介质 | |
CN115437903A (zh) | 接口测试方法、装置、设备、存储介质及程序 | |
CN111209194A (zh) | 发现内存泄漏bug的测试用例设计方法 | |
CN116260663B (zh) | 一种针对加油站的税控管理方法和系统 | |
CN114978937B (zh) | 一种页面数据校验方法及装置 | |
CN114942623B (zh) | 控制器的测试方法、装置、车辆及计算机可读存储介质 | |
CN115065612B (zh) | 全链路压测改造的测试方法及装置 | |
CN113722162A (zh) | Mvb网卡稳定性测试系统、方法及存储介质 | |
CN118132380A (zh) | 一种系统的问题定位方法、装置、设备及介质 | |
CN118093399A (zh) | 产品测试方法、装置、电子设备、存储介质及系统 | |
CN116862666A (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 |