会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 嵌入式系统 / 一种辅助嵌入式系统接口功能验证方法

一种辅助嵌入式系统接口功能验证方法

阅读:755发布:2021-02-28

IPRDB可以提供一种辅助嵌入式系统接口功能验证方法专利检索,专利查询,专利分析的服务。并且本发明是一种辅助嵌入式系统接口功能验证方法,所述方法按照系统接口的特性选取、设计可配置组件与可配置状态表;利用转化算法快速生成测试用例,其包括步骤:1)将嵌入式系统中的资源对象化,并将提取出的每个对象以独立的可配置组件的形式表达;2)提供两类特殊的可配置组件:系统接口的参数组件和状态转移组件,3)提供可配置状态表:其包含上述可配置组件,用来表达对象在系统接口被调用前后的状态;4)提出一种由可配置组件到测试代码的转换算法,用以保证测试用例设计和实现的一致性。该方法更适于嵌入式操作系统,其大大提高了设计效率,降低了设计难度,不但简化了设计,同时也易于保证测试的完整性。,下面是一种辅助嵌入式系统接口功能验证方法专利的具体信息内容。

1.一种辅助嵌入式系统接口功能验证方法,其特征在于,所述方法按照系统接口的特性选取、设计可配置组件与可配置状态表;利用转化算法快速生成测试用例,其包括步骤:

1)将嵌入式系统中的资源对象化,并将提取出的每个对象以独立的可配置组件的形式表达;所述对象本身具有一个或多个参数,表现在系统中的不同状态;所述可配置组件为一个对象状态的全集;

2)提供两类可配置组件:系统接口的参数组件和状态转移组件,其中,所述参数组件用来表达系统接口的参数及其取值,所述状态转移组件表达对象在系统接口被调用前后的状态;

3)提供可配置状态表:其包含上述可配置组件,用来表达对象在系统接口被调用前后的状态;并针对一个特定的系统接口,包含影响其调用的对象的状态集、被调用后受影响的对象的状态集以及调用前后对象状态的对应规则;

4)提出一种由可配置组件到测试代码的转换算法,用以保证测试用例设计和实现的一致性。

2.根据权利要求1所述的辅助嵌入式系统接口功能验证方法,其特征在于,所述对象为系统中的任务、和系统状态,系统中的任务包括信号量,邮箱,条件变量、和中断及系统状态;所述可配置组件的载体选用microsoft excel表格,其配置方式采用下拉菜单式配置方式或限定范围的方式,分别适用于数值型条目和非数值型条目。

3.根据权利要求2所述的辅助嵌入式系统接口功能验证方法,其特征在于,在步骤1,所述对象的可配置组件包括一般对象可配置组件和特殊对象可配置组件;其中,一般对象可配置组件的参数取值,采取下拉菜单式配置;如果参数取值是连续的整数,且可取值区间大于10个,采用限定范围配置的方式;

对于参数取值既有连续区间,又有特定取值的对象可配置组件采取两种方式混合设计,即针对特定值采用下拉菜单配置式,针对连续区间采用限定范围式;

对于有多个互有联系的参数的对象,通过对象内参数映射的方式,实现参数及其取值的自动配置。

4.根据权利要求3所述的辅助嵌入式系统接口功能验证方法,其特征在于,在步骤2,所述状态转移组件包括状态限定组件、系统接口调用成功状态转移组件和系统接口调用失败状态转移组件,分别表达在系统接口被调用之前对象之间的限定关系和系统接口被调用前后对象的变化;所述系统接口被调用前后对象的变化包括系统接口调用成功之后对象的变化和系统接口调用发生错误之后对象的变化,所述系统接口参数组件依据系统接口参数个数来配置参数。

5.根据权利要求4所述的辅助嵌入式系统接口功能验证方法,其特征在于:

所述状态限定组件通过对象间的限定条件,确定系统接口被调用前不同对象状态组合的全集;

