CN102945204A - 一种基于接口模型的操作系统标准符合性测试的充分性评估方法 - Google Patents

一种基于接口模型的操作系统标准符合性测试的充分性评估方法 Download PDF

Info

Publication number
CN102945204A
CN102945204A CN2012104591232A CN201210459123A CN102945204A CN 102945204 A CN102945204 A CN 102945204A CN 2012104591232 A CN2012104591232 A CN 2012104591232A CN 201210459123 A CN201210459123 A CN 201210459123A CN 102945204 A CN102945204 A CN 102945204A
Authority
CN
China
Prior art keywords
interface
test
coverage rate
coverage
standard
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
Application number
CN2012104591232A
Other languages
English (en)
Other versions
CN102945204B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201210459123.2A priority Critical patent/CN102945204B/zh
Publication of CN102945204A publication Critical patent/CN102945204A/zh
Application granted granted Critical
Publication of CN102945204B publication Critical patent/CN102945204B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种基于接口模型的操作系统标准符合性测试的充分性评估方法,涉及软件测试的充分性评估,所述方法适用于操作系统针对特定标准的符合性测试,可以度量测试用例设计对于标准接口的覆盖率程度,为测试用例的选择、改进及测试充分性评估提供依据。方法包括三个方面:计算机初始化,以建立接口的数据模型和功能模型,获得标准符合性测试用例集;测试充分性评估,计算接口输入参数、接口输入参数-输出参数组合、接口功能、接口功能组合、以及系统综合覆盖率;基于覆盖率的测试用例选择,设定标准符合性测试的覆盖率目标,从总体用例集中迭代选取测试用例,直至满足覆盖率目标。

Description

