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

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

Info

Publication number
CN101976222A
CN101976222A CN 201010530514 CN201010530514A CN101976222A CN 101976222 A CN101976222 A CN 101976222A CN 201010530514 CN201010530514 CN 201010530514 CN 201010530514 A CN201010530514 A CN 201010530514A CN 101976222 A CN101976222 A CN 101976222A
Authority
CN
China
Prior art keywords
testability
factor
real
embedded software
time embedded
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
CN 201010530514
Other languages
English (en)
Other versions
CN101976222B (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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN201010530514XA priority Critical patent/CN101976222B/zh
Publication of CN101976222A publication Critical patent/CN101976222A/zh
Application granted granted Critical
Publication of CN101976222B publication Critical patent/CN101976222B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

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

Description

一种基于框架的实时嵌入式软件可测试性测量方法
技术领域
本发明属于实时嵌入式软件测试技术领域,具体涉及一种基于框架的实时嵌入式软件可测试性测量方法。
背景技术
目前实时嵌入式系统正广泛地应用于航空航天、医疗、电信等领域,系统的可靠性成为人们关注的焦点。实时嵌入式系统中,软件承担功能的比重日益增加,软件的质量和可靠性已成为制约整个系统可靠性的瓶颈,为此需要对实时嵌入式软件进行各种类型的测试以保证软件质量。实时嵌入式软件一股与硬件的结合紧密、且具有较高的实时性要求,因此软件测试的难度较大,需要大量的时间和费用。可测试性是软件的一个质量属性,能够反映软件测试的难易程度。可测试性测量能在测试之前确定可测试性的各种度量,指出软件设计的不足之处,修改这些不足之处能够提高软件的可测试性,从而得到一个更易测试的软件。
可测试性测量能够获取的度量包括:测试性因素度量,能够影响可测试性的软件度量;易测试特性度量,与可测试性相关的软件特性的度量;可测试性度量,能表征可测试性大小的度量。相应的测量方法也可分为三类:测试性因素测量方法、易测试特性测量方法和可测试性测量方法。测试性因素测量方法获取软件的测试性因素度量,如面向对象系统的测试性因素度量、测试关键依赖、类交互等,见参考文献[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实时嵌入式软件测试性因素度量定义
Figure BDA0000030615360000042
Figure BDA0000030615360000071
测试性因素度量一股只能指示某些测试情况下的可测试性,为此本发明从测试层次、测试类型和测试方法三个方面分析了实时嵌入式软件测试性因素度量适用的测试情况,分析的结果如表3所示,其中NULL表示无论该测试情况为何值,度量均适用。
表3测试性因素度量适用的测试情况
Figure BDA0000030615360000072
Figure BDA0000030615360000081
2.确定易测试特性度量;
易测试特性是实时嵌入式软件中与可测试性相关的软件特性,代表了软件可测试性的不同方面,总结实时嵌入式软件的易测试特性有可理解性、可控性、可观察性、测试支持能力、简单性、可分解性、适用性、可跟踪性和敏感性,分别为它们定义易测试特性度量如表4:
表4实时嵌入式软件易测试特性度量
Figure BDA0000030615360000091
可测试性分解为易测试特性,测试性因素能够影响可测试性的不同方面,实际是影响了各个不同的易测试特性。根据影响的易测试特性的不同,实时嵌入式软件的测试性因素度量可划分为不同的分组,如表5所示,由于测试性因素可能不只影响一个易测试特性,各测试性因素度量分组之间可能存在相同的测试性因素度量。
表5实时嵌入式软件测试性因素度量划分
Figure BDA0000030615360000101
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)对模糊集的隶属函数
Figure BDA0000030615360000112
然后建立从因素集F到Γ(L)的模糊映射
Figure BDA0000030615360000113
其中Γ(L)是评价集L上所有模糊子集构成的集合,对于任意的因素fi,有fi∈F,
f i | → f ~ ( f i ) = ( r i 1 , r i 2 , r i 3 ) = ( L ~ 1 ( f i ) , L ~ 2 ( f i ) , L ~ 3 ( f i ) ) . - - - ( 1 )
式中ri1,ri2,ri3表示因素fi与评价l1,l2,l3的相关程度,用隶属函数
Figure BDA0000030615360000115
表示,当因素取值确定时,通过隶属函数就能确定ri1,ri2,ri3的取值。由式(1)可得单因素评价集
Figure BDA0000030615360000116
再以单因素评价集
Figure BDA0000030615360000117
(i=1,2,...,n)为行就组成了单因素评价矩阵
Figure BDA0000030615360000118
即:
R ~ = r 11 r 12 r 13 r 21 r 22 r 23 . . . . . . . . . r n 1 r n 2 r n 3 = L ~ 1 ( f 1 ) L ~ 2 ( f 1 ) L ~ 3 ( f 1 ) L ~ 1 ( f 2 ) L ~ 2 ( f 2 ) L ~ 3 ( f 2 ) . . . . . . . . . L ~ 1 ( f n ) L ~ 2 ( f n ) L ~ 3 ( f n )
(b)权重计算;
使用层次分析法计算因素相对评价对象的权重:首先使用9标度法、通过两两对比建立判断矩阵,然后使用特征向量法计算各因素的权重wi(i=1,2,...,n),最后进行一致性检验。wi应满足归一性和非负性条件,即
Σ i = 1 n w i = 1 , w i ≥ 0 - - - ( 2 )
(c)综合评价;
组合各因素的权重wi(i=1,2,...,n)可得到一个权重向量
Figure BDA0000030615360000122
确定单因素评价矩阵
Figure BDA0000030615360000123
和权重向量
Figure BDA0000030615360000124
后,通过式(3)得到评价对象的一个综合评价
Figure BDA0000030615360000125
B ~ = W ~ * R ~ = ( w 1 , w 2 , . . . , w n ) r 11 r 12 r 13 r 21 r 22 r 23 . . . . . . . . . r n 1 r n 2 r n 3 = ( b 1 , b 2 , b 3 ) - - - ( 3 )
其中
b j = Σ i = 1 n w i r ij , j = 1,2,3 . - - - ( 4 )
综合评价
Figure BDA0000030615360000128
确定后,根据最大隶属原则,bj(j=1,2,3)中哪个最大,评价对象就处于相应的等级lj
(d)量化计算;
仅了解评价对象所处的等级显然还不够准确,处于同一等级的事物之间也可能存在差异,为此需要将模糊综合评价的结果用一个数值表示。本文将综合评价
Figure BDA0000030615360000129
归一化后作为权重 B ~ ′ = { b , j | j = 1,2,3 } ,
b j ′ = b j Σ i = 1 3 b i - - - ( 5 )
将评价集L中的等级用1分制量化L’=(1.0,0.7,0.3),最后将评价结果加权平均作为评价对象的量化取值O:
O = B ~ ′ * L ′ T - - - ( 6 )
(3)测量可测试性。
以易测试特性度量为输入,根据模糊综合评价模型计算可测试性度量。
实施例
应用本发明提供的方法测量了2个显示控制管理系统(DCMS)和2个任务计算机系统(MCS)软件的可测试性。DCMS和MCS是航电系统的两个重要的子系统。其中DCMS负责接收、显示来自其它子系统的数据,根据飞行员指令控制其它子系统;MCS根据传感器数据计算飞机姿态,执行飞行管理和火控解算等功能。4个系统的大部分功能都由内嵌的软件实现,分别记为DCMSα、DCMSβ、MCSα和MCSβ,其中β版为α版的升级版本。下面详述DCMSα的可测试性测量过程:
1.测试情况分析;
根据DCMSα的测试要求确定其测试情况如表6:
表6软件测试情况
Figure BDA0000030615360000131
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易测试特性及相关测试性因素度量集合
Figure BDA0000030615360000141
使用表8中的测试性因素度量集合计算对应的易测试特性,以可跟踪性为例,计算过程如下:
a.单因素评价;
如表8所示,可跟踪性的因素集F={NEO,MCC,OPmin,ISOC}。其中f1=NEO越大、软件越复杂、软件越难跟踪,因此可为隶属函数指派偏小型模糊分布、
Figure BDA0000030615360000143
指派中间型模糊分布、
Figure BDA0000030615360000144
指派偏大型模糊分布,具体函数如下:
L ~ 1 ( f 1 ) = 1 , f 1 < 10 e - 0.005 ( f 1 - 10 ) , f 1 &GreaterEqual; 10 - - - ( 7 )
L ~ 2 ( f 1 ) = e 0.1 ( f 1 - 50 ) , f 1 < 50 1 , 50 &le; f 1 < 100 e - 0.1 ( f 1 - 100 ) , f 1 &GreaterEqual; 100 - - - ( 8 )
L ~ 3 ( f 1 ) = 0 , f 1 < 200 1 - e - 0.006 ( f 1 - 200 ) , f 1 &GreaterEqual; 200 - - - ( 9 )
由表7可知f1=NEO的计算值为95,将其代入式(7)~(9)得到
Figure BDA0000030615360000149
Figure BDA00000306153600001410
由此得到NEO的单因素评价集
Figure BDA00000306153600001411
同样确定MCC、OPmin、ISOC的隶属函数并得到它们的单因素评价集
Figure BDA0000030615360000151
最后组合各单因素评价集得到可跟踪性的单因素评价矩阵
R ~ = 0.6538 1 0 1 0 0 0.0906 0.0498 0.1367 0.0049 0.9826 0.42
b.权重计算;
使用层次分析法得到评价集F中各因素的权重,组合得到权重向量 W ~ = ( 0.0876,0.0564,0.2663,0.5897 ) .
c.综合评价;
使用单因素评价矩阵
Figure BDA0000030615360000154
和权重向量
Figure BDA0000030615360000155
得到DCMSα可跟踪性的一个综合评价:
B ~ = W ~ * R ~
= ( 0.0876,0.0564,0.2663,0.5897 ) * 0.6538 1 0 1 0 0 0.0906 0.0498 0.1367 0.0049 0.9826 0.42
= ( 0.1407,0.6803,0.2841 )
由于b2=0.6803最大,根据最大隶属原则可以确定DCMSα的可跟踪性等级为一股(l2)。
d.量化计算;
根据式(5),将综合评价
Figure BDA0000030615360000159
归一化后得到
Figure BDA00000306153600001510
再将评价结果加权平均作为可跟踪性的定量取值:
| Tra | = B ~ &prime; * L &prime; T
= ( 0.1273,0.6156,0.2573 ) * 1 0.7 0.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.976 0 0.0112 0 0.3202 0.092 0 1 0.055 0.9238 0.005 0.0178 0.2852 1 0.0435 0 0.0067 0.1353 0 0.0002 0.1936 0 0 0.2583 0 0.0001 0.2006 ,
权重向量
Figure BDA0000030615360000162
得到DCMSα可测试性的一个综合评价
Figure BDA0000030615360000163
归一化后
Figure BDA0000030615360000164
DCMSα可测试性的度量值
Figure BDA0000030615360000165
结果分析:
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。

Claims (5)

1.一种基于框架的实时嵌入式软件可测试性测量方法,其特征在于包括实时嵌入式软件可测试性度量框架构建和实时嵌入式软件可测试性测量两个步骤,具体地,所述的实时嵌入式软件可测试性度量框架构建通过如下步骤实现:(1)确定实时嵌入式软件的测试性因素度量;(2)确定易测试特性度量;(3)度量框架构造;所述的度量框架结构分为三层:底层,测试性因素度量集合;中间层,易测试特性度量集合;顶层,可测试性度量;各层之间用连线表示元素之间的关系;
所述的实时嵌入式软件可测试性测量通过如下步骤实现:(a)确定实时嵌入式软件的测试情况;所述的测试情况包括待测量软件的测试层次、测试类型和测试方法,所述的测试层次、测试类型和测试方法是每一个实时嵌入式软件在开发之前就设定的已知量;(b)测试性因素度量选择;(c)度量计算。
2.根据权利要求1所述的基于框架的实时嵌入式软件可测试性测量方法,其特征在于:实时嵌入式软件的易测试特性有可理解性、可控性、可观察性、测试支持能力、简单性、可分解性、适用性、可跟踪性和敏感性。
3.根据权利要求1所述的基于框架的实时嵌入式软件可测试性测量方法,其特征在于:所述的测试性因素度量选择的标准如下:
a.测试性因素度量的测试层次包含待测量软件要求的测试层次或为NULL;
b.测试性因素度量的测试类型包含待测量软件要求的某种测试类型或为NULL;
c.测试性因素度量的测试方法包含待测量软件预计使用的某种测试方法或为NULL。
4.根据权利要求1所述的基于框架的实时嵌入式软件可测试性测量方法,其特征在于:所述的度量计算具体为:
(1)测量测试性因素;
根据选出的测试性因素度量的定义,从待测量软件的需求、设计和代码中收集相应的信息,确定各测试性因素度量的取值;
(2)测量易测试特性;以影响同一易测试特性的测试性因素度量为输入,根据模糊综合评价模型计算易测试特性度量;根据测试性因素度量之间的Pearson相关系数r,判断测试性因素度量是否显著相关,对于显著相关的度量只选取其中的一个进行易测试特性计算;
(3)测量可测试性;
以易测试特性度量为输入,根据模糊综合评价模型计算可测试性度量。
5.根据权利要求4所述的基于框架的实时嵌入式软件可测试性测量方法,其特征在于:模糊综合评价模型的计算过程如下:
(a)单因素评价;
首先先确定因素fi(i=1,2,...,n)对模糊集
Figure FDA0000030615350000021
的隶属函数
Figure FDA0000030615350000022
Figure FDA0000030615350000023
然后建立从因素集F到Γ(L)的模糊映射
Figure FDA0000030615350000024
其中Γ(L)是评价集L上所有模糊子集构成的集合,对于任意的因素fi,有fi∈F,
f i | &RightArrow; f ~ ( f i ) = r i 1 l 1 + r i 2 l 2 + r i 3 l 3 = L ~ 1 ( f i ) l 1 + L ~ 2 ( f i ) l 2 + L ~ 3 ( f i ) l 3 ; - - - ( 1 )
由式(1)可得单因素评价集
Figure FDA0000030615350000026
再以单因素评价集
Figure FDA0000030615350000027
(i=1,2,...,n)为行就组成了单因素评价矩阵
Figure FDA0000030615350000028
即:
R ~ = r 11 r 12 r 13 r 21 r 22 r 23 . . . . . . . . . r n 1 r n 2 r n 3 = L ~ 1 ( f 1 ) L ~ 2 ( f 1 ) L ~ 3 ( f 1 ) L ~ 1 ( f 2 ) L ~ 2 ( f 2 ) L ~ 3 ( f 2 ) . . . . . . . . . L ~ 1 ( f n ) L ~ 2 ( f n ) L ~ 3 ( f n )
(b)权重计算;
使用层次分析法计算因素相对评价对象的权重,然后使用特征向量法计算各因素的权重wi,i=1,2,...,n,最后进行一致性检验,wi应满足归一性和非负性条件,即
&Sigma; i = 1 n w i = 1 , w i &GreaterEqual; 0 - - - ( 2 )
(c)综合评价;
组合各因素的权重wi得到一个权重向量i=1,2,...,n,确定单因素评价矩阵
Figure FDA00000306153500000212
和权重向量
Figure FDA00000306153500000213
后,通过式(3)得到评价对象的一个综合评价
Figure FDA00000306153500000214
B ~ = W ~ * R ~ = ( w 1 , w 2 , . . . , w n ) r 11 r 12 r 13 r 21 r 22 r 23 . . . . . . . . . r n 1 r n 2 r n 3 = ( b 1 , b 2 , b 3 ) - - - ( 3 )
其中
b j = &Sigma; i = 1 n w i r ij , j = 1,2,3 ; - - - ( 4 )
综合评价
Figure FDA00000306153500000217
确定后,根据最大隶属原则,bj(j=1,2,3)中哪个最大,评价对象就处于相应的等级lj
(d)量化计算;
将综合评价
Figure FDA00000306153500000218
归一化后作为权重
Figure FDA00000306153500000219
b j &prime; = b j &Sigma; i = 1 3 b i - - - ( 5 )
将评价集L中的等级用1分制量化L’=(1.0,0.7,0.3),最后将评价结果加权平均作为评价对象的量化取值O:
O = B ~ &prime; * L &prime; T . - - - ( 6 )
CN201010530514XA 2010-11-03 2010-11-03 一种基于框架的实时嵌入式软件可测试性测量方法 Expired - Fee Related CN101976222B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010530514XA CN101976222B (zh) 2010-11-03 2010-11-03 一种基于框架的实时嵌入式软件可测试性测量方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010530514XA CN101976222B (zh) 2010-11-03 2010-11-03 一种基于框架的实时嵌入式软件可测试性测量方法

Publications (2)

Publication Number Publication Date
CN101976222A true CN101976222A (zh) 2011-02-16
CN101976222B CN101976222B (zh) 2012-07-25

Family

ID=43576108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010530514XA Expired - Fee Related CN101976222B (zh) 2010-11-03 2010-11-03 一种基于框架的实时嵌入式软件可测试性测量方法

Country Status (1)

Country Link
CN (1) CN101976222B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902622A (zh) * 2012-09-14 2013-01-30 广东电网公司电力调度控制中心 基于多重计算的软件项目测试量化评估方法及系统
CN107368303A (zh) * 2017-06-28 2017-11-21 东南大学 一种基于软件架构的可演进性度量方法
CN109446812A (zh) * 2018-05-09 2019-03-08 国家计算机网络与信息安全管理中心 一种嵌入式系统固件安全分析方法及系统
CN110347610A (zh) * 2019-07-23 2019-10-18 中电智能科技有限公司 一种嵌入式代码调试系统及方法
CN113204484A (zh) * 2021-04-30 2021-08-03 中国航天系统科学与工程研究院 一种面向软件生命周期的装备软件测试性设计方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346527A (zh) * 2014-10-13 2015-02-11 中国船舶重工集团公司第七二六研究所 一种装备系统测试性评价计算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464399A (zh) * 2002-06-13 2003-12-31 华为技术有限公司 一种对软件可测试需求的分析方法
CN101697144A (zh) * 2009-10-28 2010-04-21 中兴通讯股份有限公司 一种软件测试方法及测试装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464399A (zh) * 2002-06-13 2003-12-31 华为技术有限公司 一种对软件可测试需求的分析方法
CN101697144A (zh) * 2009-10-28 2010-04-21 中兴通讯股份有限公司 一种软件测试方法及测试装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902622A (zh) * 2012-09-14 2013-01-30 广东电网公司电力调度控制中心 基于多重计算的软件项目测试量化评估方法及系统
CN102902622B (zh) * 2012-09-14 2015-11-18 广东电网公司电力调度控制中心 基于多重计算的软件项目测试量化评估方法及系统
CN107368303A (zh) * 2017-06-28 2017-11-21 东南大学 一种基于软件架构的可演进性度量方法
CN107368303B (zh) * 2017-06-28 2020-06-12 东南大学 一种基于软件架构的可演进性度量方法
CN109446812A (zh) * 2018-05-09 2019-03-08 国家计算机网络与信息安全管理中心 一种嵌入式系统固件安全分析方法及系统
CN110347610A (zh) * 2019-07-23 2019-10-18 中电智能科技有限公司 一种嵌入式代码调试系统及方法
CN110347610B (zh) * 2019-07-23 2023-10-27 中电智能科技有限公司 一种嵌入式代码调试系统及方法
CN113204484A (zh) * 2021-04-30 2021-08-03 中国航天系统科学与工程研究院 一种面向软件生命周期的装备软件测试性设计方法
CN113204484B (zh) * 2021-04-30 2023-11-14 中国航天系统科学与工程研究院 一种面向软件生命周期的装备软件测试性设计方法

Also Published As

Publication number Publication date
CN101976222B (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
CN101976222B (zh) 一种基于框架的实时嵌入式软件可测试性测量方法
Bardossy et al. Fuzzy rule‐based classification of atmospheric circulation patterns
US5655074A (en) Method and system for conducting statistical quality analysis of a complex system
CN109409628B (zh) 基于计量大数据聚类模型的采集终端生产厂商评价方法
CN102789543B (zh) 基于多试验信息的可靠性综合评估方法
CN109408359A (zh) 一种软件测试过程质量度量方法和系统
CN102467684A (zh) 基于改进雷达图的综合性能评估系统和方法
CN101710304A (zh) 一种软件过程实施质量评测方法
Simpson Geography conversion tables: a framework for conversion of data between geographical units
CN105631600A (zh) 车险查勘任务的发布方法及系统
CN111582718A (zh) 基于网络层次分析法的电缆通道火灾风险评估方法及装置
CN105956757A (zh) 基于ahp-pca法的智能电网可持续发展综合评价方法
CN111914457B (zh) 一种输电线路塔基边坡稳定性判别方法、装置和存储介质
CN107180160A (zh) 基于sem模型的公共自行车用户忠诚度确定方法
CN104794059A (zh) 一种基于函数调用记录的缺陷定位方法及装置
CN109271319A (zh) 一种基于面板数据分析的软件故障的预测方法
CN110276556A (zh) 一种基于多策略的环境承载力指标权重计算方法及装置
CN111967717A (zh) 一种基于信息熵值的数据质量评价方法
CN108805471A (zh) 基于复合系统作用关系分析的水资源承载能力评价方法
CN117349185B (zh) 一种基于接口强弱依赖分级的系统测试方法
CN103914482A (zh) 基于cmdb的集中监控事件影响性确定方法
CN117078077A (zh) 一种高速公路路域的生态脆弱性评价方法
CN109725121B (zh) 一种生成采样任务的方法和系统
CN109799379B (zh) 充电检测方法、充电检测装置和插座
CN109389281A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120725

Termination date: 20121103