所述系统接口调用成功状态转移组件,该组件涉及对象间的关系、系统接口调用前参数的取值、对象在系统接口调用后的状态变化、系统接口调用后参数的变化和系统接口返回的代码;使用对象内参数映射的方法,减少配置状态表时的工作量。

6.根据权利要求5所述的辅助嵌入式系统接口功能验证方法,其特征在于,在步骤4,所述转换算法根据可配置状态表,将测试用例设计为公共部分、索引部分、设置部分和检查部分,并针对所述的每一部分,提供相应的转换算法:所述公共部分是把系统状态的设置方法和检查方法提取出来,作为公共部分;所述索引部分是针对系统接口被调用之前对象状态的集合在测试用例中的表示,采取了目录索引的方式形成;所述设置部分是根据索引调用相应的方法设置出对象间需要的状态集;所述检查部分检查设置好的状态在系统接口被调用后是否转移到预期状态。

7.根据权利要求6所述的辅助嵌入式系统接口功能验证方法,其特征在于,所述索引部分具体实现如下:

对于每个对象可能存在的状态集合,使用一个数组来定义和表达,该数组中的每行元素对应对象的一种状态;而对于不同对象间可能存在状态的集合,使用一个数组来定义和表达,该数组中的一个元素是一组编号,每个编号代表不同对象在其对应数组里的位置。

8.根据权利要求7所述的辅助嵌入式系统接口功能验证方法,其特征在于:

所述针对公共部分算法包括两个方面的内容:一是各个参数取值的宏定义,二是各参数状态取值的全集,所述宏定义采取每读出一个参数取值直接转化的方式,对于数组的转化,首先确定数组的大小,然后确定元素在数组中的位置及个数;

所述针对索引部分算法,通过对象组件和状态限定组件转化出对象参数宏定义、对象内参数组合和对象间参数组合;所述参数宏定义采取读取去后直接转化的方式,得到对象状态的全部组合;

所述针对设置部分算法可以是将其预先设计好,根据情况直接调用;

所述针对检查部分算法针对两部分:调用成功则查看返回值是否正确,对象状态如何改变;调用失败则查看返回什么样的错误码,对象状态是否受到调用的影响,所述检查部分代码由系统接口调用失败状态转移组件和系统接口调用成功状态转移组件转化而来。

9.根据权利要求8所述的辅助嵌入式系统接口功能验证方法,其特征在于,所述针对索引部分算法还包括将得到的数据进行筛选,在筛选时,依据的是对象内参数间的关系,利用对象内参数映射的方式来确定;将所有的对象组件转化之后,进一步需要依据对象间存在的关系生成对象间所有可发行状态的组合,所述对象间关系由状态限定组件转化而来,所述转化算法是读取一行转化一行。

10.根据权利要求9所述的辅助嵌入式系统接口功能验证方法,其特征在于,所述针对索引部分算法还包括将得到的数据进行筛选,在筛选时,依据的是对象内参数间的关系,利用对象内参数映射的方式来确定;将所有的对象组件转化之后,进一步需要依据对象间存在的关系生成对象间所有可发行状态的组合,所述对象间关系由状态限定组件转化而来,所述转化算法是读取一行转化一行。

说明书全文

一种辅助嵌入式系统接口功能验证方法

技术领域

[0001] 本发明涉及计算机技术,尤其是涉及一种计算机辅助嵌入式系统接口功能的验证方法。

背景技术

[0002] 接口的功能验证就是要确保接口以期望的方式运行。这个要求包含两层意思,一个是要列出测试需要的条件组合,这里我们称之为测试的完整性;另一个是要保证在已知条件下的结果和预期的一致,在这里我们称之为验证的一致性。
[0003] 在嵌入式系统中,条件组合包括能影响接口调用结果的系统状态、进程状态、内存状态、接口输入等。这些影响接口调用结果的条件组合起来数量可能非常庞大,即使在实际验证中会只选取有效的、典型的条件组合来测试,组合的数量也可能会有几十万甚至上百万。在这种情况下如何保证测试的完整性和一致性?目前通用的方法是采取图形或者表格的方法,就是列出所需的其特定条件组合以及所有对应的预期结果。但这些方法在面对如此繁多的条件组合时往往力不从心:一方面设计效率的低下,一方面也难易保证测试的完整性。

发明内容

[0004] 本发明的目的是针对嵌入式系统接口功能验证的特点和要求,提出了一种实用性强,通用性高,设计简单,做成高效的辅助测试用例设计、实现的方法。
[0005] 为了实现本发明的目的,提出一种辅助嵌入式系统接口功能验证方法,所述方法按照系统接口的特性选取、设计可配置组件与可配置状态表;利用转化算法快速生成测试用例,其包括步骤:
[0006] 1)将嵌入式系统中的资源对象化,并将提取出的每个对象以独立的可配置组件的形式表达;所述对象本身具有一个或多个参数,表现在系统中的不同状态;所述可配置组件为一个对象状态的全集;
[0007] 2)提供两类特殊的可配置组件:系统接口的参数组件和状态转移组件,其中,所述参数组件用来表达系统接口的参数及其取值,所述状态转移组件表达对象在系统接口被调用前后的状态;
[0008] 3)提供可配置状态表:其包含上述可配置组件,用来表达对象在系统接口被调用前后的状态;并针对一个特定的系统接口,包含影响其调用对象的状态集、被调用后受影响的对象的状态集以及调用前后对象状态的对应规则;
[0009] 4)提出一种由可配置组件到测试代码的转换算法,用以保证测试用例设计和实现的一致性。
[0010] 所述对象为系统中的任务和系统状态,系统中的任务包括信号量,邮箱,条件变量和中断;所述可配置组件的载体选用microsoft excel表格,其配置方式采用下拉菜单式配置方式或限定范围的方式,分别适用于数值型条目和非数值型条目。
[0011] 在步骤1,所述对象的可配置组件包括一般对象可配置组件和特殊对象可配置组件;其中,一般对象可配置组件的参数取值,采取下拉菜单式配置;如果参数是连续的整数,且可取值区间大于10个,采用限定范围配置的方式;
[0012] 对于参数取值既有连续区间,又有特定取值的对象可配置组件采取两种方式混合设计,即针对特定值采用下拉菜单配置式,针对连续区间采用限定范围式;
[0013] 对于有多个联系参数的对象,通过对象内参数映射的方式,实现参数及其取值的自动配置。
[0014] 在步骤2,所述状态转移组件包括状态限定组件、系统接口调用成功状态转移组件和系统接口调用失败状态转移组件,分别表达在系统接口被调用之前对象之间的限定关系和系统接口被调用前后对象的变化;所述系统接口被调用前后对象的变化包括系统接口调用成功之后对象的变化和系统接口调用发生错误之后对象的变化,所述系统接口参数组件依据系统接口个数来配置参数。
[0015] 所述状态限定组件通过对象间的限定条件,确定系统接口被调用前不同对象状态组合的全集;
[0016] 所述系统接口调用成功状态转移组件,该组件涉及对象间的关系、系统接口调用前参数的取值、对象在系统接口调用后的状态变化、系统接口调用后参数的变化和系统接口返回的代码;使用对象内参数映射的方法,减少配置状态表时的工作量。
[0017] 在步骤4,所述转换算法根据可配置状态表,将测试用例设计为公共部分、索引部分、设置部分和检查部分,并针对所述的每一部分,提供相应的转换算法:所述公共部分是把系统状态的设置方法和检查方法提取出来,作为公共部分;所述索引部分是针对系统接口被调用之前对象状态的集合在测试用例中的表示,采取了目录索引的方式形成;所述设置部分是根据索引调用相应的方法设置出对象间需要的状态集;所述检查部分检查设置好的状态在系统接口被调用后是否转移到预期状态。
[0018] 所述索引部分具体实现如下:
[0019] 对于每个对象可能存在的状态集合,使用一个数组来定义和表达,该数组中的每行元素对应对象的一种状态;而对于不同对象间可能存在状态的集合,使用一个数组来定义和表达,该数组中的一个元素是一组编号,每个编号代表不同对象在其对应数组里的位置。
[0020] 所述针对公共部分算法包括两个方面的内容:一是各个参数取值的宏定义,二是各参数状态取值的全集,所述宏定义采取每读出一个参数取值直接转化的方式,对于数组的转化,首先确定数组的大小,然后确定元素在数组中的位置及个数;
[0021] 所述针对索引部分算法,通过对象组件和状态限定组件转化出对象参数宏定义、对象内参数组合和对象间参数组合;所述参数宏定义采取读去后直接转化的方式,得到对象状态的全部组合;
[0022] 所述针对设置部分算法可以是将其预先设计好,根据情况直接调用;
[0023] 所述针对检查部分算法针对两部分:调用成功则查看返回值是否正确,对象状态如何改变;调用失败则查看返回什么样的错误码,对象状态是否受到调用的影响,所述检查部分代码由系统接口调用失败状态转移组件和系统接口调用成功状态转移组件转化而来。
[0024] 所述针对索引部分算法还包括将得到的数据进行筛选。在筛选时,依据的是对象内参数间的关系,利用对象内参数映射的方式来确定;将所有的对象组件转化之后,进一步需要依据对象间存在的关系生成对象间所有可发行状态的组合,所述对象间关系由状态限定组件转化而来,所述转化算法是读取一行转化一行。
[0025] 相较于其他的测试方法,本方法有如下特点:
[0026] 该方法更适于嵌入式操作系统:如linux、uItron、ucos调用接口的验证,也适用于符合易于对象化这一特点的其他方面的功能性验证,如开发板硬件手册的验证。
[0027] 该方法采用组件、可配置的方式,每个组件都可以被重复利用,大大提高了设计效率,降低了设计难度。
[0028] 在该方法中,可配置组件的设计相对难度稍大,而利用组件来设计可配置状态表则相对容易。这样的方式能够降低对测试用例设计人员的技术要求,更适合于实际的开发过程。
[0029] 该方法最重要的一个特点是提供了由组件到测试代码的转换算法,利用这种方式,在设计可配置状态表时无需列出条件组合,不但简化了设计,同时也易于保证测试的完整性。

附图说明

[0030] 图1是本发明辅助嵌入式系统接口功能验证方法的原理框架图;
[0031] 图2是可配置组件的两种方式;
[0032] 图3是task对象可配置组件;
[0033] 图4是系统对象可配置组件;
[0034] 图5是系统接口参数可配置组件;
[0035] 图6是状态限定组件;
[0036] 图7是系统接口调用成功状态转移组件;
[0037] 图8是系统接口调用失败状态转移组件;
[0038] 图9系统特殊状态转化流程框架图;
[0039] 图10是对象状态组合转化流程框架图;
[0040] 图11是对象间可发行状态转化流程框架图;
[0041] 图12是系统接口调用失败组件转化流程框架图;
[0042] 图13是系统接口调用失败组件转化流程框架图;
[0043] 图14是可配置状态表做成流程框架图。

具体实施方式

[0044] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例和附图,对本发明进一步详细说明。
[0045] 为了更好的理解方法的原理以及方法的特点,针对本方法先提出三个概念,并举例说明:
[0046] 1、对象:一种能独立存在于嵌入式系统中的资源我们称之为一个对象。它本身具有一个或多个参数,根据参数取值的不同,它在系统中表现出不同的状态。例如嵌入式系统中的一个进程或者一个信号量都可称之为对象。
[0047] 2、可配置组件:一个对象状态(包含所有参数以及参数的典型取值)的全集或者一类规则的全集,用户可在此基础上配置实际需要的子集。比如任务对象,该组件会包含任务在系统中所能存在的所有典型状态,每次针对任务的设计,使用的都是这些状态的子集。
[0048] 3、可配置状态表:它包含多个可配置组件,主要用来表达对象在系统接口被调用前后的状态。针对一个特定的系统接口,该表要包含影响其调用对象的状态集、被调用后受影响的对象的状态集以及调用前后对象状态的对应规则。
[0049] 系统接口功能验证的实质就是测试系统接口对处于某种特定状态的对象的作用。它关注的焦点是对象的初始状态和系统接口调用后改变到的状态。
[0050] 本方法基于以上理解,将嵌入式系统中的资源对象化,并将提取出的每个对象以独立的可配置组件的形式表达。另外,再提供两类特殊的可配置组件:系统接口参数组件和状态转移组件。参数组件用来表达系统接口的参数及其取值;状态转移组件表达对象在系统接口被调用前后的状态。在此基础上,本方法提出了一种由可配置组件到测试代码的转换算法,用以保证测试用例设计和实现的一致性。资源对象化,组件化、可配置化是本方法的基础和特色。无需列出条件组合、易于自动生成测试代码是本方法最大的优点。
[0051] 在使用本方法时,只需按照系统接口的特性选取、设计可配置组件与可配置状态表,然后利用转化算法即可快速生成测试用例。
[0052] 本方法的设计和使用原理框架图如图1所示,
[0053] 本发明以uItron4.0标准版为样例,详细解析该方法的实现。包括对象的提取、可配置组件的设计以及转换算法的实现。
[0054] 对象的提取:
[0055] 根据前面对象的定义,很容易提取系统中的对象。系统uItron系统中的任务,信号量,邮箱,条件变量,中断等都符合资源的定义,因而它们都可被抽象为对象。
[0056] 除了上述情况,我们也可以把一些具有对象特征的非资源抽象为对象,比如系统状态,它不是一种资源,但它有参数、能影响系统接口的调用,也可能受系统接口调用结果的影响,因而,也可以把它提取为一种对象。
[0057] 可配置组件设计:
[0058] 依据对可配置组件的定义,我们可以把可配置组件非为三个大类:对象组件,系统接口参数组件以及状态转移组件。
[0059] 可配置组件载体选用microsoft excel表格。一方面excel本身具有丰富的可利用的特性;另一方面目前读写excel文件的库函数比较丰富,利于以后转换算法的实现。
[0060] 可配置主要有两种方式,一是下拉菜单式配置方式,它适用于非数值型条目;对于数值型条目(一般情况下取值范围比较大),我们采取限定范围的方式。图2是可配置组件的两种方式。
[0061] 对象组件设计方法:
[0062] 前面已经提到,对象是对资源的抽象,并且为了设计的方便,也可以将一些非资源抽象为对象。相应的,在设计对象组件时,也可将对象组件划分为一般对象组件和特殊对象组件。
[0063] 一般对象组件设计方法:
[0064] 在这里,以uItron4.0标准版中task为例,讲解如何设计一般对象组件,如图3所示,在一般对象组件设计中,在决定采用哪种配置方式时,我们遵循一个基本的原则:对于参数,一般采取下拉菜单式配置,对于参数取值,如果是连续的整数,且可取值区间较大(大于10个),我们采用限定范围配置的方式。当然还有两种特殊情况,在设计时做单独处理:
[0065] 参数取值既有连续区间,又有特定取值。如上图3中参数“lefttmo”。对于这种情况,我们采取两种方式混合设计,即针对特定值采用下拉菜单配置式,针对连续区间采用限定范围式。
[0066] 一个对象有多个参数,一般情况下参数间的取值会有联系。比如上图3中,如果参数“STAT tskstat”只有取值为“NEX”,则无需关心该行下面所有的参数及其取值。针对这种情况,我们采取了不同于上述两种方式的设计方法。在该组件中,我们利用Excel公式,把这种关系设计进来,可以某些参数及其取值的自动配置,在本方法里称之为“对象内参数映射”。通过“对象内参数映射的方式”,一个好处是可以简化该组件的配置难度,另一个好处是容易确定对象的状态组合。
[0067] 特殊对象组件设计方法:
[0068] 在uItron4.0标准版中,可以将系统状态抽象为特殊对象。在设计中,该组件不同于一般对象组件的是增加了“rule”这一列,它代表着系统状态对接口调用是否有影响。另外,针对“CIM”参数的特殊性,在设计时如图4所示,留出了6列的空白列,保证CIM可以列出所有的值。
[0069] 系统接口参数组件设计方法:
[0070] 参数组件与具体系统接口有关,一方面是为了使设计更直观,更重要的是统一其书写格式,作为一条规则,支持自动化生成测试用例。在uItron4.0标准版中,系统接口最多有四个参数,每个参数的值取七个就足够了。如图5的设计方式可以保证该组件兼容uItron4.0标准中所有系统接口参数设计。在使用时可依据具体的系统接口个数来配置。例如系统接口只有三个参数,则序号4选择为空即可。
[0071] 状态转移组件设计方法:
[0072] 设计状态转移组件目的一是表达在系统接口被调用之前对象之间的限定关系;另一个是表达在系统接口被调用前后对象的变化。后者又分为两类,一类是系统接口调用成功之后对象的变化;一类是系统接口调用发生错误之后对象的变化。因此在这里我们依据这三个目的设计三种不同的状态转移组件,分别称之为:状态限定组件,系统接口调用成功状态转移组件,系统接口调用失败状态转移组件。同系统接口参数组件一样,该组件同具体的系统接口关联性较大,因此在这里最重要的目的也是为了统一书写格式,作为规则来支持自动化生成测试用例。
[0073] 状态限定组件
[0074] 该组件是联系不同对象的桥梁,通过对象间的限定条件,可以确定系统接口被调用前不同对象状态组合的全集。为了更简明的表达对象状态间的关系,在我们的设计中,如图6所示,每个组件之表达两个对象之间的关系,如果有多个对象,可选择多个该组件,另外在operator列中,设计了两个配置选项:符号“=”与符号“!=”。
[0075] 系统接口调用成功状态转移组件
[0076] 如图7所示,该组件涉及到对象间的关系,系统接口调用前参数的取值,对象在系统接口调用后的状态变化,系统接口调用后参数的变化,系统接口返回的代码。针对该组件的特点,设计了系统接口成功调用前后的状态表达方式以及运算符。对该系统接口来说,对象间的状态组合可能会非常多,幸运的是,我们在设计对象组件的时候,使用了对象内参数映射的方法,因而在使用该组件的时候,只需列出对象中的关键参数即可。这样可以大大减少配置状态表时的工作量。
[0077] 系统接口调用失败状态转移组件
[0078] 系统接口调用失败,不会影响到对象的状态,因而在该组件中不需要设计系统接口调用之后对象的状态。系统接口调用失败,可能受多种因素影响。而如果导致系统接口调用失败的多种因素同时作用,就涉及到这些因素作用的优先级的问题,在设计该组件时,如图8所示,相较与调用成功状态转移组件,着重关注影响因素作用的优先级。而与调用成功状态转移组件相同的是,在使用该组件时,只需列出对象中的关键参数即可。
[0079] 转换算法设计
[0080] 在设计可配置状态表时,需要保持可配置状态表与测试用例的一致性,即测试用例是由可配置状态表的组件信息转化而来。在设计可配置状态表的同时,也需要考虑测试用例的设计。转换算法是可配置状态表到测试用例的桥梁。而反过来讲,可配置状态表与测试用例的设计的合理程度决定着转换算法的复杂度。因而,在描述本方法的转换算法之前,需要先解释本方法中对测试用例的设计。
[0081] 测试用例设计:
[0082] 在本方法中,根据可配置状态表的设计,将测试用例设计为如下四个部分:
[0083] 公共部分:
[0084] 对于所有系统接口来说,都受到系统状态的影响。在本方法中,把系统状态的设置方法和检查方法提取出来,作为公共部分。
[0085] 索引部分:
[0086] 针对系统接口被调用之前对象状态的集合在测试用例中的表示,本方法采取了类似目录索引的方式,在这里称之为索引部分。具体实现如下:
[0087] 对于每个对象可能存在的状态集合,在本方法中都使用一个数组来定义和表达,该数组中的每行元素对应对象的一种状态。而对于不同对象间可能存在状态的集合,我们同样使用一个数组来定义和表达,不同的是,该数组中的一个元素是一组编号,每个编号代表不同对象在其对应数组里的位置。在测试用例运行时,首先会找到表达不同对象之间状态集合的数组,并根据数组里的编号去设置相应对象的真实状态。
[0088] 设置部分:
[0089] 该部分的主要的功能是根据索引调用相应的方法设置出对象间需要的状态集。
[0090] 检查部分:
[0091] 这部分的主要功能是检查设置好的状态在系统接口被调用后是否转移到预期状态。
[0092] 转换算法设计:
[0093] 在测试用例设计中,将其分为四个部分。相应的,针对每一部分,在这里提供相应的转换算法。
[0094] 针对公共部分算法:
[0095] 在uItron4.0标准中,绝大多数系统接口的公共部分都是相同的,对于相同的部分,将其预先设计好,根据情况直接调用即可。而对某些特殊的系统接口,需要对通用部分重写。在这里,主要针对特殊情况设计转化算法:
[0096] 通过该组件,主要转化出两个方面的内容:一是各个参数取值的宏定义,二是各参数状态取值的全集。在算法设计中,宏定义采取每读出一个参数取值直接转化的方式。对于数组的转化,首先确定数组的大小,然后要确定元素在数组中的位置及个数。具体的流程框架图如图9所示:
[0097] 针对索引部分算法:
[0098] 索引部分涉及的组件包括对象组件,状态限定组件。通过这些组件,要转化出对象参数宏定义,对象内参数组合,对象间参数组合。参数宏定义也采取读去后直接转化的方式。对于对象内参数组合,可在上图9的基础上增加几点特殊处理即可,具体方法如图10所示。
[0099] 通过以上步骤,得到的是对象状态的全部组合。而在测试用例设计中,需要的是全部可存在状态的组合,因而还需要将得到的数据进行筛选。在筛选时,依据的是对象内参数间的关系。也就是前面提出的对象内参数映射的方式来确定。
[0100] 将所有的对象组件转化之后,进一步需要生成对象间所有可发行状态的组合,这里主要依据对象间存在的关系。对象间关系主要由状态限定组件转化而来。转化算法基本也是读取一行转化一行,流程框架图如图11所示:
[0101] 针对设置部分算法:
[0102] 通过对对象状态组件的转化,相应的设置信息也已经转化。因而在这里不需要再设计从可配置组件到代码的转化。每个对象的创建、设置方法都是固定的,将其预先设计好,根据情况直接调用即可。
[0103] 针对检查部分算法:
[0104] 检查主要针对两部分,调用成功则查看返回值是否正确,对象状态如何改变;调用失败则查看返回什么样的错误码,对象状态是否受到调用的影响。
[0105] 检查部分代码主要由系统接口调用失败状态转移组件和系统接口调用成功状态转移组件转化而来。在设计这些组件时,同样也考虑了组件到代码的转化,组件内容与目标代码也基本一致,因而转化算法比较简单,图12是调用失败组件算法转化流程框架图。
[0106] 图13是系统接口调用成功组件算法转化流程框架图,相较与系统接口调用失败组件,它多了转移后的状态。在该流程框架图中,首先要读取所有对象转移前的对象存在的一种状态,然后再读取所有对象转移后的一种状态。
[0107] 方法的使用-可配置状态表的设计
[0108] 可配置状态表由可配置组件组合而成,针对所有的系统接口,系统对象组件,系统接口调用成功组件以及系统接口调用失败组件是必须的,而一般对象组件和系统接口参数组件要依据系统接口本身的功能和设计来确定。在设计可配置组件时,系统对象组件、一般对象组件都是对象存在状态的全集。在做成可配置状态表时,需要完成配置的工作,而状态限定组件、系统接口参数组件,系统接口调用成功组件以及系统接口调用失败组件都只是规定了书写的方法和规则,因而在设计可配置状态表时,需要做进一步的完善工作。图14表示了可配置状态表设计的流程:
[0109] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用