一种基于接口模型的操作系统标准符合性测试的充分性评估方法
技术领域:
本发明涉及计算机软件领域,特别涉及基于模型的测试充分性评估。
背景技术:
操作系统的开发必须在遵循国际和工业标准的基础上进行,遵循标准是操作系统互通、互联、互操作的基础。标准符合性是操作系统保证其开放性、兼容性、以及对上层丰富应用的有效支持的基础和关键,标准符合性测试就是测试所开发的软件其接口或功能模块是否符合特定的软件标准或者规范,这个符合性不仅是指在形式上是一致的,还指其在功能、数据控制、异常处理等方面也要符合标准规范。例如,ARINC 653作为机载操作系统标准,对应用程序编程接口进行了详细定义,并定义了标准符合性测试的规范,明确说明了测试过程及测试用例的设计要求。
软件测试是根据软件开发阶段的各种说明文档,设计测试用例,使用手工或自动的方式,按照测试方案和流程,使用这些测试用例运行软件系统,用以检验软件系统是否满足预期需求的过程。由于标准接口数量大、接口之间依赖关系复杂、接口使用场景多样,标准符合性测试面临组合爆炸的问题,无法做到穷尽测试。标准符合性测试设计的关键之一就是寻找有效的测试集,力求尽可能地覆盖接口需求,并有效发现缺陷,增强测试的可信度。
测试充分性评估是对软件测试集的一种度量,通常针对特定的软件特征,采用测试覆盖率定量度量软件测试的充分程度,可以用如下公式来表示:
Figure BDA0000240220451
根据软件测试的分类,测试充分性评估可以分为基于代码的测试充分性评估和基于功能的测试充分性评估两大类。基于代码的充分性评估适用于白盒测试中,通过在测试过程中观测程序的语句、分支、路径等的执行情况,来评估测试覆盖的充分程度。基于功能的充分性评估,常用于黑盒测试中,以评估软件系统对于功能需求的覆盖程度。
标准符合性测试本质上为一种黑盒测试,以明确的应用程序接口描述作为软件功能特性,其基本要求功能点覆盖就体现为对于各种接口参数数据取值类型、参数数据组合、接口操作、操作组合各个层次上。本发明给出一种基于接口模型的标准符合性测试充分性度量方法,主要由两部分组成:(1)操作系统标准接口的结构化建模与描述;(2)测试执行对于接口模型的覆盖程度的一种层次化的度量模型,进而给出综合化评估方法。
标准符合性测试是操作系统测试的基本要求。测试充分性分析对测试用例集设计以及优化具有重要指导意义。
发明内容
本发明采用基于模型的软件度量技术,给出一种接口功能的结构化建模及层次化度量方法。方法针对目前广泛应用的操作系统软件的接口标准符合性测试问题,要求目标操作系统及其测试用例集满足以下条件:(1)目标操作系统具有明确的接口功能定义,是行业内普遍认同的标准,是操作系统设计、开发与测试的主要依据;(2)测试用例集中主要是针对操作系统标准接口的功能测试,且每个测试用例可追踪至被测软件的功能特性,包括被测接口的参数数据、被测接口的功能以及功能组合。
基于接口模型的操作系统标准符合性测试的充分性评估法,其特征在于是在一台计算机中,针对一个已经通过标准符合性测试的操作系统软件S依次按照以下步骤进行充分性评估的:
步骤(1) 计算机初始化
输入:根据所述操作系统软件S建立接口模型,其中包括:数据模型和功能模型:
数据模型:包括数据池的每个数据分区内所包含的所有测试数据,
功能模型:各个接口的包括输入参数和输出参数在内的接口参数以及对应的接口功能,
还包括:已经在所述操作系统软件S中通过标准符合性测试的测试用例集合T。
步骤(2) 依次按以下步骤进行标准符合性测试的充分性评估。
步骤(2.1) 按以下公式计算接口输入参数的覆盖率
Figure BDA0000240220452
Figure BDA0000240220453
其中,
●k为接口I的序号;
Figure BDA0000240220454
为接口Ik的一组输入参数集合。
步骤(2.2)按下式计算接口Ik的输入参数-输出参数两者组合的覆盖率
Figure BDA0000240220455
Figure BDA0000240220456
其中,
Figure BDA0000240220457
是接口Ik的所有输入参数-输出参数组合参数对集合;
Figure BDA0000240220458
为接口Ik的一组输入参数;
Figure BDA0000240220459
为接口Ik的一组输出参数。
步骤(2.3) 按下式计算特定接口
Figure BDA00002402204510
的接口功能覆盖率
Figure BDA00002402204511
Cov ( T , I k 0 ) = γ 1 Σ p i ∈ P in I k 0 λ i Cov ( T , p i ) | P in I k 0 | + γ 2 Σ q j ∈ P in - out I k 0 β j Cov ( T , q j ) | P in - out I k 0 |
其中
Figure BDA00002402204513
表示特定接口
Figure BDA00002402204514
的输入参数集合
Figure BDA00002402204515
中元素的个数;
Figure BDA00002402204516
表示特定接口的输入参数-输入参数组合集合
Figure BDA00002402204518
中元素的个数;
Figure BDA00002402204519
是接口输入参数集合
Figure BDA00002402204520
中的任意一个元素,i表示元素序列i=1,2,…,
Figure BDA00002402204521
,且
Figure BDA00002402204522
Figure BDA00002402204523
是接口输入参数-输出参数组合参数对集合
Figure BDA00002402204524
中的任意一个元素,j表示元素序列j=1,2, …, 
Figure BDA00002402204525
,且
Figure BDA00002402204526
●γ1,γ2,λi,和βj分别表示权值系数,其中,
a)λi是接口
Figure BDA00002402204527
每一个输入参数pi的覆盖Cov(T,pi)的权重,表明在所有接口输入参数中,pi对实现接口功能的重要程度,满足以下约束条件:
Σ i = 1 | P in I k 0 | λ i = 1
b)βj是接口每一个输入参数-输出参数组合qj的覆盖Cov(T, qj)的权重,表明在所有接口输入参数-输出参数组合中,qj的重要程度,满足以下约束条件:
Σ j = 1 | P in - out I k 0 | β j = 1
c)γ1是接口输入参数覆盖率的权重,表明其相对于输入参数-输出参数组合覆盖率,对标准符合性测试的充分性评估的重要程度;
d)γ2是接口
Figure BDA00002402204532
输入参数-输出参数组合覆盖率的权重,表明其相对于输入参数覆盖率,对标准符合性测试的充分性评估的重要程度;
e)γ1和γ2满足以下约束条件:
γ12=1
步骤(2.4) 按下式计算接口功能组合的覆盖率Cov(T,I*),表示针对系统S的一组标准接口的合法的功能组合集合,
Figure BDA00002402204533
步骤(2.5)按下式计算系统综合覆盖率Cov(T,S):
Cov ( T , S ) = Γ 1 Σ I k ∈ I ρ k Cov ( T , I k ) | I | + Γ 2 Σ I l * ∈ I * ω l Cov ( T , I l * ) | I * | ,
其中
●I是系统S的所有接口的集合,|I|表示I中元素的个数,
●I*表示系统S的接口功能组合的集合,|I*|表示I*中元素的个数,
●I1∈I是接口集合I中的任意一个元素,k表示元素序列(k=1,2, …, |I|),Cov(T,Ik)由步骤2.3计算获得,
Figure BDA00002402204535
是接口功能组合集合I*中的任意一个元素,l表示元素序列(l=1,2, …, |I*|),且
Figure BDA00002402204536
●Γ1,Γ2,ρk,和ωl分别表示权值系数,其中,
a)ρk是系统S的接口Ik的覆盖率Cov(T,Ik)的权重,表明在所有接口中,Ik对实现系统功能的重要程度,满足以下约束条件:
Σ k = 1 | I | ρ k = 1
b)ωl是系统S的接口组合
Figure BDA00002402204538
的覆盖的权重,表明在所有功能组合中,
Figure BDA00002402204540
功能组合覆盖对于系统功能实现的重要程度,满足以下约束条件:
Σ l = 1 | I * | ω l = 1
c)Γ1是接口功能覆盖率的权重,表明其相对于功能组合覆盖率,对标准符合性测试的充分性评估的重要程度;
d)Γ2是接口功能组合覆盖率的权重,表明其相对于接口功能覆盖率,对标准符合性测试的充分性评估的重要程度;
e)Γ1和Γ2满足以下约束条件:
Γ12=1,
步骤(3) 基于覆盖率的测试集选择
依次按以下步骤根据测试覆盖率,从已有的测试用例集T中,选择测试用例集合T′:
步骤(3.1)设定测试覆盖率目标
设定接口输入参数、接口输入参数-输出参数组合、接口功能、接口功能组合、以及系统综合覆盖率指标,作为操作系统S标准符合性测试的测试目标;
步骤(3.2)按照以下步骤,从测试用例集T中选择初始测试用例集合T0,T′= T0,
初始用例集的选择可采用以下任意一种:
1)随机选择;或者
2)根据标准符合性测试的历史数据,选取一组覆盖率最高的测试用例;或者
3)针对重点关注的接口,选取该接口所对应的一组覆盖率最高的测试用例,
步骤(3.3)按照上述步骤(2)计算测试用例集合T′的覆盖率,并判定是否满足步骤(3.1)中所设定的测试覆盖率目标,如果满足,结束退出;否则,选取新的测试用例集Tm补充到已有的测试用例集中,即T′=T′+Tm,Tm可采用以下方式从测试用例集T中选择:
1)随机选择;或者
2)根据标准符合性测试的历史数据,选取一组覆盖率最高的测试用例;或者
针对覆盖率最低的接口,选取该接口所对应的一组覆盖率最高的测试用例。
该方法可与传统的基于代码和功能点的充分性评估方法相结合。一方面,与基于代码的充分性评估方法有效互补;另一方面,是基于需求功能点的评估方法的一种可操作、可量化实施的技术,尤其适应于具有明确接口标准规范的操作系统标准符合性测试。
附图说明
图1示出本发明方法的主要结构和步骤;
图2示出本发明方法中接口的内部模型表示结构;
图3示出本发明方法中基于覆盖率的测试用例选择的主要结构和步骤;
图4示出本发明方法中的主要步骤。
具体实施方式
如附图1所示,本发明主要根据接口标准,建立被测操作系统的接口模型,针对标准符合性测试所执行的测试用例集,评估测试用例集对于接口模型各个层次的覆盖率,充分性评估结果可用于为标准符合性测试用例设计改进和优化提供指导。所述方法采取以下步骤进行:
步骤(1),计算机初始化
根据操作系统标准,建立软件功能接口的结构化描述。操作系统接口标准是操作系统功能需求的主要体现,是功能测试的主要依据。通常的操作系统标准如POSIX和ARINC,对数据类型、接口功能的语法和语义、功能行为均给出明确的定义,以文本方式描述。建立接口模型将文本描述的接口转化为计算机的内部表示,以计算机可理解的形式表达和存储,便于计算机自动解析和处理。建立过程可采用人工方式或是自动化方式。人工方式可借助于建模工具所提供模版,将标准规约中所定义的内容,依据模版格式输入。自动化方式可借助于自然语言处理技术,自动读入文本内容,通过识别关键字,抽取相关信息,构建信息模型。模型存储可采用关系数据库或是XML数据库。关系数据库为传统的数据管理方式。XML数据库可以更好地表达和查询数据之间的关联关系。
接口模型的内部表示主要包括数据模型和功能模型两个方面。数据模型主要包括数据类型描述、数据池、以及数据类型约束三个方面。数据类型可分为简单数据类型、枚举类型、以及结构体数据类型,对应于接口标准的数据类型定义。数据池是数据可能取值的集合,可根据测试目标的不同分为多个数据分区,每一个分区代表一个数据取值的等价类结合。根据数据类型的不同,数据类型约束可分为数值类型的取值范围约束、字符串类型的长度范围约束、和枚举类型的合法值约束三种约束。
功能模型的内部表示主要包括接口参数描述、接口功能行为描述、接口功能约束描述三个方面。如附图2所示,一个功能接口可以包括若干个接口参数,参数可分为输入参数和输出参数两种类型。输入参数为软件功能执行传入数据,输出参数为执行结果的返回数据。每个接口参数可以包括多个数据池,每个数据池可包括多个数据分区,每个数据分区可包括多个测试数据取值实例。接口功能行为可采用状态机和决策表两种方式描述。决策表通常用于描述或处理判断条件较多,各条件又相互组合、有多种决策方案的情况。通过精确而简洁地描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。在决策表中,这些条件称为条件属性,对应的执行动作称为决策属性。一组条件属性连同其对应的决策属性称为决策表中的一个实例,又称为一条规则。状态机是系统状态及状态之间的转移和动作等行为的数学模型,可用于描述软件在外部输入激励下的响应和内部状态变化。接口功能约束包括前置条件和后置条件。前置条件是对本功能执行之前,系统需具备的状态或是需完成的操作的描述。后置条件是对本功能执行之后,系统所达到的状态或是后续操作的描述。
标准符合性测试根据接口标准设计测试用例并测试被测操作系统软件。测试用例设计可采用人工或是自动化方式。测试用例集可追踪至操作系统的接口标准,即在测试用例及其所测试的接口功能之间建立有效的关联关系。本发明主要关注记录已执行的测试用例集合,以评估测试的充分程度。
步骤(2),标准符合性测试的充分性评估。
主要采用计算接口模型覆盖率的方法,评估标准符合性测试的充分性,以评价测试用例集对操作系统接口标准所规定的数据、功能以及应用场景的测试充分程度。接口覆盖率评估主要包括以下五个层次:
步骤(2.1) 接口输入参数的覆盖率:即测试用例集的执行对于特定接口输入参数的覆盖程度。给定已执行的测试用例集合T,给定某个特定的软件接口Ik,假设该接口Ik包含一组输入参数
Figure BDA00002402204542
,测试用例集合T对于接口Ik的输入参数集
Figure BDA00002402204543
的覆盖率
Figure BDA00002402204544
计算如下:
Figure BDA00002402204545
步骤(2.2)接口输入参数-输出参数组合的覆盖率:即测试用例集的执行对于特定接口输入参数-输出参数组合的覆盖程度。给定已执行的测试用例集合T,给定某个特定的软件接口Ik,假设该接口Ik包含一组输入参数
Figure BDA00002402204546
和一组输出数据
Figure BDA00002402204547
,存在一组输入输出的合法组合集合,即对于任何元素,软件将在输入pi的情况下,产生输入结果po。则试用例集合T对于接口Ik的输入参数-输出参数组合集合
Figure BDA00002402204550
的覆盖率计算如下:
Figure BDA00002402204552
步骤(2.3)接口功能的覆盖率:即测试用例集的执行对于特定接口功能的覆盖程度。接口功能主要体现在对于给定的输入,产生输出结果。因此,接口功能覆盖率根据接口输入参数、以及输入输出组合的覆盖率计算获得。给定已执行的测试用例集合T,给定某个特定的软件接口
Figure BDA00002402204553
,假设该接口包含一组输入参数
Figure BDA00002402204555
和输入输出的合法组合集合
Figure BDA00002402204556
,则试用例集合T对于接口
Figure BDA00002402204557
的功能覆盖率Cov(T,Ik)计算如下:
Cov ( T , I k 0 ) = γ 1 Σ p i ∈ P in I k 0 λ i Cov ( T , p i ) | P in I k 0 | + γ 2 Σ q j ∈ P in - out I k 0 β j Cov ( T , q j ) | P in - out I k 0 |
其中,
Figure BDA00002402204559
Figure BDA00002402204560
分别表示输入参数集合
Figure BDA00002402204561
和输入参数-输入参数组合集合
Figure BDA00002402204562
中元素的个数。
Figure BDA00002402204563
是接口输入参数集合
Figure BDA00002402204564
中的任意元素,且
Figure BDA00002402204565
Figure BDA00002402204566
是接口输入参数-输出参数组合集合
Figure BDA00002402204567
中的任意元素,且
Figure BDA00002402204568
●γ1,γ2,λi,和βj分别表述权值系数,且满足以下条件
γ12=1
Σ i = 1 | P in I k 0 | λ i = 1
Σ j = 1 | P in - out I k 0 | β j = 1
步骤(2.4)接口功能组合的覆盖率:即测试用例集的执行对于特定一组功能组合的覆盖程度。给定已执行的测试用例集合T,给定合法的接口功能组合集合I*,则试用例集合T对于接口功能组合集合I*的覆盖率Cov(T,I*)计算如下:
Figure BDA00002402204571
合法的接口功能组合是指操作系统的合理的应用场景,每个场景由执行一些列的接口功能实现。
步骤(2.5)系统综合覆盖率:评估模型为上述覆盖率指标的函数。即给定已执行的测试用例集合T,给定操作系统软件S,假定S需满足一组接口标准{Ik,k=1,2,….n},则测试用例集合T对于操作系统软件S标准符合性测试的测试充分性计算如下:
Cov ( T , S ) = Γ 1 Σ I k ∈ I ρ k Cov ( T , I k ) | I | + Γ 2 Σ I l * ∈ I * ω l Cov ( T , I l * ) | I * |
其中,
●|I|和|I*|分别表示接口集合I和接口功能组合集合I*中元素的个数;
●Ik∈I是接口集合I中的任意一个元素,是接口功能组合集合I*中的任意一个元素;
●Γ1,Γ2,ρk,和ωl分别表示权值系数,且满足
Σ k = 1 | I | ρ k = 1
Σ l = 1 | I * | ω l = 1
Γ12=1
步骤(3),基于覆盖率的测试集选择
根据测试充分性评估结果,可以有针对性的从以下几个方面改进操作系统标准符合性测试用例集的设计,以提高对特定数据、功能和功能组合的覆盖率。
1)设计新的测试用例,
2)完善已有的测试用例。
3)剔除重复冗余的测试用例。
4)合并相似的测试用例。
在测试资源、时间有限,不能完整执行测试用例集的情况下,测试通常选择执行一个有效的测试用例子集。测试用例子集的选择可依据测试用例的覆盖率评估,以最大化覆盖率为优化目标,迭代选取测试用例。参看附图3,基于覆盖率分析的回归测试过程采取以下步骤进行:
步骤(3.1):设定回归测试覆盖率目标
设定接口输入参数、接口输入参数-输出参数组合、接口功能、接口功能组合、以及系统综合覆盖率指标,作为操作系统S标准符合性测试的测试目标。
步骤(3.2):选取初始测试用例集合
初始测试用例集的选择可采用以下几种方式:
1)随机选择
2)根据标准符合性测试的历史数据,选取一个或是一组覆盖率较高的测试用例。
3)针对重点关注的接口,选取该接口所对应的一个或是一组测试用例。
步骤(3.3)按照上述步骤(2)计算测试用例集合T′的覆盖率,并判定是否满足步骤(3.1)中所设定的测试覆盖率目标,如果满足,结束退出;否则,选取新的测试用例集Tm补充到已有的测试用例集中,即T′=T′+Tm,Tm可采用以下方式从测试用例集T中选择:
3)随机选择;或者
4)根据标准符合性测试的历史数据,选取一组覆盖率最高的测试用例;或者
5)针对覆盖率最低的接口,选取该接口所对应的一组覆盖率最高的测试用例。
根据本发明的测试充分性评估方法,能够对通用操作系统标准符合性测试进行评估,以控制软件测试的质量,为改进测试过程、提高测试效率提供支持,解决操作系统标准符合性评测测试结果的可信性问题。
为使本发明的目的、技术方案和优点更加清楚,下面将以操作系统ARINC 653标准符合性测试为实例对本发明的实施方式作进一步地详细说明。
ARINC 653在航空计算机操作系统和应用软件之间定义了一个通用的APEX(Application/Executive)接口。该接口为应用程序提供了一系列的服务,包括分区管理、进程管理、时间管理、存储管理、区内通信、区间通信和健康监控等,通过这些接口,应用软件可以得到实时安全的各种功能服务,也可以对各种服务的属性加以控制,如任务调度、通信和内部状态信息等。在ARINC 653标准中,一个典型的接口描述如下所示:
Figure BDA00002402204576
在该实例中,定义了接口SET_PRIORITY的主要功能,该接口有两个输入参数:PROCESS_ID,类型为PROCESS_ID_TYPE;PRIORITY,类型为PRIORITY_TYPE。有1个输出参数,即返回值:RETURN_CODE,类型为RETURN_CODE_TYPE。接口功能中定义了输入、输入之间的对应关系。
根据步骤1,上述接口描述转化成接口的数据和功能模型描述,并设计了一组测试用例。下表给出部分测试用例实例。
Figure BDA00002402204577
根据步骤2,分析测试用例集对于ARINC 653标准接口集合的覆盖率。例如,上述测试集合{SET_PRIORITY_1, SET_PRIORITY_2, SET_PRIORITY_3, SET_PRIORITY_4}覆盖了接口SET_PRIORITY的两个输入参数,四种输入输出组合,以及接口功能组合的两个应用场景:CREAT_PROCESS→GET_PROCESS_ID→SET_PRIORITY和STOP→SET_ PRIORITY。综合分析所有测试用例对所有接口的测试结果,可评价测试用例集的综合覆盖率。
根据步骤3,设定接口SET_PRIORITY的输入参数测试覆盖率目标是100%。任意选择初始测试用例集T0={SET_PRIORITY_1}。有前面初始化可知,该接口有两个输入参数,在此例子中,输入参数PROCESS_ID有三个分区,分别为合法取值分区、此ID指示的进程不存在、此ID指示的进程在休眠状态;输入参数PRIORITY有两个分区,分别是合法取值、非法取值。由于SET_PRIORITY_1仅覆盖了参数PROCESS_ID的一种数据分区(此ID指示的进程不存在)和PRIORITY一种分区(合法取值),得到T0 的输入参数覆盖率为40%。继续补充测试用例集,得到T’={SET_PRIORITY_1, SET_PRIORITY_2, SET_PRIORITY_3},可达到输入参数100%测试目标。
以上实施方式仅用于说明本发明,而非对本发明的限制。相关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变形。因此,所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
本发明具有如下优点:
1)可客观地定义标准符合性,为操作系统软件的开发和测试提供依据。传统测试方法缺乏对标准符合性测试的范围和程度进行有效的定义,标准多为定性地描述,标准符合性多依赖于开发人员对于标准的主观理解,标准符合性测试设计依赖于测试人员的经验和技能。本发明中通过建立接口模型,明确了标准符合性的内涵,为标准符合性测试提供了客观的依据。
2)可定量评估测试质量,以促进操作系统软件的测试改进。本发明提出了多层次的度量方法,可从多个角度刻画测试的充分程度,有助于分析测试的深度、广度和强度。测试深度是指所测试所覆盖的被测软件的颗粒度,例如数据分区取值、数据组合、独立功能和功能组合。测试广度是指测试所覆盖的接口标准的范围,例如接口的分类和数量。测试强度是指测试用例的数量和针对不同软件特性的分布。

