CN102831058A - 一种测试方法和装置 - Google Patents
一种测试方法和装置 Download PDFInfo
- Publication number
- CN102831058A CN102831058A CN201210295730XA CN201210295730A CN102831058A CN 102831058 A CN102831058 A CN 102831058A CN 201210295730X A CN201210295730X A CN 201210295730XA CN 201210295730 A CN201210295730 A CN 201210295730A CN 102831058 A CN102831058 A CN 102831058A
- Authority
- CN
- China
- Prior art keywords
- testing procedure
- carried out
- testing
- performance element
- execution sequence
- 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
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种测试方法和装置,包括:以脚本中的测试步骤作为测试的基本单元,可以通过确定待执行的测试步骤以及确定待执行的测试步骤的执行顺序,实现有针对性的测试,在调试或验证某个测试步骤时,无需运行脚本中编写的该测试步骤之前的所有测试步骤,有效提高测试效率,缩短测试周期。尤其是在需要反复调试或验证某个测试步骤时,可以显著提高测试效率,缩短测试周期。且在需要改变脚本中测试步骤的执行顺序时,也无需对脚本进行修改,减少测试工作量,进一步提高测试效率,缩短测试周期。同时通过最小执行单元和映射表可以实现对被测设备多个功能的自动叠加测试,无需手工编写大量功能交互测试脚本。
Description
技术领域
本发明涉及通信领域,尤其涉及一种测试方法和装置。
背景技术
在测试领域中,为了方便测试管理,通常是采用功能划分的方法对被测设备进行测试,即利用测试点对划分出的功能进行验证,在首次验证后一般会把可自动化测试点写成自动化测试脚本,该测试脚本包括不同的测试步骤,测试脚本按编写好的测试步骤顺序运行,无法做到有针对性的测试。为了调试或验证某个测试步骤,需要运行该测试步骤前面的一系列测试步骤,且调试或验证某个测试步骤往往需要反复多次进行,由此导致测试效率较低。而如果需要改变测试步骤运行过程,则需要修改测试脚本,导致测试工作量较大,拉长测试周期。
且在现有的测试方案中,在脚本执行失败原因的定位上一般需要人工筛查测试步骤,定位找出导致脚本执行失败的测试步骤,无法快速的排除干扰因素,失败原因定位效率无法得到提高。
另外,在现有的测试方案中,由于每个脚本均是针对一个功能的,因此,即使修改测试脚本,也无法实现多个功能的叠加测试,即无法在一次测试过程中,实现对多个功能组合的测试。
发明内容
本发明实施例提供一种测试方法和装置,用于提高测试效率,减少测试工作量,缩短测试周期。
一种测试方法,所述方法包括:
确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,所述测试步骤是对以功能为单位开发的脚本按照功能逻辑进行划分得到的;
根据所述执行顺序,执行每个所述待执行的测试步骤。
一种测试装置,所述装置包括:
确定模块,用于确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,所述测试步骤是对以功能为单位开发的脚本按照功能逻辑进行划分得到的;
测试模块,用于根据所述执行顺序,执行每个所述待执行的测试步骤。
根据本发明实施例提供的方案,可以以脚本中的测试步骤作为测试的基本单元,根据确定出的待执行的测试步骤的执行顺序,执行每个待执行的测试步骤。从而相对于现有技术以脚本为测试的基本单元,脚本中编写好的测试步骤只能顺序执行,可以通过确定待执行的测试步骤以及确定待执行的测试步骤的执行顺序,实现有针对性的测试,在调试或验证某个测试步骤时,无需运行脚本中编写的该测试步骤之前的所有测试步骤,有效提高测试效率,缩短测试周期。尤其是在需要反复调试或验证某个测试步骤时,可以显著提高测试效率,缩短测试周期。且在需要改变脚本中测试步骤的执行顺序时,也无需对脚本进行修改,减少测试工作量,进一步提高测试效率,缩短测试周期。
附图说明
图1为本发明实施例一提供的测试方法的步骤流程图;
图2为本发明实施例二提供的测试方法的步骤流程图;
图3为本发明实施例三提供的测试方法的步骤流程图;
图4为本发明实施例三提供的执行顺序的示意图;
图5为本发明实施例四提供的测试装置的结构示意图。
具体实施方式
针对现有技术以脚本为测试的基本单元,导致测试效率较低,测试周期较长且测试工作量较大的问题,本发明实施例提出,可以以脚本中的测试步骤作为测试的基本单元,从而可以实现有针对性的测试,在调试或验证某个测试步骤时,可以减少不必要测试步骤的执行,从而有效提高测试效率。
同时,本发明实施例在一个测试步骤执行失败时,还提供了自动进行失败原因回溯的方法,可以快速获取执行失败的测试步骤的相关测试过程信息,从而相对于现有技术中人工筛查失败原因的方法,可以快速排除干扰因素,提高失败原因的定位效率。
另外,根据本发明实施例提供的方案,由于以测试步骤作为测试的基本单元,还可以通过测试步骤的选择,在一次测试过程中,实现对被测设备多个功能的叠加测试,即在一次测试过程中,实现对多个功能的组合的测试。
下面通过说明书附图和各实施例对本发明方案进行说明。
实施例一、
本发明实施例一提供一种测试方法,该方法的步骤流程可以如图1所示,包括:
步骤101、确定测试步骤以及测试步骤的执行顺序。
在本实施例中,针对每一次测试,可以理解为将测试步骤作为测试的基本单元。因此,在本实施例中,可以针对一次测试,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
所述测试步骤可以理解为,对以功能为单位开发的脚本按照功能逻辑进行划分得到的。
步骤102、根据所述执行顺序,执行测试步骤。
在本步骤中,可以根据确定出的每个待执行的测试步骤的执行顺序,执行每个待执行的测试步骤。
具体的,执行一个所述待执行的测试步骤时,可以查询第一映射关系表,所述第一映射关系表用于保存每个测试步骤与该测试步骤执行之前需要执行的测试步骤之间的映射关系,确定该待执行的测试步骤映射的测试步骤是否已经被执行,若确定该待执行的测试步骤映射的测试步骤已经被执行,则执行该待执行的测试步骤,否则,执行该待执行的测试步骤映射的测试步骤,并在该待执行的测试步骤映射的测试步骤执行完成之后,执行该待执行的测试步骤。
即在本实施例中,可以预先设定测试步骤之间的映射关系,在需要执行一个待执行的测试步骤时,可以根据预先设定的映射关系,确定该待执行的测试步骤执行之前需要执行的测试步骤是否已经被执行,并可以在需要执行的测试步骤被执行后,执行该待执行的测试步骤,避免发生测试步骤无法执行的错误,保证测试步骤的正常执行。
当然,如果确定出的待执行的测试步骤为同一个脚本中的所有测试步骤,且确定出的执行顺序为该脚本中测试步骤的编写顺序,可以理解为针对每个待执行的测试步骤,该待执行的测试步骤执行之前需要执行的测试步骤均已被执行,该待执行的测试步骤可以正常执行,此时无需查询第一映射关系表,可以直接执行待执行的测试步骤。
如果在本步骤中,执行一个待执行的测试步骤失败,则可以通过以下两种方式中的任意一种来进行失败原因的自动定位,从而提高失败原因定位的效率:
方式一、
针对从本次测试的第一个测试步骤到该执行失败的测试步骤,执行以下步骤,直到减少测试步骤后只剩下所述执行失败的测试步骤或该执行失败的测试步骤执行成功,并在减少测试步骤后只剩下所述执行失败的测试步骤时,确定该测试步骤执行失败是由该测试步骤自身导致的,在该执行失败的测试步骤执行成功时,确定该测试步骤执行失败是由本次减少的测试步骤导致的:
根据由先到后的执行顺序,逐一减少测试步骤,并在每次减少测试步骤后,判断减少测试步骤后是否只剩下所述执行失败的测试步骤,若否,依次执行减少测试步骤后的其他测试步骤,并判断该执行失败的测试步骤是否执行成功。
方式二、
针对从本次测试的第一个测试步骤到该执行失败的测试步骤,执行以下步骤,直到增加测试步骤后得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤或增加测试步骤后得到的最后一个测试步骤执行失败,并在增加测试步骤后得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤时,确定该测试步骤执行失败是由该待执行的测试步骤导致的,在增加测试步骤后得到的最后一个测试步骤执行失败时,确定该待执行的测试步骤执行失败是由本次增加的测试步骤导致的:
根据由先到后的执行顺序,逐一增加测试步骤,并在每次增加测试步骤后,判断增加测试步骤后是否得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤,若否,依次执行增加测试步骤后得到的测试步骤,并判断增加测试步骤后得到的最后一个测试步骤是否执行成功。
根据以上两种失败原因的定位方式,可以通过逐一增加测试步骤或逐一减少测试步骤的方式,快速定位失败原因,获得该执行失败的测试步骤的相关测试过程,从而相对于现有技术中人工排查失败原因的方式,显著提高失败原因的定位效率。
需要说明的是,根据本发明实施例提供的方案,在一次测试过程中,不仅可以实现针对被测设备一个功能的测试,还可以实现针对被测设备多个功能的叠加测试。
若实现针对一个功能的测试,则步骤101,可以理解为确定属于同一个脚本的待执行的测试步骤和每个待执行的测试步骤的执行顺序。且可以通过以下方式中的任一种来确定待执行的测试步骤和每个待执行的测试步骤的执行顺序:
方式1、根据随机数算法确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
方式2、根据本次测试之前,各测试步骤执行的结果,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
具体的,可以理解为,根据本次测试之前,各测试步骤执行的成功率和耗费的测试时间的平均值中的至少一个,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。例如,可以将执行的成功率非百分之百的测试步骤确定为待执行的测试步骤;和/或,根据执行每个测试步骤耗费的测试时间的平均值由短到长的排列顺序,确定每个待执行的测试步骤由先到后的执行顺序。
方式3、根据指定的待执行的测试步骤和每个待执行的测试步骤的执行顺序,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。即可以通过测试执行人员指定的方式,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
若实现针对多个功能的叠加测试,则步骤101,可以理解为确定属于至少两个脚本的待执行的测试步骤和每个待执行的测试步骤的执行顺序。且可以通过以下方式中的任一种来确定待执行的测试步骤和每个待执行的测试步骤的执行顺序:
方式(1)、根据随机数算法确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
方式(2)、根据指定的待执行的测试步骤和每个待执行的测试步骤的执行顺序,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
为了更好地实现功能叠加测试的目的,提高功能叠加测试的准确性,可以将测试步骤划分为最小执行单元,所述最小执行单元为测试步骤中能够独立运行的最小单元,并可以将用于对其他功能进行测试的测试步骤加入到测试步骤的最小执行单元之间。
此时,步骤101可以理解为,确定待执行的测试步骤,针对每个待执行的测试步骤的最小执行单元,确定最小执行单元的执行顺序。
步骤102可以理解为,根据所述执行顺序,执行每个所述待执行的测试步骤的最小执行单元。
且在执行一个最小执行单元时,可以查询第二映射关系表,所述第二映射关系表用于保存每个最小执行单元与该最小执行单元执行之前需要执行的最小执行单元之间的映射关系,确定待执行的最小执行单元映射的最小执行单元是否已经被执行,若确定待执行的最小执行单元映射的最小执行单元已经被执行,则执行待执行的最小执行单元,否则,执行待执行的最小执行单元映射的最小执行单元,并在待执行的最小执行单元映射的最小执行单元执行完成之后,执行待执行的最小执行单元。
即在本实施例中,可以预先设定最小执行单元之间的映射关系,在需要执行一个待执行的最小执行单元时,可以根据预先设定的映射关系,确定该待执行的最小执行单元执行之前需要执行的最小执行单元是否已经被执行,并可以在需要执行的最小执行单元被执行后,执行该待执行的最小执行单元,避免发生最小执行单元无法执行的错误,保证最小执行单元的正常执行。
当然,如果一个测试步骤中的所有最小执行单元均需要按照脚本编写的顺序依次执行,可以理解为针对该测试步骤中每个待执行的最小执行单元,该待执行的最小执行单元执行之前需要执行的最小执行单元均已被执行,该待执行的最小执行单元可以正常执行,此时无需查询第二映射关系表,可以直接执行该测试步骤中待执行的最小执行单元。
下面通过两个具体的实例对本发明实施例一的方案进行说明。
实施例二、
本发明实施例二提供一种测试方法,该测试方法可以理解为,用于实现对被测设备一个功能的测试,该方法的步骤流程可以如图2所示,包括:
步骤201、进行初始化。
本实施例中,初始化操作可以理解为包括加载配置文件,连接被测设备(被测试对象,如路由器)、测试仪器(测试仪器可以理解为与被测设备相连接,通过测试步骤的控制,对被测设备进行测试的仪器,例如,可以通过测试步骤控制测试仪器来构造、发送各种网络报文,实现对被测设备的测试)等。
步骤202、确定测试步骤以及测试步骤的执行顺序。
在本实施例中,可以按照实施例一中方式1、方式2或方式3提供的方式,确定用于对需要测试的功能进行测试的脚本中的测试步骤以及测试步骤的执行顺序。
步骤203、根据所述执行顺序,执行测试步骤。
具体的,执行测试步骤可以理解为通过测试步骤控制测试仪器对被测设备进行测试。
如果在步骤202中仅确定出一个待执行的测试步骤,则在本步骤中,可以进行单一步骤运行调试,具体的,可以查询第一映射关系表,确定该待执行的测试步骤映射的测试步骤是否已经被执行,若确定该待执行的测试步骤映射的测试步骤已经被执行,则执行该待执行的测试步骤,否则,执行该待执行的测试步骤映射的测试步骤,并在该待执行的测试步骤映射的测试步骤执行完成之后,执行该待执行的测试步骤。
如果在步骤203中确定出多个待执行的测试步骤,例如,假设确定出的4个待执行的测试步骤为针对某一功能的脚本中的测试步骤1、测试步骤2、测试步骤5和测试步骤N(测试步骤的编号(如,1、2、5和N)可以理解为表示测试步骤在其所在的脚本中的编写顺序编号),且确定出的执行顺序依次为测试步骤2、测试步骤1、测试步骤5和测试步骤N,则在本步骤中,可以按照所述执行顺序,依次执行每个待执行的测试步骤。且针对每个待执行的测试步骤,可以查询第一映射关系表,确定该待执行的测试步骤映射的测试步骤是否已经被执行,若确定该待执行的测试步骤映射的测试步骤已经被执行,则执行该待执行的测试步骤,否则,执行该待执行的测试步骤映射的测试步骤,并在该待执行的测试步骤映射的测试步骤执行完成之后,执行该待执行的测试步骤,例如,假设测试步骤1映射的测试步骤为该脚本中的测试步骤4,则在执行测试步骤1时,需要先执行测试步骤4,并在测试步骤4执行完成后,执行测试步骤1。
而如果测试步骤N执行失败,以通过逐一减少测试步骤的方式,快速定位失败原因为例,可以针对从测试步骤2开始到测试步骤N结束依次排列的4个测试步骤,从测试步骤2开始,每次减少一条测试步骤(即第一次减少测试步骤2,减少测试步骤2后得到测试步骤1、测试步骤5和测试步骤N,第二次继续减少测试步骤1,减少测试步骤1后得到测试步骤5和测试步骤N,第三次继续减少测试步骤5,减少测试步骤5后得到测试步骤N,以此类推),并在每次减少测试步骤后,判断减少测试步骤后是否只剩下测试步骤N,若是,确定测试步骤N执行失败是由测试步骤N自身导致的,若否,依次执行减少测试步骤后的其他测试步骤,并判断测试步骤N是否执行成功,在测试步骤N执行成功时,确定测试步骤N执行失败是由本次减少的测试步骤导致的,在测试步骤N执行失败时,返回执行减少一条测试步骤的操作。
如果测试步骤N执行失败,以通过逐一增加测试步骤的方式,快速定位失败原因为例,可以针对从测试步骤2开始到测试步骤N结束依次排列的4个测试步骤,从测试步骤2开始,每次增加一条测试步骤(即第一次增加测试步骤2,增加测试步骤2后得到测试步骤2,第二次继续增加测试步骤1,增加测试步骤1后得到测试步骤2和测试步骤1,第三次继续增加测试步骤5,增加测试步骤5后得到测试步骤2、测试步骤1和测试步骤5,以此类推),并在每次增加测试步骤后,判断增加测试步骤后是否得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤(即得到测试步骤2、测试步骤1、测试步骤5和测试步骤N),若是,确定测试步骤N执行失败是由测试步骤N导致的,若否,依次执行增加测试步骤后得到的测试步骤,并判断最后一个执行的测试步骤是否执行成功,在最后一个执行的测试步骤执行成功时,确定测试步骤N执行失败是由本次增加的测试步骤导致的,在最后一个执行的测试步骤执行失败时,返回执行增加一条测试步骤的操作。
实施例三、
本发明实施例三提供一种测试方法,该测试方法可以理解为,用于实现对被测设备多个功能的叠加测试,该方法的步骤流程可以如图3所示,包括:
步骤301、确定测试步骤以及测试步骤的执行顺序。
当然,在本步骤之前,可以理解为已经像实施例二中的步骤201那样,执行了初始化操作。
以将测试步骤划分为最小执行单元(如被测设备的一个配置命令)为例,在本步骤中,可以理解为,确定待执行的测试步骤,针对每个待执行的测试步骤的最小执行单元,确定最小执行单元的执行顺序。
假设在本实施例中实现第一功能和第二功能的叠加测试,确定出的待执行的测试步骤为用于对第一功能进行测试的第一脚本中的测试步骤1(可以用功能一测试步骤1表示)和测试步骤2(可以用功能一测试步骤2表示),以及,用于对第二功能进行测试的第二脚本中的测试步骤1(可以用功能二测试步骤1表示)和测试步骤N(可以用功能二测试步骤N表示)。
假设功能一测试步骤1包括最小执行单元1、最小执行单元2和最小执行单元3,可以假设本实施例中确定出的功能二测试步骤1的执行顺序在功能一测试步骤1的最小执行单元1和最小执行单元2之间,功能二测试步骤N的执行顺序在功能一测试步骤1的最小执行单元2和最小执行单元3之间,且假设确定出功能一测试步骤1的执行顺序先于功能一测试步骤2,各待执行的测试步骤中的最小执行单元均为按照其所在脚本中编写的顺序执行。即可以理解为确定出的执行顺序为:功能一测试步骤1的最小执行单元1、功能二测试步骤1(中包括的所有最小执行单元,且各最小执行单元依次执行)、功能一测试步骤1的最小执行单元2、功能二测试步骤N(中包括的所有最小执行单元,且各最小执行单元依次执行)、功能一测试步骤1的最小执行单元3以及功能一测试步骤2(中包括的所有最小执行单元,且各最小执行单元依次执行),执行顺序的示意图可以如图4所示。
步骤302、根据所述执行顺序,执行测试步骤。
在本步骤中,可以根据步骤301中确定出的执行顺序,执行每个待执行的测试步骤的最小执行单元。
当然,与执行测试步骤类似,在执行一个最小执行单元时,可以查询第二映射关系表,所述第二映射关系表用于保存每个最小执行单元与该最小执行单元执行之前需要执行的最小执行单元之间的映射关系,确定待执行的最小执行单元映射的最小执行单元是否已经被执行,若确定待执行的最小执行单元映射的最小执行单元已经被执行,则执行待执行的最小执行单元,否则,执行待执行的最小执行单元映射的最小执行单元,并在待执行的最小执行单元映射的最小执行单元执行完成之后,执行待执行的最小执行单元。
而在本实施例中,由于每个测试步骤(功能一测试步骤1、功能一测试步骤2、功能二测试步骤1和功能二测试步骤N)中的所有最小执行单元均需要按照脚本编写的顺序依次执行,可以理解为针对每个测试步骤中每个待执行的最小执行单元,该待执行的最小执行单元执行之前需要执行的最小执行单元均已被执行,该待执行的最小执行单元可以正常执行,此时无需查询第二映射关系表,可以直接执行每个测试步骤中待执行的最小执行单元。
与本发明实施例一~实施例三基于同一发明构思,提供以下的装置。
实施例四、
本发明实施例四提供一种测试装置,该装置的结构可以如图5所示,包括:
确定模块11用于确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,所述测试步骤是对以功能为单位开发的脚本按照功能逻辑进行划分得到的;测试模块12用于根据所述执行顺序,执行每个所述待执行的测试步骤。
所述测试模块12用于执行一个所述待执行的测试步骤,具体为,查询第一映射关系表,所述第一映射关系表用于保存每个测试步骤与该测试步骤执行之前需要执行的测试步骤之间的映射关系,确定该待执行的测试步骤映射的测试步骤是否已经被执行,若确定该待执行的测试步骤映射的测试步骤已经被执行,则执行该待执行的测试步骤,否则,执行该待执行的测试步骤映射的测试步骤,并在该待执行的测试步骤映射的测试步骤执行完成之后,执行该待执行的测试步骤。
所述确定模块11具体用于在确定属于同一个脚本的待执行的测试步骤和每个待执行的测试步骤的执行顺序时,根据随机数算法确定待执行的测试步骤和每个待执行的测试步骤的执行顺序;或者,根据本次测试之前,各测试步骤执行的结果,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序;或者,根据指定的待执行的测试步骤和每个待执行的测试步骤的执行顺序,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
所述确定模块11用于根据本次测试之前,各测试步骤执行的结果,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体为,根据本次测试之前,各测试步骤执行的成功率和耗费的测试时间的平均值中的至少一个,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
所述确定模块11用于根据本次测试之前,各测试步骤执行的成功率和耗费的测试时间的平均值中的至少一个,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体为,将执行的成功率非百分之百的测试步骤确定为待执行的测试步骤;和/或,根据执行每个测试步骤耗费的测试时间的平均值由短到长的排列顺序,确定每个待执行的测试步骤由先到后的执行顺序。
所述确定模块11具体用于在确定属于至少两个脚本的待执行的测试步骤和每个待执行的测试步骤的执行顺序时,根据随机数算法确定待执行的测试步骤和每个待执行的测试步骤的执行顺序;或者,根据指定的待执行的测试步骤和每个待执行的测试步骤的执行顺序,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
所述确定模块11具体用于在一个测试步骤包括至少一个最小执行单元时,所述最小执行单元为测试步骤中能够独立运行的最小单元,确定待执行的测试步骤,针对每个待执行的测试步骤的最小执行单元,确定最小执行单元的执行顺序;
所述测试模块12用于根据所述执行顺序,执行每个所述待执行的测试步骤的最小执行单元。
所述测试模块12用于执行一个所述待执行的测试步骤,具体为,在执行一个最小执行单元时,查询第二映射关系表,所述第二映射关系表用于保存每个最小执行单元与该最小执行单元执行之前需要执行的最小执行单元之间的映射关系,确定待执行的最小执行单元映射的最小执行单元是否已经被执行,若确定待执行的最小执行单元映射的最小执行单元已经被执行,则执行待执行的最小执行单元,否则,执行待执行的最小执行单元映射的最小执行单元,并在待执行的最小执行单元映射的最小执行单元执行完成之后,执行待执行的最小执行单元。
所述装置还包括回溯模块13:
回溯模块13用于所述测试模块执行一个待执行的测试步骤之后,若执行该待执行的测试步骤失败,则针对从本次测试的第一个测试步骤到该执行失败的测试步骤,执行以下步骤,直到减少测试步骤后只剩下所述执行失败的测试步骤或该执行失败的测试步骤执行成功,并在减少测试步骤后只剩下所述执行失败的测试步骤时,确定该测试步骤执行失败是由该测试步骤自身导致的,在该执行失败的测试步骤执行成功时,确定该测试步骤执行失败是由本次减少的测试步骤导致的:
根据由先到后的执行顺序,逐一减少测试步骤,并在每次减少测试步骤后,判断减少测试步骤后是否只剩下所述执行失败的测试步骤,若否,依次执行减少测试步骤后的其他测试步骤,并判断该执行失败的测试步骤是否执行成功。
所述回溯模块13还可以用于所述测试模块执行一个待执行的测试步骤之后,若执行该待执行的测试步骤失败,则针对从本次测试的第一个测试步骤到该执行失败的测试步骤,执行以下步骤,直到增加测试步骤后得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤或增加测试步骤后得到的最后一个测试步骤执行失败,并在增加测试步骤后得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤时,确定该测试步骤执行失败是由该待执行的测试步骤导致的,在增加测试步骤后得到的最后一个测试步骤执行失败时,确定该待执行的测试步骤执行失败是由本次增加的测试步骤导致的:
根据由先到后的执行顺序,逐一增加测试步骤,并在每次增加测试步骤后,判断增加测试步骤后是否得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤,若否,依次执行增加测试步骤后得到的测试步骤,并判断增加测试步骤后得到的最后一个测试步骤是否执行成功。
根据本发明实施例一~实施例四提供的方案,可以根据不同的需要来筛选和排列用于对功能进行测试的脚本中的测试步骤,并可以实现某一测试步骤的单独调试。同时,可以提高测试执行人员进行失败测试步骤问题定位的效率。另外,可以方便快速地实现不同功能之间的叠加测试,即实现对多个功能进行测试的测试步骤的穿插运行,实现功能的交互性测试,当然,根据本发明实施例提供的方案,也可以实现测试的并行执行,实现被测设备上多个功能的并发测试。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种测试方法,其特征在于,所述方法包括:
确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,所述测试步骤是对以功能为单位开发的脚本按照功能逻辑进行划分得到的;
根据所述执行顺序,执行每个所述待执行的测试步骤。
2.如权利要求1所述的方法,其特征在于,执行一个所述待执行的测试步骤,具体包括:
查询第一映射关系表,所述第一映射关系表用于保存每个测试步骤与该测试步骤执行之前需要执行的测试步骤之间的映射关系,确定该待执行的测试步骤映射的测试步骤是否已经被执行,若确定该待执行的测试步骤映射的测试步骤已经被执行,则执行该待执行的测试步骤,否则,执行该待执行的测试步骤映射的测试步骤,并在该待执行的测试步骤映射的测试步骤执行完成之后,执行该待执行的测试步骤。
3.如权利要求1所述的方法,其特征在于,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体为:确定属于同一个脚本的待执行的测试步骤和每个待执行的测试步骤的执行顺序;
则,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体包括:
根据随机数算法确定待执行的测试步骤和每个待执行的测试步骤的执行顺序;或者,
根据本次测试之前,各测试步骤执行的结果,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序;或者,
根据指定的待执行的测试步骤和每个待执行的测试步骤的执行顺序,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
4.如权利要求3所述的方法,其特征在于,根据本次测试之前,各测试步骤执行的结果,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体包括:
根据本次测试之前,各测试步骤执行的成功率和耗费的测试时间的平均值中的至少一个,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
5.如权利要求4所述的方法,其特征在于,根据本次测试之前,各测试步骤执行的成功率和耗费的测试时间的平均值中的至少一个,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体包括:
将执行的成功率非百分之百的测试步骤确定为待执行的测试步骤;和/或,
根据执行每个测试步骤耗费的测试时间的平均值由短到长的排列顺序,确定每个待执行的测试步骤由先到后的执行顺序。
6.如权利要求1所述的方法,其特征在于,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体为:确定属于至少两个脚本的待执行的测试步骤和每个待执行的测试步骤的执行顺序;
则,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体包括:
根据随机数算法确定待执行的测试步骤和每个待执行的测试步骤的执行顺序;或者,
根据指定的待执行的测试步骤和每个待执行的测试步骤的执行顺序,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
7.如权利要求6所述的方法,其特征在于,一个测试步骤包括至少一个最小执行单元,所述最小执行单元为测试步骤中能够独立运行的最小单元;
确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体包括:
确定待执行的测试步骤,针对每个待执行的测试步骤的最小执行单元,确定最小执行单元的执行顺序;
根据所述执行顺序,执行每个所述待执行的测试步骤,具体包括:
根据所述执行顺序,执行每个所述待执行的测试步骤的最小执行单元。
8.如权利要求7所述的方法,其特征在于,执行一个最小执行单元,具体包括:
查询第二映射关系表,所述第二映射关系表用于保存每个最小执行单元与该最小执行单元执行之前需要执行的最小执行单元之间的映射关系,确定待执行的最小执行单元映射的最小执行单元是否已经被执行,若确定待执行的最小执行单元映射的最小执行单元已经被执行,则执行待执行的最小执行单元,否则,执行待执行的最小执行单元映射的最小执行单元,并在待执行的最小执行单元映射的最小执行单元执行完成之后,执行待执行的最小执行单元。
9.如权利要求1~8任一所述的方法,其特征在于,执行一个待执行的测试步骤之后,所述方法还包括:
若执行该待执行的测试步骤失败,则针对从本次测试的第一个测试步骤到该执行失败的测试步骤,执行以下步骤,直到减少测试步骤后只剩下所述执行失败的测试步骤或该执行失败的测试步骤执行成功,并在减少测试步骤后只剩下所述执行失败的测试步骤时,确定该测试步骤执行失败是由该测试步骤自身导致的,在该执行失败的测试步骤执行成功时,确定该测试步骤执行失败是由本次减少的测试步骤导致的:根据由先到后的执行顺序,逐一减少测试步骤,并在每次减少测试步骤后,判断减少测试步骤后是否只剩下所述执行失败的测试步骤,若否,依次执行减少测试步骤后的其他测试步骤,并判断该执行失败的测试步骤是否执行成功;
或者,
若执行该待执行的测试步骤失败,则针对从本次测试的第一个测试步骤到该执行失败的测试步骤,执行以下步骤,直到增加测试步骤后得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤或增加测试步骤后得到的最后一个测试步骤执行失败,并在增加测试步骤后得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤时,确定该测试步骤执行失败是由该待执行的测试步骤导致的,在增加测试步骤后得到的最后一个测试步骤执行失败时,确定该待执行的测试步骤执行失败是由本次增加的测试步骤导致的:根据由先到后的执行顺序,逐一增加测试步骤,并在每次增加测试步骤后,判断增加测试步骤后是否得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤,若否,依次执行增加测试步骤后得到的测试步骤,并判断增加测试步骤后得到的最后一个测试步骤是否执行成功。
10.一种测试装置,其特征在于,所述装置包括:
确定模块,用于确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,所述测试步骤是对以功能为单位开发的脚本按照功能逻辑进行划分得到的;
测试模块,用于根据所述执行顺序,执行每个所述待执行的测试步骤。
11.如权利要求10所述的装置,其特征在于,所述测试模块,用于执行一个所述待执行的测试步骤,具体为,查询第一映射关系表,所述第一映射关系表用于保存每个测试步骤与该测试步骤执行之前需要执行的测试步骤之间的映射关系,确定该待执行的测试步骤映射的测试步骤是否已经被执行,若确定该待执行的测试步骤映射的测试步骤已经被执行,则执行该待执行的测试步骤,否则,执行该待执行的测试步骤映射的测试步骤,并在该待执行的测试步骤映射的测试步骤执行完成之后,执行该待执行的测试步骤。
12.如权利要求10所述的装置,其特征在于,所述确定模块,具体用于在确定属于同一个脚本的待执行的测试步骤和每个待执行的测试步骤的执行顺序时,根据随机数算法确定待执行的测试步骤和每个待执行的测试步骤的执行顺序;或者,根据本次测试之前,各测试步骤执行的结果,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序;或者,根据指定的待执行的测试步骤和每个待执行的测试步骤的执行顺序,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
13.如权利要求12所述的装置,其特征在于,所述确定模块,用于根据本次测试之前,各测试步骤执行的结果,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体为,根据本次测试之前,各测试步骤执行的成功率和耗费的测试时间的平均值中的至少一个,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
14.如权利要求13所述的装置,其特征在于,所述确定模块,用于根据本次测试之前,各测试步骤执行的成功率和耗费的测试时间的平均值中的至少一个,自适应确定待执行的测试步骤和每个待执行的测试步骤的执行顺序,具体为,将执行的成功率非百分之百的测试步骤确定为待执行的测试步骤;和/或,根据执行每个测试步骤耗费的测试时间的平均值由短到长的排列顺序,确定每个待执行的测试步骤由先到后的执行顺序。
15.如权利要求10所述的装置,其特征在于,所述确定模块,具体用于在确定属于至少两个脚本的待执行的测试步骤和每个待执行的测试步骤的执行顺序时,根据随机数算法确定待执行的测试步骤和每个待执行的测试步骤的执行顺序;或者,根据指定的待执行的测试步骤和每个待执行的测试步骤的执行顺序,确定待执行的测试步骤和每个待执行的测试步骤的执行顺序。
16.如权利要求15所述的装置,其特征在于,所述确定模块,具体用于在一个测试步骤包括至少一个最小执行单元时,所述最小执行单元为测试步骤中能够独立运行的最小单元,确定待执行的测试步骤,针对每个待执行的测试步骤的最小执行单元,确定最小执行单元的执行顺序;
所述测试模块,用于根据所述执行顺序,执行每个所述待执行的测试步骤的最小执行单元。
17.如权利要求16所述的装置,其特征在于,所述测试模块,用于执行一个最小执行单元,具体为,查询第二映射关系表,所述第二映射关系表用于保存每个最小执行单元与该最小执行单元执行之前需要执行的最小执行单元之间的映射关系,确定待执行的最小执行单元映射的最小执行单元是否已经被执行,若确定待执行的最小执行单元映射的最小执行单元已经被执行,则执行待执行的最小执行单元,否则,执行待执行的最小执行单元映射的最小执行单元,并在待执行的最小执行单元映射的最小执行单元执行完成之后,执行待执行的最小执行单元。
18.如权利要求16~17任一所述的装置,其特征在于,所述装置还包括:
回溯模块,用于所述测试模块执行一个待执行的测试步骤之后,若执行该待执行的测试步骤失败,则针对从本次测试的第一个测试步骤到该执行失败的测试步骤,执行以下步骤,直到减少测试步骤后只剩下所述执行失败的测试步骤或该执行失败的测试步骤执行成功,并在减少测试步骤后只剩下所述执行失败的测试步骤时,确定该测试步骤执行失败是由该测试步骤自身导致的,在该执行失败的测试步骤执行成功时,确定该测试步骤执行失败是由本次减少的测试步骤导致的:根据由先到后的执行顺序,逐一减少测试步骤,并在每次减少测试步骤后,判断减少测试步骤后是否只剩下所述执行失败的测试步骤,若否,依次执行减少测试步骤后的其他测试步骤,并判断该执行失败的测试步骤是否执行成功;
或者,用于所述测试模块执行一个待执行的测试步骤之后,若执行该待执行的测试步骤失败,则针对从本次测试的第一个测试步骤到该执行失败的测试步骤,执行以下步骤,直到增加测试步骤后得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤或增加测试步骤后得到的最后一个测试步骤执行失败,并在增加测试步骤后得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤时,确定该测试步骤执行失败是由该待执行的测试步骤导致的,在增加测试步骤后得到的最后一个测试步骤执行失败时,确定该待执行的测试步骤执行失败是由本次增加的测试步骤导致的:根据由先到后的执行顺序,逐一增加测试步骤,并在每次增加测试步骤后,判断增加测试步骤后是否得到从本次测试的第一个测试步骤开始到该执行失败的测试步骤之间的所有测试步骤,若否,依次执行增加测试步骤后得到的测试步骤,并判断增加测试步骤后得到的最后一个测试步骤是否执行成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210295730.XA CN102831058B (zh) | 2012-08-17 | 2012-08-17 | 一种测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210295730.XA CN102831058B (zh) | 2012-08-17 | 2012-08-17 | 一种测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102831058A true CN102831058A (zh) | 2012-12-19 |
CN102831058B CN102831058B (zh) | 2015-03-11 |
Family
ID=47334207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210295730.XA Active CN102831058B (zh) | 2012-08-17 | 2012-08-17 | 一种测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831058B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888254A (zh) * | 2012-12-21 | 2014-06-25 | 阿里巴巴集团控股有限公司 | 一种网络验证信息的方法和装置 |
CN105446876A (zh) * | 2015-11-03 | 2016-03-30 | 北京京东尚科信息技术有限公司 | 一种基于业务维度的自动化测试方法、装置及*** |
CN105868112A (zh) * | 2016-03-29 | 2016-08-17 | 上海斐讯数据通信技术有限公司 | 一种交互式自动化测试方法及*** |
CN108319553A (zh) * | 2018-02-07 | 2018-07-24 | 惠州市德赛西威汽车电子股份有限公司 | 一种可重入函数的测试方法 |
CN108845928A (zh) * | 2018-05-05 | 2018-11-20 | 惠州市德赛西威汽车电子股份有限公司 | 测试单元内可测试函数的划分方法及测试方法 |
CN108932191A (zh) * | 2017-05-23 | 2018-12-04 | 北京嘀嘀无限科技发展有限公司 | 自动化测试方法、***、计算机设备及可读存储介质 |
CN113094265A (zh) * | 2021-04-01 | 2021-07-09 | 山石网科通信技术股份有限公司 | 测试脚本的分析方法及分析装置、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246448A (zh) * | 2008-03-17 | 2008-08-20 | 中兴通讯股份有限公司 | 一种自动化脚本实现方法 |
CN101251825A (zh) * | 2008-04-03 | 2008-08-27 | 北京星网锐捷网络技术有限公司 | 一种生成测试用例的方法和装置 |
CN101377758A (zh) * | 2008-07-14 | 2009-03-04 | 北京星网锐捷网络技术有限公司 | 一种生成测试用例的方法和装置 |
WO2009138495A1 (en) * | 2008-05-15 | 2009-11-19 | Simeon Falk Sheye | Automatic testing of a computer software system |
CN102306122A (zh) * | 2011-09-14 | 2012-01-04 | 北京星网锐捷网络技术有限公司 | 自动化测试方法及设备 |
-
2012
- 2012-08-17 CN CN201210295730.XA patent/CN102831058B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246448A (zh) * | 2008-03-17 | 2008-08-20 | 中兴通讯股份有限公司 | 一种自动化脚本实现方法 |
CN101251825A (zh) * | 2008-04-03 | 2008-08-27 | 北京星网锐捷网络技术有限公司 | 一种生成测试用例的方法和装置 |
WO2009138495A1 (en) * | 2008-05-15 | 2009-11-19 | Simeon Falk Sheye | Automatic testing of a computer software system |
CN101377758A (zh) * | 2008-07-14 | 2009-03-04 | 北京星网锐捷网络技术有限公司 | 一种生成测试用例的方法和装置 |
CN102306122A (zh) * | 2011-09-14 | 2012-01-04 | 北京星网锐捷网络技术有限公司 | 自动化测试方法及设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888254A (zh) * | 2012-12-21 | 2014-06-25 | 阿里巴巴集团控股有限公司 | 一种网络验证信息的方法和装置 |
CN103888254B (zh) * | 2012-12-21 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 一种网络验证信息的方法和装置 |
CN105446876A (zh) * | 2015-11-03 | 2016-03-30 | 北京京东尚科信息技术有限公司 | 一种基于业务维度的自动化测试方法、装置及*** |
CN105446876B (zh) * | 2015-11-03 | 2020-12-22 | 北京京东尚科信息技术有限公司 | 自动化测试方法、装置、***、电子设备及可读存储介质 |
CN105868112A (zh) * | 2016-03-29 | 2016-08-17 | 上海斐讯数据通信技术有限公司 | 一种交互式自动化测试方法及*** |
CN108932191A (zh) * | 2017-05-23 | 2018-12-04 | 北京嘀嘀无限科技发展有限公司 | 自动化测试方法、***、计算机设备及可读存储介质 |
CN108319553A (zh) * | 2018-02-07 | 2018-07-24 | 惠州市德赛西威汽车电子股份有限公司 | 一种可重入函数的测试方法 |
CN108845928A (zh) * | 2018-05-05 | 2018-11-20 | 惠州市德赛西威汽车电子股份有限公司 | 测试单元内可测试函数的划分方法及测试方法 |
CN108845928B (zh) * | 2018-05-05 | 2022-03-22 | 惠州市德赛西威汽车电子股份有限公司 | 测试单元内可测试函数的划分方法及测试方法 |
CN113094265A (zh) * | 2021-04-01 | 2021-07-09 | 山石网科通信技术股份有限公司 | 测试脚本的分析方法及分析装置、电子设备 |
CN113094265B (zh) * | 2021-04-01 | 2022-09-09 | 山石网科通信技术股份有限公司 | 测试脚本的分析方法及分析装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102831058B (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102831058A (zh) | 一种测试方法和装置 | |
US11036507B2 (en) | Processor testing using pairs of counter incrementing and branch instructions | |
US8943377B2 (en) | On-chip detection of types of operations tested by an LBIST | |
US9367427B2 (en) | Embedding and executing trace functions in code to gather trace data | |
CN104657247A (zh) | 基于jtag调试方式实现通用型故障注入***和故障注入方法 | |
US9405315B2 (en) | Delayed execution of program code on multiple processors | |
US10565091B2 (en) | Method and apparatus for automatic cross-system program debugging | |
WO2012118880A2 (en) | Method and system for utilizing stand-alone controller in multiplexed handler test cell for indexless tandem semiconductor test | |
CN102486938B (zh) | 一种快速检测存储器的方法及装置 | |
CN105589928A (zh) | 用于分布式数据处理***的模拟测试方法 | |
CN110134598B (zh) | 一种批量处理方法、装置及*** | |
CN112698974A (zh) | 故障注入测试方法、装置和存储介质 | |
CN102331961B (zh) | 并行模拟多个处理器的方法及***、调度器 | |
US8661293B2 (en) | Test architecture based on intelligent test sequence | |
US20230367936A1 (en) | Verification method, electronic device and storage medium | |
CN113127331B (zh) | 一种基于故障注入的测试方法、装置及计算机设备 | |
CN103176897B (zh) | 一种软件回归测试的方法及*** | |
US9015673B2 (en) | Method for developing software in a parallel computing environment | |
CN113704040A (zh) | 一种微处理器内存可靠性测试方法 | |
Giese et al. | Architecture-driven platform independent deterministic replay for distributed hard real-time systems | |
CN108205490B (zh) | 软件看门狗测试方法和装置 | |
KR101137034B1 (ko) | 계층적 병렬 환경에서의 분산 런타임 진단을 위한 시스템 및 방법 | |
CN103365775A (zh) | 基于内部状态检查的单元测试方法 | |
CN106021089B (zh) | 一种补丁接口的测试方法及装置 | |
CN113064819A (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 |