CN110399304A - 一种脚本的测试方法及系统 - Google Patents
一种脚本的测试方法及系统 Download PDFInfo
- Publication number
- CN110399304A CN110399304A CN201910695513.1A CN201910695513A CN110399304A CN 110399304 A CN110399304 A CN 110399304A CN 201910695513 A CN201910695513 A CN 201910695513A CN 110399304 A CN110399304 A CN 110399304A
- Authority
- CN
- China
- Prior art keywords
- test
- module
- data
- script
- file
- 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
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
- 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
- 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/3692—Test management for test results analysis
-
- 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
Abstract
本发明公开了一种脚本的测试方法及系统,方法包括:配置测试文件,测试文件包括至少一个测试项目文件,不同的测试项目文件相互独立,每个测试项目文件对应一个测试项目;载入与测试项目相应的测试用例数据;从测试用例数据中解析出测试数据和预期返回数据;根据通讯协议,建立模拟终端与芯片的通讯连接;运行与测试项目相应的测试脚本,获得运行结果,并同步记录测试日志;利用测试用例数据的预期返回数据校验相应的测试脚本的运行结果;根据校验结果生成测试结果,并输出测试报告。本申请的测试用例数据和脚本的分离,使测试脚本的可维护性更强。
Description
技术领域
本发明涉及计算机技术领域,具体地,涉及脚本的测试方法及系统。
背景技术
冷钱包将数字资产私钥单独储存在一个硬件芯片中,用硬件设备保存私钥等核心数据。在芯片的测试中,测试脚本一般需要模拟APP终端对芯片的各种功能的使用,并解析和检查芯片返回的内容。
这类测试通常有如下缺点:
a、测试数据和脚本混在一起,不方便维护。
b、扩展性不强,随着数字资产的增多,测试脚本也变复杂。
C、功能函数和算法函数混在一起,当增加算法时,需大幅度改动脚本,维护性不强。
D、测试脚本从头跑到尾,无法自主控制每个测试项目,缺乏可配置性。
发明内容
本发明的目的在于提供一种脚本的测试方法及系统,使测试数据和脚本分离,并实现不同测试项目的独立配置,提高可维护性强和可配置性。
为达到上述目的,本发明提供了一种脚本的测试方法,包括:配置测试文件,测试文件包括至少一个测试项目文件,不同的测试项目文件相互独立,每个测试项目文件对应一个测试项目;载入与测试项目相应的测试用例数据;从测试用例数据中解析出测试数据和预期返回数据;根据通讯协议,建立模拟终端与芯片的通讯连接;运行与测试项目相应的测试脚本,获得运行结果,并同步记录测试日志;利用测试用例数据的预期返回数据校验相应的测试脚本的运行结果;根据校验结果生成测试结果,并输出测试报告。
进一步地,其中,还包括:运行测试脚本时,测试脚本判断该测试项目是否需要调用算法;若是,则调用所需的算法进行计算,以获得运行结果。
进一步地,其中,还包括:校验完一个测试项目的运行结果后,判断是否存在未运行的测试项目;若是,则运行未运行的测试项目;否则,生成测试结果。
进一步地,其中,模拟终端与芯片通过蓝牙或NFC通讯连接。
本申请还提供了一种脚本的测试系统,包括配置模块、数据模块、解析模块、通讯模块、检查模块、脚本模块以及日志模块;配置模块用于存储多个相互独立的测试项目文件,并在测试中通过调用至少一个测试项目文件来配置测试文件,每个测试项目文件对应一个测试项目;数据模块用于存储多个相互独立的与测试项目对应的测试用例数据,测试用例数据包括测试数据文件和检查数据文件;测试数据文件是相应的测试脚本运行时的数据源,检查数据文件是数据源被运行后的预期返回数据;解析模块用于读取测试文件,获得目标测试项目,并从数据模块中调用与目标测试项目对应的测试用例数据,从测试用例数据中解析出测试数据文件和检查数据文件;通讯模块用于模拟终端与芯片之间进行测试指令的通讯;检查模块用于校验与目标测试项目对应的测试脚本返回的运行结果,对比运行结果是否与预期返回数据一致;脚本模块用于协调数据模块、通讯模块和检查模块,对测试用例数据进行读取和解析,运行测试脚本,校验运行结果,并生成日志;日志模块用于记录测试脚本的运行日志,根据检查模块的校验结果生成测试结果,并输出测试报告。
进一步地,其中,还包括算法模块,算法模块存储实现芯片的功能所需的所有算法,根据需要调用目标测试项目所需的算法进行计算。
进一步地,其中,还包括判断模块,判断模块用于在校验完一个测试项目的运行结果后,判断测试文件中是否存在未被运行的测试项目。
进一步地,其中,模拟终端与芯片通过蓝牙或NFC通讯连接。
本申请还提供了一种存储介质,存储计算机程序,其中计算机程序执行上述测试方法。
本发明具有以下有益效果:
1、本申请的测试用例数据和脚本的分离,使测试脚本的可维护性更强。
2、本申请设置了多个相互独立的测试项目的配置信息,用户可自由配置测试项目,使得测试更灵活,并且避免测试脚本从头跑到尾而无法自主控制每个测试项目。
3、本申请实现了功能测试接口和算法接口的分离,便于单独增加功能测试点和增加算法,提高了脚本的可维护性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的脚本的测试方法的流程图;
图2是根据本发明实施例提供的芯片的测试系统的结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本申请提供了一种脚本的测试系统,其用于测试芯片的各种功能。如图2所示,该测试系统200包括配置模块210、数据模块220、解析模块230、通讯模块240、检查模块250、脚本模块260、日志模块270、算法模块280以及判断模块290。
配置模块210用于存储多个相互独立的测试项目的测试项目文件以及该测试项目的配置信息,不同的测试项目文件和不同的配置信息均相互独立。并且配置模块210在测试中通过至少一个配置信息自由配置相应的测试项目文件。
作为一个实施例,芯片用作冷钱包,则测试项目包括钱包管理功能、数字货币功能等测试大类,以及配置测试哪些数字货币,比如比特币、比特币现金、比特币黄金、莱特币、狗狗币、以太坊等。
作为一个实施例,测试项目的配置信息可以是标志位。自由配置过程中,通过判断是否存在某测试项目的标志位来判断本次测试是否配置了该测试项目,即本次测试是否需要调用该测试项目文件。
数据模块220用于存储多个相互独立的与测试项目对应的测试用例数据,测试用例数据包括相互独立的测试数据文件和检查数据文件;测试数据文件是相应的测试脚本运行时的数据源。检查数据文件是数据源被运行后的预期返回数据,用来校验芯片运行测试脚本后返回数据的正确性。
解析模块230与配置模块210和数据模块220连接,用于从配置模块210读取测试文件,获得目标测试项目,并从数据模块220中调用与目标测试项目对应的测试用例数据,从测试用例数据中解析出测试数据文件和检查数据文件。
通讯模块240用于模拟终端与芯片之间进行测试指令的通讯,以接收和发送测试指令。
作为一个实施例,模拟终端与芯片通过蓝牙或NFC进行通讯。
作为一个实施例,模拟终端为模拟APP终端。
检查模块250与解析模块230和脚本模块260连接,用于校验与目标测试项目对应的测试脚本返回的运行结果,即返回的测试数据,对比运行结果是否与预期返回数据一致。若一致则该测试项目校验通过,测试成功。否则该测试项目测试失败。
脚本模块260与数据模块220、通讯模块240和检查模块250连接,用于协调数据模块220、通讯模块240和检查模块250,对测试用例数据进行读取和解析,运行测试脚本,校验运行结果,并生成日志。
日志模块270与脚本模块260和检查模块250连接,用于记录测试脚本的运行日志,根据检查模块的校验结果生成测试结果,并输出测试报告。
算法模块280与脚本模块260连接,用于存储实现芯片的功能所需的所有算法,根据需要调用目标测试项目所需的算法进行计算。
作为一个实施例,芯片用作冷钱包,则算法包括SHA256/RIPEMD-160哈希算法、ECC签名算法等。不同的数字货币所使用的签名规则和算法都不一样。作为一个例子,在比特币的测试中,比特币的交易过程需要对交易数据进行签名,首先使用SHA256算法对交易数据进行哈希运算,然后使用secp256k1曲线的ECC算法进行签名。作为另一个例子,小蚁数字货币的交易中,使用的是secp256r1曲线的ECC算法进行签名。
判断模块290与脚本模块260和日志模块270连接,用于在校验完一个测试项目的运行结果后,判断测试文件中是否存在未被运行的测试项目,检查测试文件中的测试项目对应的测试用例数据是否全部读取完毕。
实施例2
本申请还提供了一种脚本的测试方法,其用于测试芯片的各种功能。如图1所示,该测试方法包括如下步骤:
S110:配置测试文件,该测试文件由用户配置,每次测试的测试文件包括至少一个测试项目的测试项目文件以及该测试项目的配置信息,测试文件中不同的测试项目文件和不同的配置信息均相互独立。
在测试文件中,不同的测试项目是相互独立的。
作为一个实施例,测试项目的配置信息可以是标志位。自由配置过程中,通过判断是否存在某测试项目的标志位来判断本次测试是否配置了该测试项目,即本次测试是否需要调用该测试项目的测试项目文件。
本申请设置了多个相互独立的测试项目的配置信息,用户可自由配置测试项目,使得测试更灵活。S120:根据测试文件,载入与测试文件中一个测试项目相应的测试用例数据,该测试用例数据包括测试数据文件和检查数据文件,测试数据文件是相应的测试脚本运行时所用的数据源,检查数据文件是数据源被运行后的预期返回数据。
S130:解析测试用例数据。从S120载入的测试用例数据中解析出测试数据和预期返回数据。
S140:根据通讯协议,建立模拟终端与芯片的通讯连接,以交互指令。
作为一个实施例,该模拟终端为模拟APP终端。
作为一个实施例,模拟终端与芯片通过蓝牙或NFC进行通讯连接。
S150:运行与测试项目相应的测试脚本,并同步记录测试日志。
本申请中,先载入了测试用例数据(请见S120),然后在S150运行测试脚本,实现了测试用例数据和脚本的分离,使测试脚本的可维护性更强。
S160:测试脚本判断该测试项目是否需要调用算法。
若是,则执行S170;否则,执行S180。
S170:调用所需的算法进行计算,以获得运行结果。算法包括SHA256/RIPEMD-160哈希算法、ECC签名算法等。
本申请通过算法的调用实现了功能接口和算法接口的分离,增加算法时,无需大幅度改动脚本,提高了脚本的可维护性。并且,算法的单独调用实现了芯片多种功能的独立、自动化测试。
S180:获得运行结果。
S190:校验运行结果。利用S130中解析出的测试用例数据的预期返回数据校验相应的测试脚本的运行结果,比较二者是否一致。
若二者一致,则校验通过,该测试项目测试成功,执行步骤S1100;否则该测试项目测试失败,转至S1110。
S1100:判断是否存在未运行的测试项目,即判断S110中测试文件中的所有测试项目是否均被测试了。
本申请中,每个测试项目均单独进行测试,每读取一个测试项目的测试用例数据,则执行S120至S190;校验完上一个测试用例数据后,再读取另一个测试项目的测试用例数据,再执行S120至S190,直到所有测试用例数据都读取并测试,则测试结束。
S1100中,若存在未运行的测试项目,则返回S120,运行未运行的测试项目。否则,执行S1110。
S1110:根据校验结果生成测试结果,并输出测试报告。
实施例3
本申请还提供了一种存储介质,存储计算机程序,其中计算机程序执行实施例2的测试方法。
本发明具有以下有益效果:
1、本申请的测试用例数据和脚本的分离,使测试脚本的可维护性更强。
2、本申请设置了多个相互独立的测试项目的配置信息,用户可自由配置测试项目,使得测试更灵活,并且避免测试脚本从头跑到尾而无法自主控制每个测试项目。
3、本申请通过算法的调用实现了功能接口和算法接口的分离,增加算法时,无需大幅度改动脚本,提高了脚本的可维护性。并且,算法的单独调用实现了芯片多种功能的独立、自动化测试。
虽然当前申请参考的示例被描述,其只是为了解释的目的而不是对本发明的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本发明的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种脚本的测试方法,其特征在于,包括:
配置测试文件,所述测试文件包括至少一个测试项目文件,不同的测试项目文件相互独立,每个测试项目文件对应一个测试项目;
载入与所述测试项目相应的测试用例数据;
从所述测试用例数据中解析出测试数据和预期返回数据;
根据通讯协议,建立模拟终端与芯片的通讯连接;
运行与所述测试项目相应的测试脚本,获得运行结果,并同步记录测试日志;
利用所述测试用例数据的预期返回数据校验相应的测试脚本的运行结果;
根据校验结果生成测试结果,并输出测试报告。
2.根据权利要求1所述的方法,其特征在于,还包括:
运行测试脚本时,测试脚本判断该测试项目是否需要调用算法;
若是,则调用所需的算法进行计算,以获得运行结果。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
校验完一个测试项目的运行结果后,判断是否存在未运行的测试项目;
若是,则运行未运行的测试项目;
否则,生成测试结果。
4.根据权利要求1所述的方法,其特征在于,模拟终端与芯片通过蓝牙或NFC通讯连接。
5.一种脚本的测试系统,其特征在于,包括配置模块、数据模块、解析模块、通讯模块、检查模块、脚本模块以及日志模块;
配置模块用于存储多个相互独立的测试项目文件,并在测试中通过调用至少一个测试项目文件来配置测试文件,每个测试项目文件对应一个测试项目;
数据模块用于存储多个相互独立的与测试项目对应的测试用例数据,所述测试用例数据包括测试数据文件和检查数据文件;所述测试数据文件是相应的测试脚本运行时的数据源,所述检查数据文件是所述数据源被运行后的预期返回数据;
解析模块用于读取测试文件,获得目标测试项目,并从所述数据模块中调用与目标测试项目对应的测试用例数据,从所述测试用例数据中解析出测试数据文件和检查数据文件;
通讯模块用于模拟终端与芯片之间进行测试指令的通讯;
检查模块用于校验与目标测试项目对应的测试脚本返回的运行结果,对比所述运行结果是否与预期返回数据一致;
脚本模块用于协调数据模块、通讯模块和检查模块,对测试用例数据进行读取和解析,运行测试脚本,校验运行结果,并生成日志;
日志模块用于记录测试脚本的运行日志,根据检查模块的校验结果生成测试结果,并输出测试报告。
6.根据权利要求5所述的测试系统,其特征在于,还包括算法模块,所述算法模块存储实现芯片的功能所需的所有算法,并根据需要调用目标测试项目所需的算法进行计算。
7.根据权利要求5或6所述的测试系统,其特征在于,还包括判断模块,所述判断模块用于在校验完一个测试项目的运行结果后,判断测试文件中是否存在未被运行的测试项目。
8.根据权利要求5所述的测试系统,其特征在于,模拟终端与芯片通过蓝牙或NFC通讯连接。
9.一种存储介质,存储计算机程序,其中计算机程序执行如权利要求1-5所述的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695513.1A CN110399304B (zh) | 2019-07-30 | 2019-07-30 | 一种脚本的测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695513.1A CN110399304B (zh) | 2019-07-30 | 2019-07-30 | 一种脚本的测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399304A true CN110399304A (zh) | 2019-11-01 |
CN110399304B CN110399304B (zh) | 2023-07-25 |
Family
ID=68326591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910695513.1A Active CN110399304B (zh) | 2019-07-30 | 2019-07-30 | 一种脚本的测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399304B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832236A (zh) * | 2020-06-29 | 2020-10-27 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片回归测试方法、系统、电子设备及存储介质 |
CN113203935A (zh) * | 2021-03-11 | 2021-08-03 | 江西创成微电子有限公司 | 芯片测试方法、系统及可读存储介质 |
CN115686268A (zh) * | 2022-12-30 | 2023-02-03 | 昆山龙雨智能科技有限公司 | 一种适用于多种触控面板的测试方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063372A (zh) * | 2010-12-30 | 2011-05-18 | 浪潮集团山东通用软件有限公司 | 一种主键驱动的模块化的自动化测试方法 |
CN102467448A (zh) * | 2010-11-16 | 2012-05-23 | 安凯(广州)微电子技术有限公司 | 一种测试用例的测试方法及系统 |
US20130086420A1 (en) * | 2011-10-03 | 2013-04-04 | Verizon Patent And Licensing, Inc. | Method and system for implementing a test automation results importer |
CN109614313A (zh) * | 2018-10-25 | 2019-04-12 | 平安科技(深圳)有限公司 | 自动化测试方法、装置及计算机可读存储介质 |
-
2019
- 2019-07-30 CN CN201910695513.1A patent/CN110399304B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467448A (zh) * | 2010-11-16 | 2012-05-23 | 安凯(广州)微电子技术有限公司 | 一种测试用例的测试方法及系统 |
CN102063372A (zh) * | 2010-12-30 | 2011-05-18 | 浪潮集团山东通用软件有限公司 | 一种主键驱动的模块化的自动化测试方法 |
US20130086420A1 (en) * | 2011-10-03 | 2013-04-04 | Verizon Patent And Licensing, Inc. | Method and system for implementing a test automation results importer |
CN109614313A (zh) * | 2018-10-25 | 2019-04-12 | 平安科技(深圳)有限公司 | 自动化测试方法、装置及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832236A (zh) * | 2020-06-29 | 2020-10-27 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片回归测试方法、系统、电子设备及存储介质 |
CN111832236B (zh) * | 2020-06-29 | 2022-03-22 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片回归测试方法、系统、电子设备及存储介质 |
CN113203935A (zh) * | 2021-03-11 | 2021-08-03 | 江西创成微电子有限公司 | 芯片测试方法、系统及可读存储介质 |
CN115686268A (zh) * | 2022-12-30 | 2023-02-03 | 昆山龙雨智能科技有限公司 | 一种适用于多种触控面板的测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110399304B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106940428B (zh) | 芯片验证方法、装置及系统 | |
CN110399304A (zh) | 一种脚本的测试方法及系统 | |
Hovorushchenko | Methodology of evaluating the sufficiency of information for software quality assessment according to ISO 25010 | |
CN109948345A (zh) | 一种智能合约漏洞检测的方法、系统 | |
CN108416219A (zh) | 一种Android二进制文件漏洞检测方法及系统 | |
CN108614777A (zh) | 一种基于真实业务的金融交易测试系统及测试方法 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN110401634A (zh) | 一种Web应用漏洞检测规则引擎实现方法及终端 | |
CN110290522A (zh) | 用于移动设备的风险识别方法、装置和计算机系统 | |
CN110226317A (zh) | 数据认证方法、装置和系统 | |
CN105631361B (zh) | 一种应用程序渠道来源标识方法及装置 | |
CN110955899A (zh) | 安全测试方法、装置、测试设备以及介质 | |
CN104850427B (zh) | 一种代码升级方法及装置 | |
CN106708687A (zh) | 一种基于可执行文件的芯片验证方法和装置 | |
CN109144869A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN110058920A (zh) | 虚拟机性能检测方法及装置、电子设备、存储介质 | |
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
CN104836777B (zh) | 身份验证方法和系统 | |
CN107113196A (zh) | Atm业务软件开发调试方法、系统和一种模拟atmp系统 | |
CN103365772B (zh) | 软件测试自动评价装置以及方法 | |
CN110008074B (zh) | 自动化测试查询硬件信息上层接口的方法、装置及设备 | |
CN116303083A (zh) | 一种面向ndc的测试生成方法、系统及存储介质 | |
US11909754B2 (en) | Security assessment system | |
CN110362294A (zh) | 开发任务执行方法、装置、电子设备及存储介质 | |
CN107622013B (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 |