Claims (1)

1.一种基于接口模型的操作系统标准符合性测试的充分性评估法,其特征在于,是在一台计算机中,针对一个已经通过标准符合性测试的操作系统软件S依次按照以下步骤进行充分性评估的:
步骤(1) 计算机初始化:
输入:根据所述操作系统软件S建立接口模型,其中包括:数据模型和功能模型:
数据模型:包括数据池的每个数据分区内所包含的所有测试数据,
功能模型:各个接口的包括输入参数和输出参数在内的接口参数以及对应的接口功能,
还包括:已经在所述操作系统软件S中通过标准符合性测试的测试用例集合T,
步骤(2) 依次按以下步骤进行标准符合性测试的充分性评估:
步骤(2.1) 按以下公式计算接口输入参数的覆盖率
Figure FDA0000240220441
Figure FDA0000240220442
其中,
●k为接口I的序号,
为接口Ik的一组输入参数集合,
步骤(2.2)按下式计算接口Ik的输入参数-输出参数两者组合的覆盖率
Figure FDA0000240220444
Figure FDA0000240220445
其中,
Figure FDA0000240220446
是接口Ik的所有输入参数-输出参数组合参数对集合,
Figure FDA0000240220447
为接口Ik的一组输入参数,
Figure FDA0000240220448
为接口Ik的一组输出参数,
步骤(2.3) 按下式计算特定接口的接口功能覆盖率
Cov ( T , I k 0 ) = γ 1 Σ p i ∈ P in I k 0 λ i Cov ( T , p i ) | P in I k 0 | + γ 2 Σ q j ∈ P in - out I k 0 β j Cov ( T , q j ) | P in - out I k 0 |
其中
Figure FDA00002402204412
表示特定接口
Figure FDA00002402204413
的输入参数集合中元素的个数,
Figure FDA00002402204415
表示特定接口
Figure FDA00002402204416
的输入参数-输入参数组合集合中元素的个数,
Figure FDA00002402204418
是接口输入参数集合
Figure FDA00002402204419
中的任意一个元素,i表示元素序列i=1,2,…,
Figure FDA00002402204420
,且
Figure FDA00002402204421
Figure FDA00002402204422
是接口输入参数-输出参数组合参数对集合
Figure FDA00002402204423
中的任意一个元素,j表示元素序列j=1,2, …, 
Figure FDA00002402204424
,且
●γ1,γ2,λi,和βj分别表示权值系数,其中,
a)λi是接口
Figure FDA00002402204426
每一个输入参数pi的覆盖Cov(T,pi)的权重,表明在所有接口输入参数中,pi对实现接口功能的重要程度,满足以下约束条件:
Σ i = 1 | P in I k 0 | λ i = 1
b)βj是接口
Figure FDA00002402204428
每一个输入参数-输出参数组合qj的覆盖Cov(T,qj)的权重,表明在所有接口输入参数-输出参数组合中,qj的重要程度,满足以下约束条件:
Σ j = 1 | P in - out I k 0 | β j = 1
c)γ1是接口
Figure FDA00002402204430
输入参数覆盖率的权重,表明其相对于输入参数-输出参数组合覆盖率,对标准符合性测试的充分性评估的重要程度;
d)γ2是接口
Figure FDA00002402204431
输入参数-输出参数组合覆盖率的权重,表明其相对于输入参数覆盖率,对标准符合性测试的充分性评估的重要程度;
e)γ1和γ2满足以下约束条件:
γ12=1,
步骤(2.4) 按下式计算接口功能组合的覆盖率Cov(T,I*),I*表示针对系统S的一组标准接口的合法的功能组合集合,
Figure FDA00002402204432
步骤(2.5)按下式计算系统综合覆盖率Cov(T,S):
Cov ( T , S ) = Γ 1 Σ I k ∈ I ρ k Cov ( T , I k ) | I | + Γ 2 Σ I l * ∈ I * ω l Cov ( T , I l * ) | I * | ,
其中
●I是系统S的所有接口的集合,|I|表示I中元素的个数,
●I*表示系统S的接口功能组合的集合,|I*|表示I*中元素的个数,
●Ik∈I是接口集合I中的任意一个元素,k表示元素序列(k=1,2, …, |I|),Cov(T, Ik)由步骤2.3计算获得,
Figure FDA00002402204434
是接口功能组合集合I*中的任意一个元素,l表示元素序列(l=1,2, …, |I*|),且
Figure FDA00002402204435
●Γ1,Γ2,ρk,和ωl分别表示权值系数,其中,
a)ρk是系统S的接口Ik的覆盖率Cov(T,Ik)的权重,表明在所有接口中,Ik对实现系统功能的重要程度,满足以下约束条件:
Σ k = 1 | I | ρ k = 1
b)ωl是系统S的接口组合
Figure FDA00002402204437
的覆盖
Figure FDA00002402204438
的权重,表明在所有功能组合中,
Figure FDA00002402204439
功能组合覆盖对于系统功能实现的重要程度,满足以下约束条件:
Σ l = 1 | I * | ω l = 1
c)Γ1是接口功能覆盖率的权重,表明其相对于功能组合覆盖率,对标准符合性测试的充分性评估的重要程度;
d)Γ2是接口功能组合覆盖率的权重,表明其相对于接口功能覆盖率,对标准符合性测试的充分性评估的重要程度;
e)Γ1和Γ2满足以下约束条件:
Γ12=1,
步骤(3) 基于覆盖率的测试集选择
依次按以下步骤根据测试覆盖率,从已有的测试用例集T中,选择测试用例集合T′:
步骤(3.1)设定测试覆盖率目标
设定接口输入参数、接口输入参数-输出参数组合、接口功能、接口功能组合、以及系统综合覆盖率指标,作为操作系统S标准符合性测试的测试目标;
步骤(3.2)按照以下步骤,从测试用例集T中选择初始测试用例集合T0,T′=T0,
初始用例集的选择可采用以下任意一种:
1)随机选择;或者
2)根据标准符合性测试的历史数据,选取一组覆盖率最高的测试用例;或者
3)针对重点关注的接口,选取该接口所对应的一组覆盖率最高的测试用例,
步骤(3.3)按照上述步骤(2)计算测试用例集合T′的覆盖率,并判定是否满足步骤(3.1)中所设定的测试覆盖率目标,如果满足,结束退出;否则,选取新的测试用例集Tm补充到已有的测试用例集中,即T′=T′+Tm,Tm可采用以下方式从测试用例集T中选择:
1)随机选择;或者
2)根据标准符合性测试的历史数据,选取一组覆盖率最高的测试用例;或者
3)针对覆盖率最低的接口,选取该接口所对应的一组覆盖率最高的测试用例。
CN201210459123.2A 2012-11-14 2012-11-14 一种基于接口模型的操作系统标准符合性测试的充分性评估方法 Active CN102945204B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210459123.2A CN102945204B (zh) 2012-11-14 2012-11-14 一种基于接口模型的操作系统标准符合性测试的充分性评估方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210459123.2A CN102945204B (zh) 2012-11-14 2012-11-14 一种基于接口模型的操作系统标准符合性测试的充分性评估方法

Publications (2)

Publication Number Publication Date
CN102945204A true CN102945204A (zh) 2013-02-27
CN102945204B CN102945204B (zh) 2015-01-21

Family

ID=47728152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210459123.2A Active CN102945204B (zh) 2012-11-14 2012-11-14 一种基于接口模型的操作系统标准符合性测试的充分性评估方法

Country Status (1)

Country Link
CN (1) CN102945204B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294174A (zh) * 2016-08-19 2017-01-04 北京航空航天大学 测试充分性的多维度度量方法及装置
CN107942733A (zh) * 2017-12-15 2018-04-20 四川汉科计算机信息技术有限公司 模型测试系统
CN108108278A (zh) * 2017-12-26 2018-06-01 北京国睿中数科技股份有限公司 验证总线端口功能覆盖率的方法及系统
CN108415846A (zh) * 2018-04-19 2018-08-17 挖财网络技术有限公司 一种生成最小自动化测试用例集的方法和装置
CN109189666A (zh) * 2018-08-02 2019-01-11 腾讯科技(北京)有限公司 接口测试方法、装置和计算机设备
CN110196800A (zh) * 2018-02-24 2019-09-03 财付通支付科技有限公司 分布式事务测试方法、装置及系统
CN111176991A (zh) * 2019-12-23 2020-05-19 北京轩宇信息技术有限公司 一种嵌入式软件接口用例自动化生成方法
CN111783930A (zh) * 2019-04-03 2020-10-16 南京大学 一种基于路径状态的神经网络测试充分性评估方法
CN115061932A (zh) * 2022-06-29 2022-09-16 中国联合网络通信集团有限公司 回归测试方法、装置和设备
CN116467211A (zh) * 2023-04-26 2023-07-21 北京计算机技术及应用研究所 一种基于数字化仿真环境的系统级测试验证方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017457A (zh) * 2007-02-09 2007-08-15 山东浪潮齐鲁软件产业股份有限公司 一种计算机软件的自动化测试方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017457A (zh) * 2007-02-09 2007-08-15 山东浪潮齐鲁软件产业股份有限公司 一种计算机软件的自动化测试方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
XIAOYING BAI ET AL: "《Computer Software and Applications Conference Workshops,(COMPSACW), 2011 IEEE 35th Annual》", 18 July 2011, article "Interface-Based Automated Testing for Open Software Architecture", pages: 149 - 154 *
伦立军等: "软件测试充分性研究", 《计算机工程与应用》, no. 3, 21 January 2004 (2004-01-21), pages 60 - 62 *
缪淮扣等: "UML状态测试充分性准则的公理化评估", 《上海大学学报(自然科学版)》, vol. 13, no. 5, 30 October 2007 (2007-10-30), pages 489 - 496 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294174A (zh) * 2016-08-19 2017-01-04 北京航空航天大学 测试充分性的多维度度量方法及装置
CN106294174B (zh) * 2016-08-19 2018-11-02 北京航空航天大学 测试充分性的多维度度量方法及装置
CN107942733A (zh) * 2017-12-15 2018-04-20 四川汉科计算机信息技术有限公司 模型测试系统
CN108108278B (zh) * 2017-12-26 2021-07-30 北京国睿中数科技股份有限公司 验证总线端口功能覆盖率的方法及系统
CN108108278A (zh) * 2017-12-26 2018-06-01 北京国睿中数科技股份有限公司 验证总线端口功能覆盖率的方法及系统
CN110196800B (zh) * 2018-02-24 2023-05-12 财付通支付科技有限公司 分布式事务测试方法、装置及系统
CN110196800A (zh) * 2018-02-24 2019-09-03 财付通支付科技有限公司 分布式事务测试方法、装置及系统
CN108415846B (zh) * 2018-04-19 2021-10-15 挖财网络技术有限公司 一种生成最小自动化测试用例集的方法和装置
CN108415846A (zh) * 2018-04-19 2018-08-17 挖财网络技术有限公司 一种生成最小自动化测试用例集的方法和装置
CN109189666A (zh) * 2018-08-02 2019-01-11 腾讯科技(北京)有限公司 接口测试方法、装置和计算机设备
CN111783930A (zh) * 2019-04-03 2020-10-16 南京大学 一种基于路径状态的神经网络测试充分性评估方法
CN111783930B (zh) * 2019-04-03 2024-03-12 南京大学 一种基于路径状态的神经网络测试充分性评估方法
CN111176991A (zh) * 2019-12-23 2020-05-19 北京轩宇信息技术有限公司 一种嵌入式软件接口用例自动化生成方法
CN115061932A (zh) * 2022-06-29 2022-09-16 中国联合网络通信集团有限公司 回归测试方法、装置和设备
CN116467211A (zh) * 2023-04-26 2023-07-21 北京计算机技术及应用研究所 一种基于数字化仿真环境的系统级测试验证方法
CN116467211B (zh) * 2023-04-26 2023-09-26 北京计算机技术及应用研究所 一种基于数字化仿真环境的系统级测试验证方法

Also Published As

Publication number Publication date
CN102945204B (zh) 2015-01-21

Similar Documents

Publication Publication Date Title
CN102945204B (zh) 一种基于接口模型的操作系统标准符合性测试的充分性评估方法
US10025696B2 (en) System and method for equivalence class analysis-based automated requirements-based test case generation
Rushby Quality measures and assurance for ai (artificial intelligence) software
CN103235759B (zh) 测试用例生成方法和装置
CN106415504B (zh) 测试用例生成系统及记录测试用例的记录介质
Li et al. Classification of software defect detected by black-box testing: An empirical study
Siavvas et al. A hierarchical model for quantifying software security based on static analysis alerts and software metrics
Faunes et al. Automatically searching for metamodel well-formedness rules in examples and counter-examples
Brown et al. Software testing
Kadziński et al. Multiple criteria ranking and choice with all compatible minimal cover sets of decision rules
González et al. Test data generation for model transformations combining partition and constraint analysis
Bendell et al. Software Reliability: State of the Art Report 14: 2
Hammani Survey of non-functional requirements modeling and verification of software product lines
Soremekun et al. Software fairness: An analysis and survey
CN115098389A (zh) 一种基于依赖模型的rest接口测试用例生成方法
Bhatti Automatic measurement of source code complexity
US20180217922A1 (en) Application testing
CN109743200B (zh) 基于资源特征的云计算平台计算任务成本预测方法及系统
Yu et al. Generating, selecting and prioritizing test cases from specifications with tool support
Abrahao et al. Assessing the reproducibility and accuracy of functional size measurement methods through experimentation
Ryser et al. On the State of the Art in Requirements-based Validation and Test of Software
CN114462043A (zh) 基于强化学习的Java反序列化漏洞检测系统及方法
CN113485940A (zh) 一种基于参数抽象建模的组合测试用例生成方法
CN113505283A (zh) 一种测试数据的筛选方法及系统
Zaim et al. Software Defect Prediction Framework Using Hybrid Software Metric

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