CN106095692B - 嵌入式软件的单参数事件序列测试数据生成方法 - Google Patents

嵌入式软件的单参数事件序列测试数据生成方法 Download PDF

Info

Publication number
CN106095692B
CN106095692B CN201610663751.0A CN201610663751A CN106095692B CN 106095692 B CN106095692 B CN 106095692B CN 201610663751 A CN201610663751 A CN 201610663751A CN 106095692 B CN106095692 B CN 106095692B
Authority
CN
China
Prior art keywords
event
test data
parameter
dimension
vector
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
Application number
CN201610663751.0A
Other languages
English (en)
Other versions
CN106095692A (zh
Inventor
魏长安
孙超
盛云龙
姜守达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201610663751.0A priority Critical patent/CN106095692B/zh
Publication of CN106095692A publication Critical patent/CN106095692A/zh
Application granted granted Critical
Publication of CN106095692B publication Critical patent/CN106095692B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Abstract

嵌入式软件的单参数事件序列测试数据生成方法,涉及一种嵌入式软件的测试数据生成方法。本发明为了解决现有的嵌入式软件测试系统测试数据的生成方法没有考虑数据的时序问题和测试数据非常庞大问题。本发明首先生成初始的包含所有的t维事件交互集合Q,初始化测试数据覆盖向量V为空;在Q中随机挑选1条候选t维事件交互,加入测试数据覆盖向量V中,同时在Q中删除该t维事件交互;然后在Q中取一条适应值最大的t维事件交互追加到向量V的尾部,并在Q中删除所有被向量U覆盖的t维事件交互;直至Q为空,输出测试数据覆盖向量V,测试数据覆盖向量V中的数据及顺序就是生成的单参数事件序列测试数据。本发明适用于嵌入式软件的测试数据生成。

Description

嵌入式软件的单参数事件序列测试数据生成方法
技术领域
本发明涉及一种嵌入式软件的测试数据生成方法。
背景技术
随着计算机软硬件技术的不断发展,嵌入式软件也获得了越来越广泛的应用。作为一种特殊的软件形式,嵌入式软件广泛应用于军用武器系统和航空航天装备中,其可信性、可靠性和安全性对武器装备的影响至关重要。近年来在试验和训练中频繁发生由于软件缺陷导致的事故,甚至是重大事故。由此可见,提高嵌入式软件的质量对军工武器产品等有着重大意义。
对嵌入式软件进行测试是检测产品故障、提高产品质量的重要手段。软件的测试过程一般分为事件序列测试集生成、事件序列测试集执行和测试结果分析三个阶段,其中测试结果分析包括结果比对以及故障定位。在软件测试过程中,如何快速有效的设计一个能够检测更多错误类型和错误数量的事件序列测试集,是软件在测试过程中的重点所在,它决定了整个软件测试过程的有效性。
相比于传统的软件产品,嵌入式软件产品存在以下一些特点:
(1)实时性,即嵌入式软件的处理速度一般较快,能够对当前的输入数据进行快速响应;
(2)嵌入性,嵌入式软件往往是嵌入到固定的硬件系统中,其软件性能与硬件系统的关联极其紧密;
(3)系统专用性强。嵌入式软件均以应用为中心,其功能较为单一,一般不会同时载入执行多个不同的程序,某单一被测设备仅完成独立功能。
(4)可靠性要求高。与一般软件相比,嵌入式软件更多应用于某些关键领域,如航空航天或国防武器装备等等,因此对软件质量要求较高。
(5)动态参数种类多,变化范围大。嵌入式软件所涉及的参数类型多种多样,如:震动,温度,电压等物理信号,又包含了数字,模拟等多种不同类型的数据形式。同时,输入输出均为硬件接口实现,并且接口类型多样。
正是嵌入式软件产品固有的这些特点,在很大程度上增加了测试嵌入式软件的复杂性和困难程度。
在嵌入式软件的测试过程中,除了参数间取值会对软件造成影响外,被测软件参数的输入顺序同样会对嵌入式软件造成影响。因此,对嵌入式软件还需要增加时序的测试,现有的软件测试过程并没有对测试数据进行考虑,而且针对现有的软件进行测试时的测试数据非常庞大,增加了软件测试的难度、测试的时间以及增大了系统的测试的负担。
发明内容
本发明为了解决现有的嵌入式软件测试系统测试数据的生成方法没有考虑数据的时序问题和测试数据非常庞大问题。
嵌入式软件的单参数事件序列测试数据生成方法,包括以下步骤:
步骤1:在单参数事件序列中,针对任意t个事件,设事件序号分别为1,2,……,t;则由t个事件组成的任意一个有序序列s1→s2→...→st,叫做一个t维事件交互,记作(s1,s2,...st);
生成初始的t维事件交互集合Q,此时令Q中包含所有的t维事件交互,有Q=Ht,Ht为全部t维事件交互集;初始化测试数据覆盖向量V为空,测试数据覆盖向量V的长度m=0;
步骤2:在t维事件交互集合Q中随机挑选1条候选t维事件交互,加入测试数据覆盖向量V中,同时在t维事件交互集合Q中删除该t维事件交互;
步骤3:计算t维事件交互集合Q中每个t维事件交互的适应值,取一条适应值最大的t维事件交互,将适应值最大的t维事件交互追加到向量V的尾部,向量V长度增加t维;
适应值计算方法为:
设当前已有的测试数据覆盖向量为V,未被测试数据覆盖向量V覆盖的全部t维事件交互所组成的集合对应为当前的t维事件交互集合Q;对Q中某一t维事件交互x,取测试数据覆盖向量V中最后t-1个事件与x组成一个向量U;令向量U中包含的所有t维事件交互组成的集合为HU,t,则适应值计算函数定义为:
f(x)=|{HU,t∩Q}| (1)
适应值为HU,t和向量Q中交集t维事件交互的个数;
步骤4:在t维事件交互集合Q中删除所有被向量U覆盖的t维事件交互;
步骤5:若t维事件交互集合Q不为空,则执行步骤3,否则执行步骤6;
步骤6:输出测试数据覆盖向量V,测试数据覆盖向量V中的数据及顺序就是生成的单参数事件序列测试数据。
优选地,所述方法还包括:
针对有多个参数的待测嵌入式软件系统,在测试事件序列生成和执行时,将软件的多参数事件的一组参数作为一个单参数事件,从而将多参数事件变成单参数事件;然后按照单参数事件序列测试数据生成方法生成测试数据。
优选地,所述将多参数事件变成单参数事件的过程包括以下步骤:
对于含有k个参数的嵌入式软件系统,每个参数取值分别对应v1,v2,…,vk个取值,针对k个参数中的某个参数i,1≤i≤k,有vi个可能取值,用0,1,…,vi-1来表示,用记号[0,vi-1]表示集合{0,1,…,vi-1};
针对有k个参数的嵌入式软件系统,将k个参数中的每个参数的一次取值作为一个事件,则所述的嵌入式软件系统一共有v1+v2+…+vk个事件,相当于单参数事件有v1+v2+…+vk个取值所对应的事件个数,就能够将多参数事件转换为单参数事件进行处理。
本发明在考量了测软件参数输入顺序的的基础上能够生成嵌入式软件的测试数据。并且生成的测试数据完全能够代表穷举事件序列测试集,而且冗余度几乎为0;所以利用本发明生成的测试数据不但能够实现嵌入式软件全方面的测试,同时能够节省大量的测试时间和测试资源。
附图说明
图1为本发明的流程图。
具体实施方式
具体实施方式一:结合图1说明本实施方式,
嵌入式软件的单参数事件序列测试数据生成方法,包括以下步骤:
步骤1:在单参数事件序列中,针对任意t个事件,设事件序号分别为1,2,……,t;则由t个事件组成的任意一个有序序列s1→s2→...→st,叫做一个t维事件交互,记作(s1,s2,...st);
生成初始的t维事件交互集合Q,此时令Q中包含所有的t维事件交互,有Q=Ht,Ht为全部t维事件交互集;初始化测试数据覆盖向量V为空,测试数据覆盖向量V的长度m=0;
步骤2:在t维事件交互集合Q中随机挑选1条候选t维事件交互,加入测试数据覆盖向量V中,同时在t维事件交互集合Q中删除该t维事件交互;
步骤3:计算t维事件交互集合Q中每个t维事件交互的适应值,取一条适应值最大的t维事件交互,将适应值最大的t维事件交互追加到向量V的尾部,向量V长度增加t维;
适应值计算方法为:
设当前已有的测试数据覆盖向量为V,未被测试数据覆盖向量V覆盖的全部t维事件交互所组成的集合对应为当前的t维事件交互集合Q;对Q中某一t维事件交互x,取测试数据覆盖向量V中最后t-1个事件与x组成一个向量U;令向量U中包含的所有t维事件交互组成的集合为HU,t,则适应值计算函数定义为:
f(x)=|{HU,t∩Q}| (1)
适应值为HU,t和向量Q中交集t维事件交互的个数;
步骤4:在t维事件交互集合Q中删除所有被向量U覆盖的t维事件交互;
步骤5:若t维事件交互集合Q不为空,则执行步骤3,否则执行步骤6;
步骤6:输出测试数据覆盖向量V,测试数据覆盖向量V中的数据及顺序就是生成的单参数事件序列测试数据。
具体实施方式二:
本实施方式所述的嵌入式软件的单参数事件序列测试数据生成方法,包括以下步骤:
针对有多个参数的待测嵌入式软件系统,在测试事件序列生成和执行时,将软件的多参数事件的一组参数作为一个单参数事件,从而将多参数事件变成单参数事件;然后按照单参数事件序列测试数据生成方法生成测试数据,即按照以下步骤生成测试数据;
步骤1:在单参数事件序列中,针对任意t个事件,设事件序号分别为1,2,……,t;则由t个事件组成的任意一个有序序列s1→s2→...→st,叫做一个t维事件交互,记作(s1,s2,...st);
生成初始的t维事件交互集合Q,此时令Q中包含所有的t维事件交互,有Q=Ht,Ht为全部t维事件交互集;初始化测试数据覆盖向量V为空,测试数据覆盖向量V的长度m=0;
步骤2:在t维事件交互集合Q中随机挑选1条候选t维事件交互,加入测试数据覆盖向量V中,同时在t维事件交互集合Q中删除该t维事件交互;
步骤3:计算t维事件交互集合Q中每个t维事件交互的适应值,取一条适应值最大的t维事件交互,将适应值最大的t维事件交互追加到向量V的尾部,向量V长度增加t维;
适应值计算方法为:
设当前已有的测试数据覆盖向量为V,未被测试数据覆盖向量V覆盖的全部t维事件交互所组成的集合对应为当前的t维事件交互集合Q;对Q中某一t维事件交互x,取测试数据覆盖向量V中最后t-1个事件与x组成一个向量U;令向量U中包含的所有t维事件交互组成的集合为HU,t,则适应值计算函数定义为:
f(x)=|{HU,t∩Q}| (1)
适应值为HU,t和向量Q中交集t维事件交互的个数;
步骤4:在t维事件交互集合Q中删除所有被向量U覆盖的t维事件交互;
步骤5:若t维事件交互集合Q不为空,则执行步骤3,否则执行步骤6;
步骤6:输出测试数据覆盖向量V,测试数据覆盖向量V中的数据及顺序就是生成的单参数事件序列测试数据。
具体实施方式三:
本实施方式所述将多参数事件变成单参数事件的过程包括以下步骤:
对于含有k个参数的嵌入式软件系统,每个参数取值分别对应v1,v2,…,vk个取值,针对k个参数中的某个参数i,1≤i≤k,有vi个可能取值,用0,1,…,vi-1来表示,用记号[0,vi-1]表示集合{0,1,…,vi-1};
针对有k个参数的嵌入式软件系统,如果不考虑各参数之间的影响,则可以将k个参数中的每个参数的一次取值作为一个事件,则所述的嵌入式软件系统一共有v1+v2+…+vk个事件,相当于单参数事件有v1+v2+…+vk个取值所对应的事件个数,就能够将多参数事件转换为单参数事件进行处理。
其他步骤和参数与具体实施方式二相同。
实施例
针对有多个参数的待测嵌入式软件系统,被测软件的参数特征数据的每一个特征数据都可以看作是一个事件,如果每次测试都需要按一定次序依次输入全部事件,那么利用全因子方法生成其全部的事件序列难以实现,例如一个具有10个事件的待测系统,其穷举事件序列测试集规模有10!=3628800个,这是个非常庞大的数据,很难实现全部测试。因此,可以考虑测试其中若干个事件的排序,组合测试技术提供了类似的强度为t的事件序列测试生成方法,即t维事件交互的单参数事件序列测试数据生成方法。
针对有多个参数的待测嵌入式软件系统,在测试事件序列生成和执行时,将软件的多参数事件的一组参数作为一个单参数事件,从而将多参数事件变成单参数事件;然后按照单参数事件序列测试数据生成方法生成测试数据。
在单参数事件序列中,针对任意t个事件,设事件序号分别为1,2,……,t;则由t个事件组成的任意一个有序序列,如s1→s2→...→st,叫做一个t维事件交互,记作(s1,s2,...st);
设A是一个矩阵,矩阵的每一行对应一条事件序列测试数据,且满足:每个可能的t维事件交互都被矩阵中的某一行所对应的测试数据所覆盖,即对于任意的t维事件交互(s1,s2,...st),则称A是一个t维事件序列覆盖矩阵,记为SCA(N;k,t);其中,k为事件个数;t为事件序列覆盖强度,即t维事件交互;N为使得SCA(N;k,t)存在的最小整数,N称为覆盖数。
假设被测软件的单参数事件具有四个特征取值,A、B、C、D可看作是四个事件,如果每次测试都将四个事件的序列作为测试数据,那么全因子组合会有4!=24条测试数据,如果在不考虑事件相邻的情况下,生成强度为t=2的事件序列测试集,测试数据的覆盖目标是:对任意的两个事件,这两个事件的任意组合次序至少被测试数据的一行所包含,因此只用5条测试序列即可。如表1所示。
表1事件序列测试集:SCA(N;4,2)
SCA(N;4,2)其实就是将A,B,C,D四个事件中2维事件交互都涵盖的矩阵,即涵盖A→B、A→C、A→D、B→C、B→D、C→D、D→C、D→B、D→A、C→B、C→A、B→A的矩阵;
进一步,如果考虑测试是连续进行的,即任意连续两条测试数据是连续注入的,则表1中第二条测试数据可不必再注入事件D,因此,可更改为表2:
表2进一步优化后事件序列测试集:SCA(N;4,2)
当测试是连续进行的,对表2所示测试覆盖矩阵,可利用一向量表示,为:(A,B,C,D,C,B,…,B,A,D,C)。虽然利用向量表示后,可通过减少部分事件而降低测试数据的规模,但向量内部仍含有大量冗余事件交互,如本例中2维事件交互A→B和B→A都出现两次,通过删除冗余t维事件交互,可进一步缩减事件序列的规模。
因此,在实际应用中,可不再利用事件序列覆盖矩阵来表示测试数据,实际可使用事件序列覆盖向量来表示,即用本发明所述的数据覆盖向量V表示,具体过程如下:
步骤1:生成初始的2维事件交互集合Q,此时令Q={A→B,A→C,A→D,B→C,B→D,C→D,D→C,D→B,D→A,C→B,C→A,B→A};初始化测试数据覆盖向量V为空,测试数据覆盖向量V的长度m=0;
步骤2:在2维事件交互集合Q中随机挑选1条候选2维事件交互,加入测试数据覆盖向量V中,如挑选A→B加入测试数据覆盖向量V中,测试数据覆盖向量V=(A,B)
同时在t维事件交互集合Q中删除A→B;
步骤3:计算2维事件交互集合Q中每个2维事件交互的适应值,取一条适应值最大的C→D追加到向量V的尾部,测试数据覆盖向量V=(A,B,C,D)
适应值计算方法为:
设当前已有的测试数据覆盖向量为V=(A,B),未被测试数据覆盖向量V覆盖的全部2维事件交互所组成的集合对应为当前的2维事件交互集合Q={A→C,A→D,B→C,B→D,C→D,D→C,D→B,D→A,C→B,C→A,B→A};
如果选取的x是C→D,那么向量U=(B,C,D),向量U中包含的所有t维事件交互组成的集合为HU,t={B→C,C→D},其对应的f(x)为2。
按照此方式依次判断选取的x所对应的f(x);
假设选取的适应值最大的C→D追加到向量V的尾部,则测试数据覆盖向量V=(A,B,C,D);
步骤4:则在Q={A→C,A→D,B→C,B→D,C→D,D→C,D→B,D→A,C→B,C→A,B→A}删除B→C和C→D,此时Q={A→C,A→D,B→D,D→C,D→B,D→A,C→B,C→A,B→A};
步骤5:若此时2维事件交互集合Q不为空,则执行步骤3,否则执行步骤6;
步骤6:输出测试数据覆盖向量V={A,B,C,D,C,B,A,C,A,D,B,D,A}(这仅是生成的一种结果,还有其他的可能生成的结果),测试数据覆盖向量V中的数据及顺序就是生成的单参数事件序列测试数据。

Claims (3)

1.嵌入式软件的单参数事件序列测试数据生成方法,其特征在于,包括以下步骤:
步骤1:在单参数事件序列中,针对任意t个事件,设事件序号分别为1,2,……,t;则由t个事件组成的任意一个有序序列s1→s2→...→st,叫做一个t维事件交互;
生成初始的t维事件交互集合Q,此时令Q中包含所有的t维事件交互,有Q=Ht,Ht为全部t维事件交互集;初始化测试数据覆盖向量V为空,测试数据覆盖向量V的长度m=0;
步骤2:在t维事件交互集合Q中随机挑选1条候选t维事件交互,加入测试数据覆盖向量V中,同时在t维事件交互集合Q中删除该t维事件交互;
步骤3:计算t维事件交互集合Q中每个t维事件交互的适应值,取一条适应值最大的t维事件交互,将适应值最大的t维事件交互追加到向量V的尾部,向量V长度增加t维;
适应值计算方法为:
设当前已有的测试数据覆盖向量为V,未被测试数据覆盖向量V覆盖的全部t维事件交互所组成的集合对应为当前的t维事件交互集合Q;对Q中某一t维事件交互x,取测试数据覆盖向量V中最后t-1个事件与x组成一个向量U;令向量U中包含的所有t维事件交互组成的集合为HU,t,则适应值计算函数定义为:
f(x)=|{HU,t∩Q}| (1)
适应值为HU,t和向量Q中交集t维事件交互的个数;
步骤4:在t维事件交互集合Q中删除所有被向量U覆盖的t维事件交互;
步骤5:若t维事件交互集合Q不为空,则执行步骤3,否则执行步骤6;
步骤6:输出测试数据覆盖向量V,测试数据覆盖向量V中的数据及顺序就是生成的单参数事件序列测试数据。
2.根据权利要求1所述的嵌入式软件的单参数事件序列测试数据生成方法,其特征在于,所述方法还包括:
针对有多个参数的待测嵌入式软件系统,在测试事件序列生成和执行时,将软件的多参数事件的一组参数作为一个单参数事件,从而将多参数事件变成单参数事件;然后按照单参数事件序列测试数据生成方法生成测试数据。
3.根据权利要求2所述的嵌入式软件的单参数事件序列测试数据生成方法,其特征在于,所述将多参数事件变成单参数事件的过程包括以下步骤:
对于含有k个参数的嵌入式软件系统,每个参数取值分别对应v1,v2,…,vk个取值,将k个参数中的每个参数的一次取值作为一个事件,则所述的嵌入式软件系统一共有v1+v2+…+vk个事件,相当于单参数事件有v1+v2+…+vk个取值所对应的事件个数,就能够将多参数事件转换为单参数事件进行处理。
CN201610663751.0A 2016-08-12 2016-08-12 嵌入式软件的单参数事件序列测试数据生成方法 Active CN106095692B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610663751.0A CN106095692B (zh) 2016-08-12 2016-08-12 嵌入式软件的单参数事件序列测试数据生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610663751.0A CN106095692B (zh) 2016-08-12 2016-08-12 嵌入式软件的单参数事件序列测试数据生成方法

Publications (2)

Publication Number Publication Date
CN106095692A CN106095692A (zh) 2016-11-09
CN106095692B true CN106095692B (zh) 2018-07-03

Family

ID=57456636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610663751.0A Active CN106095692B (zh) 2016-08-12 2016-08-12 嵌入式软件的单参数事件序列测试数据生成方法

Country Status (1)

Country Link
CN (1) CN106095692B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400176B (zh) * 2020-03-10 2023-12-08 中国船舶工业综合技术经济研究院 高可信软件的测试序列生成方法及系统、测试方法及系统
CN112363045A (zh) * 2020-10-30 2021-02-12 海光信息技术股份有限公司 芯片扫描测试方法、装置、处理器芯片及服务器
CN112699039B (zh) * 2020-12-31 2024-04-16 哈尔滨工业大学 一种基于分类树的测试数据自动生成方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423962B2 (en) * 2009-10-08 2013-04-16 International Business Machines Corporation Automated test execution plan generation
CN103577325B (zh) * 2013-10-31 2016-01-06 南京大学 测试用例集执行顺序确定的方法及系统

Also Published As

Publication number Publication date
CN106095692A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
Kuhn Fault classes and error detection capability of specification-based testing
CN106095692B (zh) 嵌入式软件的单参数事件序列测试数据生成方法
US9891281B1 (en) Method and system for automatically identifying test runs contributing to coverage events of interest in verification test data
CN106489068B (zh) 测量值分析装置以及测量值分析方法
CN107766235B (zh) 一种基于随机分流的a/b测试方法
Rhoades et al. Highlights from the first ten years of the New Zealand earthquake forecast testing center
Morales et al. Improving nuclear mass predictions through the Garvey-Kelson relations
CN111475402A (zh) 程序功能的测试方法及相关装置
Huang et al. Adaptive random prioritization for interaction test suites
Dent et al. A new perspective on the relation between dark energy perturbations and the late-time ISW effect
Fillon et al. Extreme values theory applied to sloshing pressure peaks
CN109144806B (zh) 一种寄存器传输级电路的功能验证方法及装置
Al-Assad et al. Simulation-based approximate global fault collapsing
CN114324712A (zh) 变压器油色谱故障判断方法、装置、终端及存储介质
CN105069288B (zh) 一种探测器结构高过载加严试验设计与评估方法
Yablon Predicting the Neutron and Proton Masses Based on Baryons which Are Yang-Mills Magnetic Monopoles and Koide Mass Triplets
CN104142885A (zh) 一种用于对被测程序进行异常测试的方法和装置
CN108960952A (zh) 一种违禁信息的检测方法及装置
CN107290603B (zh) 一种产品可靠性评价方法及装置
CN108009082B (zh) 一种基于飞行管理的组合测试用例生成方法
Xu et al. A quasi-best random testing
JP6680540B2 (ja) 工程評価方法と装置
Guo et al. Research on Key Data Structure Localization Technology of Buffer Overflow Vulnerability
Zhang et al. A Hybrid Fault Tolerant Approach for AES.
CN112649723B (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
GR01 Patent grant
GR01 Patent grant