CN102270126B - 一种快速确定接口代码和测试脚本参数值的方法及设备 - Google Patents
一种快速确定接口代码和测试脚本参数值的方法及设备 Download PDFInfo
- Publication number
- CN102270126B CN102270126B CN2010101993935A CN201010199393A CN102270126B CN 102270126 B CN102270126 B CN 102270126B CN 2010101993935 A CN2010101993935 A CN 2010101993935A CN 201010199393 A CN201010199393 A CN 201010199393A CN 102270126 B CN102270126 B CN 102270126B
- Authority
- CN
- China
- Prior art keywords
- interface
- parameter value
- message
- test script
- representation
- 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
Abstract
本发明的实施例提出了一种确定接口代码和测试脚本参数值的方法,包括以下步骤:当设备接口变更升级后,基于特别约定的结构表示、相应的组成元素表示及参数索引表示,为升级前和升级后的消息分别建立相应的接口消息内部表示;对比升级前和升级后的接口消息的内部表示,确定消息实体定义集内的各元素参数值;基于所述内部表示和元素参数值,构造升级版接口消息的相应代码和测试脚本。本发明提出的上述方案,能够有效减少接口代码和测试脚本升级所需的投入,协助技术人员快速开发接口代码和测试脚本,有效提高接口代码和测试消息脚本的编写效率,保证接口代码和测试消息脚本的质量,解决了目前接口代码和测试脚本升级过程中需要投入大量的人力和时间的问题。
Description
技术领域
本发明涉及数字通信领域,具体而言,本发明涉及通信软件组件接口代码和测试脚本快速生成的方法及设备。
背景技术
移动和宽带成为现代通信技术的发展方向。新一代通信系统的构成主体是基于复杂集成电路和数字逻辑、以更快地速度运行各种通信新技术协议和算法软件的智能通信设备。这些通信设备业务控制逻辑的验证测试涉及大量的复杂逻辑交互。像第三代移动通信系统中无线网络控制器RNC这类设备的控制面测试验证,就需要建立规模庞大的测试脚本集。
测试脚本(Testing script)一般指的是一个特定的测试指令系列,这些指令可以被自动化测试工具执行。
为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。因此,应有目的地确定这些操作的目标,这样就可以复用它们的实施。自动化测试脚本是自动执行测试过程(或部分测试过程)的计算机可读指令。测试脚本可以由技术人员使用编程语言编写、自动创建(记录)或使用测试自动化工具生成,也可综合前三种方法来完成。
在软件开发过程中,更改目标软件时同时进行对测试过程局部的可控制的变更,将使得测试过程和测试脚本对目标软件的变化有更大的应变能力。例如,假设软件的登录部分已经改变。在遍历该登录部分的所有测试用例中,只有关于登录的测试过程和测试脚本需要进行改变。
测试脚本是针对一个测试过程的。一个测试过程往往需要众多的数据来测试。通常情况下,通过自动录制得到的脚本,所有的输入数据都是常数,是固定的。如果需要使用一个测试脚本支持多组数据,就需要对脚本进行参数化,把固定的常数修改为来自数据源变量。
随着技术的演进和开发过程的迭代,进行接口交互代码和测试脚本升级需要耗费大量的人力和时间。通信设备业务控制逻辑是技术人员基于设备需求的设计。新需求的导入和设计的优化均有可能引发设计内容的变化。尽管架构设计的稳定一直是技术人员追求的目标,实现变化的设计和验证设计和实现的正确性则是技术人员经常面对的任务。
以下几种情形下,技术人员必须重新编写与设备组件之间接口关联的代码:
1)接口定义变更时,需要重新建立测试验证使用消息模板。涉及相应的消息描述头文件(header);消息内容描述表格(XLS Sheet)等;
2)设备中采用的第三方软件Codec库调整(增加、删除、升级)时,涉及与第三方工具接口的接口定义头文件(Header),常量定义文件(Constant);
3)测试工具支持升级后的接口标准时,需要扩充、更新对应的消息描述,以确保高效地测试开发。涉及确定可选项、确定实现消息实例化、确定参数候选值等以实现参数初始化、确定范围实现参数值动态化等。
目前情况下,上述任务均有技术人员手工完成。多数情况下,由于消息规模大、工作量繁重,完成相应任务需要投入大量的人力和时间。
因此,有必要提出一种技术方案,能够有效减少接口代码和测试脚本升级所需的投入,协助技术人员快速开发接口代码和测试脚本。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别是通过特别约定的结构表示、相应的组成元素表示及参数索引表示,实现接口代码和测试脚本升级过程中,有效提高接口代码和测试消息脚本的编写效率,保证接口代码和测试消息脚本的质量。
为了达到上述目的,本发明的实施例一方面提出了一种确定接口代码和测试脚本参数值的方法,包括以下步骤:
当设备接口变更升级后,基于特别约定的结构表示、相应的组成元素及参数索引表示,为升级版消息建立相应的接口消息的内部表示;
对比升级前和升级后的接口消息的内部表示,确定消息实体定义集内的元素参数值;
基于所述内部表示和元素参数值,构造升级版接口消息的相应代码测试脚本。
根据本发明的实施例,特别约定的结构表示包括以下一种或多种方式:
将消息映射成复合消息元素,且复合消息元素对应数据结构体;
结构体的成员为基本数据类型或子复合类型;
使用数字符号(0,1,2,3,....)代替基本数据类型,成对括号(<>)代表复合类型;
使用符号&代表引用类型,为对基本类型或复合类型的引用。
根据本发明的实施例,确定消息实体定义集内的元素参数值包括以下步骤:
通过二维结构定义定位结构元素;
通过e[i,j]表示结构体i的基本元素j;
通过Va(e[i,j])表示构体i的基本元素j的参数值。
本发明的实施例另一方面还提出了一种确定接口代码和测试脚本参数值的装置,包括内部表示派生模块,参数值确定模块以及构造模块,
所述内部表示派生模块,用于当设备接口变更升级后,基于特别约定的结构表示、相应的组成元素及参数索引表示,为升级版消息建立相应的接口消息的内部表示;
所述参数值确定模块,用于对比升级前和升级后的接口消息的内部表示,确定消息实体定义集内的元素参数值;对比操作可以通过选取消息元素的位置(绝对位置和偏移位置、嵌套层级)特征、元素标识特征等属性信息作为比较要素,进行实践尝试、进而采用最有效的比较算法;
所述构造模块,用于基于所述内部表示和元素参数值,构造升级版接口消息的相应代码测试脚本。
根据本发明的实施例,所述内部表示派生模块的特别约定的结构表示包括以下一种或多种方式:
将消息映射成复合消息元素,且复合消息元素对应数据结构体;
结构体的成员为基本数据类型或子复合类型;
使用数字符号(0,1,2,3,....)代替基本数据类型,成对括号(<>)代表复合类型;
使用符号&代表引用类型,为对基本类型或复合类型的引用。
根据本发明的实施例,所述参数值确定模块确定消息实体定义集内的元素参数值包括以下步骤:
通过二维结构定义定位结构元素;
通过e[i,j]表示结构体i的基本元素j;
通过Va(e[i,j])表示构体i的基本元素j的参数值。
本发明提出的上述方案通过特别约定的结构表示、相应的组成元素及参数索引表示,实现接口代码和测试脚本升级过程中,能够有效减少接口代码和测试脚本升级所需的投入,协助技术人员快速开发接口代码和测试脚本,有效提高接口代码和测试消息脚本的编写效率,保证接口代码和测试消息脚本的质量,解决了目前接口代码和测试脚本升级过程中需要投入大量的人力和时间的问题。此外,本发明提出的上述方案,对现有系统的改动很小,不会影响系统的兼容性,而且实现简单、高效。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例确定接口代码和测试脚本参数值的方法流程图;
图2为接口消息代码和测试消息脚本的升级方式示意图;
图3为本发明实施例一种确定接口代码和测试脚本参数值的装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
为了实现本发明之目的,本发明公开了一种确定接口代码和测试脚本参数值的方法,包括以下步骤:当设备接口变更升级后,基于特别约定的结构表示、相应的组成元素及参数索引表示,为升级版消息建立相应的接口消息的内部表示;对比升级前和升级后的接口消息的内部表示,确定消息实体定义集内的元素参数值;基于所述内部表示和元素参数值,构造升级版接口消息的相应代码测试脚本。
如图1所示,为本发明实施例确定接口代码和测试脚本参数值的方法流程图,包括以下步骤:
S110:为升级版消息建立相应的接口消息的内部表示。
在步骤S110中,当设备接口变更升级后,基于特别约定的结构表示、相应的组成元素及参数索引表示,为升级版消息建立相应的接口消息的内部表示。
具体而言,如表1所示,引入一种特别约定的结构表示法和相应的组成元素及参数索引表示方法,实现接口消息的独立表示。
表1接口消息的独立表示
作为本发明的实施例,特别约定的结构表示包括以下一种或多种方式:
将消息映射成复合消息元素,且复合消息元素对应数据结构体;
结构体的成员为基本数据类型或子复合类型;
使用数字符号(0,1,2,3,....)代替基本数据类型,成对括号(<>)代表复合类型;
使用符号&代表引用类型,为对基本类型或复合类型的引用。
S120:对比升级前和升级后的接口消息的内部表示,确定消息实体定义集内的元素参数值。
在步骤S120中,例如采用成熟的比较算法,对比升级前和升级后消息表示,找出消息实体定义集内的元素参数值。
作为本发明的实施例,如表2所示,为一种接口消息的参数值索引和表示。
表2接口消息的参数值索引和表示
消息基本元素 | e(i,j) | |
消息基本元素参数值(文本) | v(i,j) | |
即确定消息实体定义集内的元素参数值包括以下步骤:
通过二维结构定义定位结构元素;通过e[i,j]表示结构体i的基本元素j;通过Va(e[i,j])表示构体i的基本元素j的参数值。
S130:基于内部表示和元素参数值,构造升级版接口消息的相应代码测试脚本。
在步骤S130中,经过步骤S110和S120之后,基于内部表示和元素参数值,构造升级版接口消息的相应代码测试脚本,如图2所示。
即根据消息表示(前)和消息表示(后)的相同特征,比较查找相同消息元素,然后获取升级前的元素参数。根据消息参数(前)以及升级后模板内参数、标记新增参数,其后构造升级版代码和脚本(后)。
本发明提出的上述方法通过特别约定的结构表示、相应的组成元素及参数索引表示,实现接口代码和测试脚本升级过程中,能够有效减少接口代码和测试脚本升级所需的投入,协助技术人员快速开发接口代码和测试脚本,有效提高接口代码和测试消息脚本的编写效率,保证接口代码和测试消息脚本的质量,解决了目前接口代码和测试脚本升级过程中需要投入大量的人力和时间的问题。此外,本发明提出的上述方法,对现有系统的改动很小,不会影响系统的兼容性,而且实现简单、高效。
如图3所示,为本发明公开的一种确定接口代码和测试脚本参数值的装置300,包括内部表示派生模块310,参数值确定模块320以及构造模块330。
具体而言,内部表示派生模块310用于当设备接口变更升级后,基于特别约定的结构表示、相应的组成元素及参数索引表示,为升级版消息建立相应的接口消息的内部表示。
如表1所示,内部表示派生模块310引入一种特别约定的结构表示法和相应的组成元素及参数索引表示方法,实现接口消息的独立表示。
作为本发明的实施例,内部表示派生模块310的特别约定的结构表示包括以下一种或多种方式:
将消息映射成复合消息元素,且复合消息元素对应数据结构体;
结构体的成员为基本数据类型或子复合类型;
使用数字符号(0,1,2,3,....)代替基本数据类型,成对括号(<>)代表复合类型;
使用符号&代表引用类型,为对基本类型或复合类型的引用。
参数确定模块320用于对比升级前和升级后的接口消息的内部表示,确定消息实体定义集内的元素参数值。
例如参数确定模块320采用成熟的比较算法,对比升级前和升级后消息表示,找出消息实体定义集内的元素参数值。
作为本发明的实施例,如表2所示,为参数确定模块320接口消息的参数值索引和表示。
即确定消息实体定义集内的元素参数值包括以下步骤:
通过二维结构定义定位结构元素;通过e[i,j]表示结构体i的基本元素j;通过Va(e[i,j])表示构体i的基本元素j的参数值。
构造模块330用于基于所述内部表示和元素参数值,构造升级版接口消息的相应代码测试脚本。
构造模块330基于内部表示和元素参数值,构造升级版接口消息的相应代码测试脚本,如图2所示。
即构造模块330根据消息表示(前)和消息表示(后)的相同特征,比较查找相同消息元素,然后获取升级前的元素参数。构造模块330根据消息参数(前)以及升级后模板内参数、标记新增参数,其后构造升级版代码和脚本(后)。
本发明提出的上述装置通过特别约定的结构表示、相应的组成元素及参数索引表示,实现接口代码和测试脚本升级过程中,能够有效减少接口代码和测试脚本升级所需的投入,协助技术人员快速开发接口代码和测试脚本,有效提高接口代码和测试消息脚本的编写效率,保证接口代码和测试消息脚本的质量,解决了目前接口代码和测试脚本升级过程中需要投入大量的人力和时间的问题。此外,本发明提出的上述装置,对现有系统的改动很小,不会影响系统的兼容性,而且实现简单、高效。
为了进一步阐述本发明,下面结合具体的消息类型对上述方案进行阐述。
具体地:
如果消息MessageStructure的升级前原形表示为
VAR svar_MessageStructure,INIT={
& next=>NIL,
& value=>{
& bit_mask=>0x80,
& iE_ID=>65535,
& repetitionNumber=>10,
& iE_Extensions=>NIL
& }
& }
对应的内部中间表示为:
{&<0,2,0,&>}
对应的消息值表示
{NIL<0x80,65535,10,NIL>}
该消息的升级后该结构原形表示
VAR svar_MessageStructure,INIT={/*List range:1..256*/
& next=>UNKNOWN,
& value=>{
& bit_mask=>0x80|0x40,
& iE_ID=>/*Range is:0..65535*/
& repetitionNumber=>/*O_bit_mask(0x80)*//*Range is:1..256*/
& iE_Extensions=>UNKNOWN/*O_bit_mask(0x40)*/
& }
&}
对应的抽象表示未发生变化,仍然是
{&<0,2,0,&>}
其缺省的参数无法确定,即:
{
UNKNOWN
<″0x80|0x40″,
″Range is:0..65535″,
″/*O_bit_mask(0x80)*//*Range is:1..256*/″,
″UNKNOWN/*O_bit_mask(0x40)*/″
>}
对其初始化时,可用升级前的参数值取代参考范围描述。包含实体值后的形势为:
VAR svar_MessageStructure,INIT={/*List range:1..256*/
& next=>NIL,
& value=>{
& bit_mask=>0x80,
& iE_ID=>65535,/*Rangeis:0..65535*/
& repetitionNumber=>10,/*O bit_mask(0x80)*//*Range is:1..256*/
& iE_Extensions=>NIL/*O_bit_mask(0x40)*/
& }
&}
通过上述方式,能提高接口代码和测试消息脚本的编写效率,以及保证接口代码和测试消息脚本的质量。
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种确定接口代码和测试脚本参数值的方法,其特征在于,包括以下步骤:
当设备接口变更升级后,基于特别约定的结构表示、相应的组成元素表示及参数索引表示,为升级版接口消息建立相应的接口消息的内部表示;
采用比较算法,对比升级前和升级后的接口消息的内部表示,确定接口消息实体定义集内的元素参数值;
基于所述内部表示和元素参数值,构造升级版接口消息的相应代码测试脚本,其中:元素参数值包括:历史参数值;
其中,特别约定的结构表示包括以下一种或多种方式:
将接口消息映射成复合消息元素,且复合消息元素对应数据结构体;
结构体的成员为基本数据类型或子复合类型;
使用数字符号0,1,2,3,....代替基本数据类型,成对括号<>代表复合类型;
使用符号&代表引用类型,表示对基本数据类型或复合类型的引用。
2.如权利要求1所述的确定接口代码和测试脚本参数值的方法,其特征在于,确定接口消息实体定义集内的元素参数值,包括以下步骤:
通过二维结构定义定位结构元素;
通过e[i,j]表示结构体i的基本元素j;
通过Va(e[i,j])表示结构体i的基本元素j的参数值。
3.一种确定接口代码和测试脚本参数值的装置,其特征在于,包括内部表示派生模块,参数值确定模块以及接口代码和测试脚本构造模块,
所述内部表示派生模块,用于当设备接口变更升级后,基于特别约定的结构表示、相应的组成元素表示及参数索引表示,为升级版接口消息建立相应的接口消息的内部表示;
所述参数确定模块,用于通过比较算法,对比升级前和升级后的接口消息的内部表示,确定接口消息实体定义集内的元素参数值;
所述构造模块,用于基于所述内部表示和元素参数值,构造升级版接口消息的相应代码测试脚本,其中:元素参数值包括:历史参数值;
其中,其特征在于,所述内部表示派生模块的特别约定的结构表示包括以下一种或多种方式:
将接口消息映射成复合消息元素,且复合消息元素对应数据结构体;
结构体的成员为基本数据类型或子复合类型;
使用数字符号0,1,2,3,....代替基本数据类型,成对括号<>代表复合类型;
使用符号&代表引用类型,为对基本数据类型或复合类型的引用。
4.如权利要求3所述的确定接口代码和测试脚本参数值的装置,其特征在于,所述参数确定模块确定接口消息实体定义集内的元素参数值包括以下步骤:
通过二维结构定义定位结构元素;
通过e[i,j]表示结构体i的基本元素j;
通过Va(e[i,j])表示结构体i的基本元素j的参数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101993935A CN102270126B (zh) | 2010-06-07 | 2010-06-07 | 一种快速确定接口代码和测试脚本参数值的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101993935A CN102270126B (zh) | 2010-06-07 | 2010-06-07 | 一种快速确定接口代码和测试脚本参数值的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102270126A CN102270126A (zh) | 2011-12-07 |
CN102270126B true CN102270126B (zh) | 2013-12-11 |
Family
ID=45052437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101993935A Active CN102270126B (zh) | 2010-06-07 | 2010-06-07 | 一种快速确定接口代码和测试脚本参数值的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102270126B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902456B (zh) * | 2014-04-09 | 2017-03-15 | 中国工商银行股份有限公司 | 测试脚本处理装置、系统及方法 |
CN111240967B (zh) * | 2020-01-03 | 2023-09-15 | 北京字节跳动网络技术有限公司 | 一种代码生成方法及装置 |
CN113992549B (zh) * | 2020-07-08 | 2023-06-13 | 大唐移动通信设备有限公司 | 一种测试方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755642A (zh) * | 2004-09-30 | 2006-04-05 | 中兴通讯股份有限公司 | 一种具有测试柔性的集成软件测试方法 |
US7493597B2 (en) * | 2005-02-23 | 2009-02-17 | Microsoft Corporation | System and method for model based generation of application programming interface test code |
CN101370003A (zh) * | 2007-08-14 | 2009-02-18 | 大唐移动通信设备有限公司 | 用于定制通讯协议的方法和装置、转换通讯协议描述的方法和装置 |
-
2010
- 2010-06-07 CN CN2010101993935A patent/CN102270126B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755642A (zh) * | 2004-09-30 | 2006-04-05 | 中兴通讯股份有限公司 | 一种具有测试柔性的集成软件测试方法 |
US7493597B2 (en) * | 2005-02-23 | 2009-02-17 | Microsoft Corporation | System and method for model based generation of application programming interface test code |
CN101370003A (zh) * | 2007-08-14 | 2009-02-18 | 大唐移动通信设备有限公司 | 用于定制通讯协议的方法和装置、转换通讯协议描述的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102270126A (zh) | 2011-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105224708B (zh) | 集成电路中网路的确定方法和装置 | |
CN109934227A (zh) | 图像文字识别系统和方法 | |
CN110442371A (zh) | 一种发布代码的方法、装置、介质及计算机设备 | |
CN105335133A (zh) | 用于生成业务规则模型的方法和装置 | |
KR20220011134A (ko) | 가시화 방법 및 관련 기기 | |
CN110866029B (zh) | sql语句构建方法、装置、服务器及可读存储介质 | |
CN111080304A (zh) | 一种可信关系识别方法、装置及设备 | |
CN102270126B (zh) | 一种快速确定接口代码和测试脚本参数值的方法及设备 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN104748757A (zh) | 一种导航电子地图数据更新方法及装置 | |
CN107807956A (zh) | 电子装置、数据处理方法及计算机可读存储介质 | |
CN113032257B (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
CN110633318A (zh) | 一种数据提取的处理方法、装置、设备和存储介质 | |
CN110716767A (zh) | 模型组件调用、生成方法、装置和存储介质 | |
CN115345600B (zh) | 一种rpa流程的生成方法和装置 | |
CN107256167A (zh) | 应用于应用系统迁移的升级控制方法及升级控制设备 | |
CN112529027A (zh) | 数据处理方法、客户端、装置及计算机可读存储介质 | |
CN109885396A (zh) | 一种游戏应用中的字符串构建方法和装置 | |
CN112307589B (zh) | 单位工况创建方法、装置、电子设备及存储介质 | |
CN113902531A (zh) | 投标文件自动生成系统、方法、电子设备和存储介质 | |
CN112307371A (zh) | 小程序子服务识别方法、装置、设备及存储介质 | |
CN104780148A (zh) | 服务器、终端、文档在线操作的系统和方法 | |
CN105700899A (zh) | 一种人机命令脚本更新方法及装置 | |
CN114710395B (zh) | 基于数字孪生技术的网络业务的实施实例的构建方法 | |
CN114237915B (zh) | 分布式环境下基于机器学习的数据修复方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |