首页> 中国专利> 一种基于框架的实时嵌入式软件可测试性测量方法

一种基于框架的实时嵌入式软件可测试性测量方法

摘要

本发明公开了一种基于框架的实时嵌入式软件可测试性测量方法,属于实时嵌入式软件测试技术领域,所述的方法包括实时嵌入式软件可测试性度量框架构建和实时嵌入式软件可测试性测量,具体为首先确定实时嵌入式软件的测试性因素度量、易测试特性度量,构造度量框架;然后确定实时嵌入式软件的测试情况;进行测试性因素度量选择;最后度量计算完成。与现有技术相比,本发明提供的可测试性测量方法基于框架进行,针对实时嵌入式软件不同的测试情况进行,能够得到实时嵌入式软件在不同测试情况下的可测试性;采用模糊综合评价的方式进行计算,不但将原本模糊的易测试特性和可测试性定量化,使之能够进行准确的比较,评价的结果更为全面和准确。

著录项

  • 公开/公告号CN101976222A

    专利类型发明专利

  • 公开/公告日2011-02-16

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN201010530514.X

  • 发明设计人 付剑平;刘斌;陆民燕;

    申请日2010-11-03

  • 分类号G06F11/36;

  • 代理机构北京永创新实专利事务所;

  • 代理人官汉增

  • 地址 100191 北京市海淀区学院路37号

  • 入库时间 2023-12-18 01:43:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-12-18

    未缴年费专利权终止 IPC(主分类):G06F11/36 授权公告日:20120725 终止日期:20121103 申请日:20101103

    专利权的终止

  • 2012-07-25

    授权

    授权

  • 2011-05-04

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20101103

    实质审查的生效

  • 2011-02-16

    公开

    公开

说明书

技术领域

本发明属于实时嵌入式软件测试技术领域,具体涉及一种基于框架的实时嵌入式软件可测试性测量方法。

背景技术

目前实时嵌入式系统正广泛地应用于航空航天、医疗、电信等领域,系统的可靠性成为人们关注的焦点。实时嵌入式系统中,软件承担功能的比重日益增加,软件的质量和可靠性已成为制约整个系统可靠性的瓶颈,为此需要对实时嵌入式软件进行各种类型的测试以保证软件质量。实时嵌入式软件一股与硬件的结合紧密、且具有较高的实时性要求,因此软件测试的难度较大,需要大量的时间和费用。可测试性是软件的一个质量属性,能够反映软件测试的难易程度。可测试性测量能在测试之前确定可测试性的各种度量,指出软件设计的不足之处,修改这些不足之处能够提高软件的可测试性,从而得到一个更易测试的软件。

可测试性测量能够获取的度量包括:测试性因素度量,能够影响可测试性的软件度量;易测试特性度量,与可测试性相关的软件特性的度量;可测试性度量,能表征可测试性大小的度量。相应的测量方法也可分为三类:测试性因素测量方法、易测试特性测量方法和可测试性测量方法。测试性因素测量方法获取软件的测试性因素度量,如面向对象系统的测试性因素度量、测试关键依赖、类交互等,见参考文献[1]:R.V.Binder.Design for Testability inObject-Oriented Systems[J].Communication of the ACM,1994,37(9):87-101;参考文献[2]:R.V.Binder.Design for Testability in Object-Oriented Systems[J].Communication of the ACM,1994,37(9):87-101;参考文献[3]:S.Jungmayr.Identifying Test-Critical Dependencies[C].Montreal:IEEE International Conference on Software Maintenance,2002:404-413。易测试特性测量方法通过各种方式确定软件的易测试特性度量,如通过程序的修改费用或信息丢失情况确定模块的可观察性和可控性,见参考文献[4]:Benoit Baudry,Yves Le Tran,Gerson Sunye.MeasuringDesign Testability of a UML Class Diagram[J].Information and Software Technology,2005,47(1):859-879;参考文献[5]:Roy S.Freedman.Testability of Software Components[J].IEEETransactions on Software Engineering,1991,17(6):553-564。可测试性测量方法考虑软件的需求、设计和实现,从一个或多个方面计算可测试性,其中又以基于实现的可测试性测量方法最为常见,如考虑程序复杂程度的控制图法、数据流法,考虑信息丢失或隐藏的DRR(DomainRange Ratio)度量、PIE(Propagaion Infection Execution)技术,以及基于软件故障树和熵的可测试性分析方法等。开发一个易测试的实时嵌入式软件需要可测试性、易测试特性和测试性因素三方面信息,上述方法中,或者只能测量测试性因素和可测试性度量、或者只能获取易测试特性和可测试性度量的取值,或者只能获得一类信息,无法满足实时嵌入式软件开发的需要。不仅如此,上述方法还只能测量软件在一定测试情况的可测试性,如测试关键依赖只反映了软件进行集成测试时的可测试性、控制图法只能确定软件进行白盒测试时的可测试性、PIE技术也只能测量软件进行随机测试时的可测试性,当软件的测试情况改变时,这些方法就不再适用。

发明内容

本发明针对现有技术中存在的缺陷和不足,提出一种基于框架的实时嵌入式软件可测试性测量方法,该方法能够测量实时嵌入式软件在各种测试情况的可测试性,并获取各类可测试性度量信息。

本发明提供的可测试性测量方法,根据实时嵌入式软件结构化、实时、嵌入的特点,确定影响实时嵌入式软件的测试性因素,并确定各测试性因素的度量和适用的测试情况;然后总结实时嵌入式软件的易测试特性,将影响同一易测试特性的测试性因素度量合为一组;为可测试性和易测试特性定义度量,根据可测试性、易测试特性以及测试性因素之间的关系组织相应的度量,构造一个实时嵌入式软件可测试性度量框架;最后根据待测量的实时嵌入式软件的测试情况,从框架中选择合适的度量计算可测试性。具体包括实时嵌入式软件可测试性度量框架构建和实时嵌入式软件可测试性测量两个步骤,所述的实时嵌入式软件可测试性度量框架构建通过如下步骤实现:(1)确定实时嵌入式软件的测试性因素度量;(2)确定易测试特性度量;(3)度量框架构造。

所述的实时嵌入式软件可测试性测量通过如下步骤实现:(a)确定实时嵌入式软件的测试情况;所述的测试情况包括待测量软件的测试层次、测试类型和测试方法,所述的测试层次、测试类型和测试方法是每一个实时嵌入式软件在开发之前就设定的已知量;(b)测试性因素度量选择;(c)度量计算。

所述的度量计算分层次进行,具体步骤如下:

(1)首先计算各测试性因素度量;

(2)然后以影响同一易测试特性的测试性因素度量为输入,采用模糊综合评价的方式计算各易测试特性度量;

(3)最后以易测试特性度量为输入,仍然采用模糊综合评价模型计算可测试性度量。

与现有技术相比,本发明在以下方面具有明显的优势:

1)本发明提供的可测试性测量方法基于框架进行,框架中的元素考虑了实时嵌入式软件的特点,符合软件的实际情况;

2)本发明针对实时嵌入式软件不同的测试情况进行,能够得到实时嵌入式软件在不同测试情况下的可测试性;

3)将原本复杂的测试性因素、易测试特性分析工作转化为从框架中选择度量的过程,简化了分析过程,减少了测量的时间和费用;

4)分层计算得到各类可测试性信息,既能为实时嵌入式软件的设计决策提供依据,也能直接指导实时嵌入式软件设计;

5)采用模糊综合评价的方式进行计算,不但将原本模糊的易测试特性和可测试性定量化,使之能够进行准确的比较;而且考虑了易测试特性和可测试性的各个方面,评价的结果更为全面和准确。

附图说明

图1为本发明提供的实时嵌入式软件可测试性测量方法的实施流程图;

图2为本发明提供的实时嵌入式软件可测试性度量框架的示意图;

图3为本发明提供的实时嵌入式软件可测试性测量方法的测量过程流程图;

图4为本发明实施例中提供的影响可理解性的测试性因素度量Pearson相关分析结果。

具体实施方式

本发明的具体实施方式如图1所示,分为实时嵌入式软件可测试性度量框架构建和可测试性测量两大过程,其中框架构建的目的是针对实时嵌入式软件的共同特点构造一个对各种实时嵌入式软件均适用的度量框架;在此基础上,对于具体的实时嵌入式软件应用可测试性测量过程完成测试性因素度量的选择和测试性因素度量、易测试特性度量以及可测试性度量的计算。具体实施过程如下:

(一)实时嵌入式软件可测试性度量框架构建;

1.确定实时嵌入式软件的测试性因素度量;

目前国内实时嵌入式软件大多由结构化方法开发,具有结构化、嵌入性和实时性的特点。结构化方法通常将程序划分为一系列模块,定义模块接口,使用控制流图或数据流图描述模块的内部处理,因此模块/接口的数目、程序流图的复杂程度等都会影响实时嵌入式软件的可测试性;嵌入性使得软件对硬件具有很强的依赖性,很多功能都需要软硬件共同实现,系统特性如系统的接口和输入输出情况等,都将影响实时嵌入式软件的可测试性;实时性要求系统在规定的总线周期内完成数据的发送和接收,与之对应,实时嵌入式软件的测试也需要在规定的时间内进行数据的激励和采集,因此一些与时间相关的特性也会影响到实时嵌入式软件的可测试性。除了上述实时嵌入式软件的独特之处,软件的一股特征如软件规模、软件需求/设计的表述程度、软件的自测试能力等也会影响到实时嵌入式软件的可测试性,因此归纳得到实时嵌入式软件的测试性因素度量如表1,各测试性因素度量的具体定义见表2。

表1实时嵌入式软件特点与测试性因素度量对照表

表2实时嵌入式软件测试性因素度量定义

测试性因素度量一股只能指示某些测试情况下的可测试性,为此本发明从测试层次、测试类型和测试方法三个方面分析了实时嵌入式软件测试性因素度量适用的测试情况,分析的结果如表3所示,其中NULL表示无论该测试情况为何值,度量均适用。

表3测试性因素度量适用的测试情况

2.确定易测试特性度量;

易测试特性是实时嵌入式软件中与可测试性相关的软件特性,代表了软件可测试性的不同方面,总结实时嵌入式软件的易测试特性有可理解性、可控性、可观察性、测试支持能力、简单性、可分解性、适用性、可跟踪性和敏感性,分别为它们定义易测试特性度量如表4:

表4实时嵌入式软件易测试特性度量

可测试性分解为易测试特性,测试性因素能够影响可测试性的不同方面,实际是影响了各个不同的易测试特性。根据影响的易测试特性的不同,实时嵌入式软件的测试性因素度量可划分为不同的分组,如表5所示,由于测试性因素可能不只影响一个易测试特性,各测试性因素度量分组之间可能存在相同的测试性因素度量。

表5实时嵌入式软件测试性因素度量划分

3.度量框架构造;

可测试性、易测试特性以及测试性因素三者中,测试性因素影响易测试特性、易测试特性又组成了可测试性。根据它们之间的关系,可将它们的度量构成一个层次化体系结构。结构分为三层:底层,测试性因素度量集合;中间层,易测试特性度量集合;顶层,可测试性度量。各层之间用连线表示元素之间的关系。将上述实时嵌入式软件的测试性因素度量(见表2)、易测试特性度量(见表4)纳入其中,再根据测试性因素度量与易测试特性之间的关系(见表5)建立连线,得到实时嵌入式软件的可测试性度量框架如图2,其中可测试性度量ST定义为对软件进行测试、发现软件缺陷的难易程度。

(二)实时嵌入式软件可测试性测量;

构造实时嵌入式软件可测试性度量框架后,对于某个具体的实时嵌入式软件,可测试性测量的过程如图3所示,包括以下步骤:

1.确定实时嵌入式软件的测试情况;

所述的测试情况包括待测量软件的测试层次、测试类型和测试方法。所述的测试层次、测试类型和测试方法是每一个待测量的实时嵌入式软件在开发之前就设定的已知量。

2.测试性因素度量选择;

根据待测量软件的测试情况,从度量框架中选择合适的测试性因素度量,选择的标准如下:

a.测试性因素度量的测试层次包含待测量软件要求的测试层次或为NULL;

b.测试性因素度量的测试类型包含待测量软件要求的某种测试类型或为NULL;

c.测试性因素度量的测试方法包含待测量软件预计使用的某种测试方法或为NULL。

上述三个条件需要同时满足。

3.度量计算:

(1)测量测试性因素;

根据选出的测试性因素度量的定义,从待测量软件的需求、设计和代码中收集相应的信息,确定各测试性因素度量的取值。

(2)测量易测试特性;

以影响同一易测试特性的测试性因素度量为输入,根据模糊综合评价模型计算易测试特性度量。影响同一易测试特性的测试性因素度量中,有些度量对易测试特性的作用相同,重复考虑会影响易测试特性测量的准确性,为此本发明计算度量之间的Pearson相关系数r,判断度量是否显著相关(|r|>0.95),对于显著相关的度量只选取其中的一个进行易测试特性计算。

所述的模糊综合评价模型具有两个基础集合,因素集F和评价集L。其中因素集由评价对象的判别因素构成,当评价对象是易测试特性时,因素集F由影响该易测试特性的测试性因素构成;当评价对象是可测试性时,因素集F又由易测试特性构成。评价集L是人们对评价对象各种评价的集合,考虑到工程的需要和简洁性,模糊综合评价模型将各种评价对象都划分为3级:好(l1)、一般(l2)、差(l3),对应的评价集L为:L={l1,l2,l3}。

模糊综合评价模型的计算过程如下:

(a)单因素评价;

单因素评价是从单个因素出发,确定因素对评价集的隶属度。在此之前,需要先确定因素fi(i=1,2,...,n)对模糊集的隶属函数然后建立从因素集F到Γ(L)的模糊映射其中Γ(L)是评价集L上所有模糊子集构成的集合,对于任意的因素fi,有fi∈F,

fi|f~(fi)=(ri1,ri2,ri3)=(L~1(fi),L~2(fi),L~3(fi)).---(1)

式中ri1,ri2,ri3表示因素fi与评价l1,l2,l3的相关程度,用隶属函数表示,当因素取值确定时,通过隶属函数就能确定ri1,ri2,ri3的取值。由式(1)可得单因素评价集再以单因素评价集(i=1,2,...,n)为行就组成了单因素评价矩阵即:

R~=r11r12r13r21r22r23.........rn1rn2rn3=L~1(f1)L~2(f1)L~3(f1)L~1(f2)L~2(f2)L~3(f2).........L~1(fn)L~2(fn)L~3(fn)

(b)权重计算;

使用层次分析法计算因素相对评价对象的权重:首先使用9标度法、通过两两对比建立判断矩阵,然后使用特征向量法计算各因素的权重wi(i=1,2,...,n),最后进行一致性检验。wi应满足归一性和非负性条件,即

Σi=1nwi=1,wi0---(2)

(c)综合评价;

组合各因素的权重wi(i=1,2,...,n)可得到一个权重向量确定单因素评价矩阵和权重向量后,通过式(3)得到评价对象的一个综合评价

B~=W~*R~=(w1,w2,...,wn)r11r12r13r21r22r23.........rn1rn2rn3=(b1,b2,b3)---(3)

其中

bj=Σi=1nwirij,j=1,2,3.---(4)

综合评价确定后,根据最大隶属原则,bj(j=1,2,3)中哪个最大,评价对象就处于相应的等级lj

(d)量化计算;

仅了解评价对象所处的等级显然还不够准确,处于同一等级的事物之间也可能存在差异,为此需要将模糊综合评价的结果用一个数值表示。本文将综合评价归一化后作为权重B~={b,j|j=1,2,3},

bj=bjΣi=13bi---(5)

将评价集L中的等级用1分制量化L’=(1.0,0.7,0.3),最后将评价结果加权平均作为评价对象的量化取值O:

O=B~*LT---(6)

(3)测量可测试性。

以易测试特性度量为输入,根据模糊综合评价模型计算可测试性度量。

实施例

应用本发明提供的方法测量了2个显示控制管理系统(DCMS)和2个任务计算机系统(MCS)软件的可测试性。DCMS和MCS是航电系统的两个重要的子系统。其中DCMS负责接收、显示来自其它子系统的数据,根据飞行员指令控制其它子系统;MCS根据传感器数据计算飞机姿态,执行飞行管理和火控解算等功能。4个系统的大部分功能都由内嵌的软件实现,分别记为DCMSα、DCMSβ、MCSα和MCSβ,其中β版为α版的升级版本。下面详述DCMSα的可测试性测量过程:

1.测试情况分析;

根据DCMSα的测试要求确定其测试情况如表6:

表6软件测试情况

2.因素选择;

根据表6所示的测试情况,从实时嵌入式软件可测试性度量框架的测试性因素度量列表(表2)中选出27个满足要求的测试性因素度量,分别为:FPI,NNFR,KLOC,CORAD,CODAI,COR,COD,FRR,ERR,QRR,ARD,ARI,NEI,NEO,AEIDL,LOEIDS,NCS,SOR,SIR,NIT,IPmin,RC,MCC,ISCC,OPmin,ISOC,EOI。

3.测量测试性因素;

根据DCMSα软件的需求、设计和编码情况,参照表2中的定义计算各测试性因素度量的取值如表7:

表7DCMSα测试性因素度量取值

  度量  值  度量  值  度量  值  FPI  75  QRR  0.5465  SIR  1  NNFR  21  ARD  0.9651  NIT  5  KLOC  183  ARI  0.6163  IPmin/(ms)  20  CORAD  0.1429  NEI  115  RC  1  CODAI  0.1  NEO  95  MCC  1  COR  0.3333  AEIDL  1  ISCC  0.1116  COD  0.2  LOEIDS  2.6895  OPmin/(ms)  20  FRR  0.9651  NCS  15  ISOC  0.1488  ERR  0.9302  SOR  1  EO1  0.7071

4.测量易测试特性;

将影响DCMSα同一易测试特性的测试性因素度量分组,使用SPSS工具计算它们的Pearson相关系数,对于显著相关的度量,仅选取其中的一个纳入对应的测试性因素度量集合。以可理解性为例,影响DCMSα可理解性的测试性因素度量包括CORAD,CODAI,COR,COD,FRR,ERR,QRR,ARD,ARI,AEIDL和LOEIDS,使用SPSS对它们进行Pearson相关分析,结果如图4,其中COD与COR显著相关、ARD与ERR显著相关,因此选择COR和ARD,最后确定可理解性的测试性因素度量集合为{CORAD,CODAI,COR,FRR,QRR,ARD,ARI,AEIDL,LOEIDS}。通过上述方式确定DCMSα各易测试特性对应的测试性因素度量集合如表8:

表8易测试特性及相关测试性因素度量集合

使用表8中的测试性因素度量集合计算对应的易测试特性,以可跟踪性为例,计算过程如下:

a.单因素评价;

如表8所示,可跟踪性的因素集F={NEO,MCC,OPmin,ISOC}。其中f1=NEO越大、软件越复杂、软件越难跟踪,因此可为隶属函数指派偏小型模糊分布、指派中间型模糊分布、指派偏大型模糊分布,具体函数如下:

L~1(f1)=1,f1<10e-0.005(f1-10),f110---(7)

L~2(f1)=e0.1(f1-50),f1<501,50f1<100e-0.1(f1-100),f1100---(8)

L~3(f1)=0,f1<2001-e-0.006(f1-200),f1200---(9)

由表7可知f1=NEO的计算值为95,将其代入式(7)~(9)得到由此得到NEO的单因素评价集同样确定MCC、OPmin、ISOC的隶属函数并得到它们的单因素评价集最后组合各单因素评价集得到可跟踪性的单因素评价矩阵

R~=0.6538101000.09060.04980.13670.00490.98260.42

b.权重计算;

使用层次分析法得到评价集F中各因素的权重,组合得到权重向量W~=(0.0876,0.0564,0.2663,0.5897).

c.综合评价;

使用单因素评价矩阵和权重向量得到DCMSα可跟踪性的一个综合评价:

B~=W~*R~

=(0.0876,0.0564,0.2663,0.5897)*0.6538101000.09060.04980.13670.00490.98260.42

=(0.1407,0.6803,0.2841)

由于b2=0.6803最大,根据最大隶属原则可以确定DCMSα的可跟踪性等级为一股(l2)。

d.量化计算;

根据式(5),将综合评价归一化后得到再将评价结果加权平均作为可跟踪性的定量取值:

|Tra|=B~*LT

=(0.1273,0.6156,0.2573)*10.70.3

=0.6354

重复上述过程a-d,得到可理解性、可控性、可观察性、测试支持能力、简单性、可分解性、适用性和敏感性的度量取值分别为:|Und|=0.9492,|Con|=0.7386,|Obv|=0.7901,|TSC|=0.903,|Sim|=0.8134,|Dec|=0.7,|App|=0.6642,|Sen|=0.6606。

5.测量可测试性

以上述易测试特性度量集为因素集,F={Und,Con,Obv,TSC,Sim,Dec,App,Tra,Sen},使用模糊计算模型计算DCMSα的可测试性度量,过程与易测试特性度量的计算过程类似。其中单因素评价矩阵:

R~=0.97600.011200.32020.092010.0550.92380.0050.01780.285210.043500.00670.135300.00020.1936000.258300.00010.2006,

权重向量得到DCMSα可测试性的一个综合评价归一化后DCMSα可测试性的度量值

结果分析:

1)由DCMSα的可测试性测量过程可知,本发明提供的方法能够根据软件的测试情况选择不同的测试性因素,在此基础上测量软件的易测试特性和可测试性,因此满足了实时嵌入式软件在不同测试情况下的可测试性测量需要;

2)测量过程依次提供了DCMSα的测试性因素度量、易测试特性度量和可测试性度量,设计人员既能根据提供的信息决定是否需要改进软件,也能确定软件的哪些方面需要进行改进;

3)可测试性反映软件测试的难易程度,测试的难易程度又能用测试执行的用例数目判断,因此可测试性大小也能通过执行的用例数目比较。用例越多,表明软件越难进行测试,可测试性越低;用例越少,软件越易进行测试,可测试性越高。测量的4个软件中,DCMSα最终执行了2898个测试用例,DCMSβ执行了3340个测试用例,MCSα执行了1516个测试用例,MCSβ执行了1390个测试用例,因此它们的可测试性大小为:MCSβ>MCSα>DCMSα>DCMSβ。应用本发明提供的方法计算4个软件的可测试性大小为:|DCMSα|=0.7477,|DCMSβ|=0.7434,|MCSα|=0.776,|MCSβ|=0.7789,计算的结果与实际情况吻合。

4)测量的4个软件中,规模最小的MCSα的C代码行数也超过了3万行,花费却仅为一个度量人员不到5小时的工作时间,远低于参考文献[6]中记载的测量费用(3000行C代码使用自动检测工具耗时27小时)。参考文献[6]:Jeffrey M.Voas,Keith W.Miller,Jeffery E.Payne.Software Testability and Its Application to Avionic Software[R].AIAA-93-4542-CP.507-515。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号