软件可靠性测试数据生成方法的研究_第1页
软件可靠性测试数据生成方法的研究_第2页
软件可靠性测试数据生成方法的研究_第3页
软件可靠性测试数据生成方法的研究_第4页
软件可靠性测试数据生成方法的研究_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第""卷"#%年第9期%月航空学报NnPzQXn-NPn+nzQXn-N+-Q-NfUp*""QU*9QUa*"#%.文章编号!%#$9:)+("#%-#9$#)$#,软件可靠性测试数据生成方法研究陈雪松;陆民燕;阮镰%#:+-北京航空航天大学工程系统工程系;北京(<=>?AB<AC=DEFGFGHIEJIHI=G<=?E=EKGBGFE=IABLG=MA?$;W$;NOPQRS7TU6VXYZ66XQWZ6(;_#:+;N-_7ZZ6VX6Za7bTZ/Uc7bU6S/Z8T6dT/bU6S/Z8T

2、7ZZ6V%.Z6摘要!阐述了构造非实时软件运行剖面的方法;以及根据运行剖面生成非实时软件可靠性测试数据的方法;并提出了构造实时软件运行剖面和生成实时软件可靠性测试数据的思路e最后给出实例;系统地演示非实时软件可靠性测试数据的生成过程e关键词!软件可靠性测试&系统模式剖面&功能剖面&运行剖面&测试数据&(非-实时软件中图分类号!f"%*g文献标识码!nEhijklmj.7o7/.UdUc8U6T/bS8/Z6V/.7U07b/ZU6p0bUcZp75T7dU62.Z8./.7b7pZ5ZpZ/7T/d/b7V76$*p$*67b/7dcUb6U

3、6b7p/Zo7TUc/2b7ZTdZT8STT7dTU/.7Zd7Uc/.UT7cUbb7p/Zo7TUc/2b7ZT0bU0UT7d$74o0p7ZppST/b/Z6V/.72.Up70bU87dSb7UcV767b/Z6V6U6b7p/Zo7TUc/2b7b7pZ5ZpZ/7T/d/TT/7o/Z$*8ppZTVZa76/.776dUc/.ZT007b!T&T&c&U&/qrstukviUc/2b7b7pZ5ZpZ/7T/Z6VT/7ooUd70bUcZp7S68/ZU6p0bUcZp707b/ZU6p0bUcZp77T/d$&(-$/6U6b7p

4、/Zo7TUc/2b7软件可靠性测试是保证软件质量与可靠性的重要手段;它能够有效地暴露在实际使用过程中影响软件可靠性的缺陷(最先暴露的一-;w7c78/般是高发生概率的缺陷e软件可靠性测试包括软%y件可靠性增长测试和软件可靠性验证测试xe在构造运行剖面的过程中;需要了解用户是如何使用该软件的e要充分了解用户使用软件的各种完成这些功能相应的输入变量e模式和各种功能;同时;还要了解用户在使用软件时各系统模式和功能发生的概率e这些信息大都来自软件开发的文档;规格说明书和接口文件等资料e需要测试分析人员向用户了解软件的使用信息e系统模式及功能划分得越完整;概率越准确;构造出的运行剖面越能反映软件的实际

5、使用情况e构造软件的运行剖面的方法是按照一种层次结构;自顶向下地把用户使用软件的输入空间划把系统模式剖面划分为功能分为系统模式剖面;+;,y剖面;最后把功能剖面划分为运行剖面xe软件可靠性测试的主要特点是按照用户实际使用软件的方式来测试软件e软件的运行剖面可以用来定量描述用户实(-z07b/ZU6pbUcZp7际使用的软件方式e构造软件的运行剖面是实现软件可靠性测试的关键步骤;也是软件可靠性测试最主要的特征e可靠性测试数据是基于运行剖面生成的e软件可以分为实时软件和非实时软件两类e本文在讨论生成非实时软件可靠性测试数据的基础上;给出了构造实时软件运行剖面和生成可靠性测试数据的思路e*构造系统模

6、式剖面通过分析软件使用的方式;可将其划分成相对独立的一组系统模式;确定系统模式发生的概率;即构成系统模式剖面!%&(;$&"#"#"#$个系统模式剖面元%;")*,;其中!"#+$是第$素&"个系统模式&#个系统模式$是第$是第$发生的概率&*+是系统模式的个数e除非特别需要;系统模式不宜划分得过多;要尽可能准确而精练地描述出用户使用被测软件的可能方式;这一原则同样适用于构造功能剖面和%构造非实时软件运行剖面的方法软件的运行剖面|是指对系统使用条件的定义e即系统的输入值用其按时间的分布或按它们x

7、"y在可能输入范围内的出现概率的分布来定义e收稿日期!"#$%#$%&修订日期!"#%$#%$#基金项目!国防科工委九五重点预研项目(资助项目%)*+*%*,-文章网址!11*11"#%1#91#)1./0222*.34567/86.345运行剖面!在确定系统模式发生的概率时"可通过对相似系统某一系统模式的使用进行统计或依据用户经验"估计出该系统模式发生的概率!在统计概率可以结合开发人员或有关专无法获得的情况下"家的意见"估计出软件各系统模式发生的概率值!概率值的估计有若干种方法"包括#经验法$统

8、%#计法$等!在构造功能剖面%运行剖面时"仍可以采用相似方法来确定功能和运行的条件概率值!&(构造功能剖面对于某一特定的系统模式"需要分析完成该系统模式所有的功能及其概率"构成功能剖面)-./"0".1"2"3"!其中7*+*+*+,4*+,56,是第,个功能剖面元素8*个功能8+,是第,是第,个功能发生的概率845是当前系统模式下功能的个数!构造功能剖面需要考虑以下方面79分别划分某一系统模式下的功能8:确定某一系统模式下的功能发生概率8;不同系统模式下的相同的功能剖面要合并!&<构造运行剖

9、面对于某一独立功能的完成"是通过输入一系在实际测试软件过程中"列输入变量值来实现的!软件的先后输入变量之间通常存在着某种联系"不是完全独立的!为了研究简便起见"这里假设这种关联关系比较小"仍然按照它们之间相对独立规定这些输入变量其具体取值区间"在取来对待!值区间内把它们看作是独立的!运行剖面需要分别描述各功能输入变量的取值区间"即区间的上下限"和各输入变量在其取值区间内的概率分布!该概率分布是条件概率分布"是指在功能被选中的条件下"该功能各输入变量取值的概率分布!运行剖面可表达为)-./&quo

10、t;0".=+=+=+,1"2"3""其中744+>6>是功能的运行个数8=,是第,个运行剖面元素8+个运行发生的,是第,概率8=个运行".)"?"3""=?,是第,12A12A其中?是第A个输入变量的第3"6"?4AA个取4A值区间".1"2"3""BA是输入变量取值区间BAA的个数!对于每一个功能需要构造运行剖面"之后对不同功能下的相同的运行剖面需要进行合并"构成最终的软件的运行剖面!系统模

11、式剖面%功能剖面和运行剖面的层次关系见图1!第I期陈雪松等软件可靠性测试数据生成方法研究M00NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN的约束关系!每个输入变量的取值区间及其相应的条"#$构成了实时件概率分布按照输入时序进行排列%软件的运行剖面!通过遍历每个输入变量%对其在取值区间"&$内随机抽样%可以按时序生成一个输入向量%用于测试相应的功能序列!本文提出的这种实时软件运行剖面构造的思路%可用于开发计算机辅助构造运行剖面并基于概率分布抽样!通过对运行和各输入变量取值1个步骤的抽样

12、%就生成了一个测试数据!每个输入变量的测试数据构成一个输入向量%用于测试选定功能!不断重复上述步骤%直到生成所需数量的测试数据为止!&应用实例这里通过一个实例%系统地演示对AA飞机该运行剖面生成实时软件的可靠性测试数据!#非实时软件测试可靠性测试数据的生成方法软件的可靠性测试数据是根据运行剖面随机生成的!在运行剖面中规定了每个输入变量的取值区间%并且在很难确定输入变量具体概率分布的情况下%可以假设认为输入变量在取值区间内均匀分布或分段均匀分布!软件可靠性测试是一种随机测试%测试数据的选取方式是随机选取!因此%根据随机测试的原则%在运行剖面给定的输入变量的取值区间内任意抽取一个变量的实际

13、取值!将各个变量按顺序组合起来便形成了测试数据!如是体现出用于软件可靠性测试的测试数据是基于运行剖面生成的这个概念!根据运行剖面生成测试数据的过程如下由于运行剖面是由一系列变量的取值区间和该运行发生的概率组成的%因此%可以基于运行剖面随机抽取一个运行来实现对某一功能的一次测试!抽取运行的过程如下将运行剖面()*+,)*+-.)+%*+/%+-0%1%2%34中所有运行发生的概率*+求5前5项和65%65-7*+形成一个数列(654%其中+-05-0%1%23%3为软件运行剖面中运行总数%规定68-8%并有60-*0%63-098%65:65:0-*5!这里运行相互独立!任给一个随机数%;<

14、;"8%098$观察;落在哪个区间%若;满足65:0=;>65%则该随机数;与*5这个概率值对应%那么这次随机抽到的运行为)5!其次%要进行第1次抽样来确定运行中每个输入变量将取到的具体取值!由于输入变量的取值类型可以是离散的%也可以是连续的%在随机抽样时要分别考虑这1种类型输入变量的抽样方法!连续性的输入变量要在其取值区间内%依概率密度函数抽样?离散型的要在其可取值集合内依起落架故障诊断专家系统B软件构造运行剖面并生成测试数据的过程!C9D被测软件简介AA飞机起落架故障诊断专家系统B软件是一个使用E专家系统F方法对AA飞机起落架进行故障诊断的软件!根据软件功能的说明%结合软件

15、的有关文档%以及对相关概率的估计%可构造软件的系统模式剖面G功能剖面和运行剖面%其过程如下!C9H软件的系统模式剖面通过分析软件的输入空间%主要划分&个系统模式%并给出了相应的概率%构成系统模式剖面!这个概率由开发人员估计给出!下面的功能剖面G运行剖面概率值的确定亦是如此!系统模式剖面如下序号系统模式代号系统模式概率系统模式描述060891故障处理16189I故障诊断及解释#6#890知识库管理&6&890帮助C9J软件的功能剖面针对以上&种系统模式%又分别构造了功能剖面%并进行了不同系统模式下功能剖面的合并%合并后的功能剖面按功能的发生概率值由大到小排序%其中

16、部分如下序号功能代号功能发生的概率功能描述0K10890L反向推理后完整解释1K1#890L正向推理后完整解释#K118901反向推理后从当前位置解释C9C软件的运行剖面对于以上每一个功能%需要按照运行的定义描述其输入变量!需要对每一个运行进行描述%并给出概率分布%构成各功能下的运行剖面!然后%R$航空学报第卷xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx将这些运行剖面加以整理!形成软件的运行剖面"其形式如下#序号运行代号运行发生的概率运行描述$($%&)*)+;正向推理后完整解释!允许上翻和多

17、次推理数据包括#测试数据序号7输入变量名称和按顺序输入的各变量具体取值等项目"其形式如下#测试数据序号输入变量名称输入变量的具体取值$89:,-./0$0$;运行的取值范围#,-./0$0$1$!21$!+21$!32上翻选择确定1)!2选择确定,-./00$用以上6其测试结)个测试数据测试软件!果如下#累积6)个测试数据共发生<)次失效!运行时间$3($*+"=对这<剔除了由相同缺陷)个失效进行分析!造成的失效后剩下+个属于不同类型失效"失效数据如表$所示"这里的失效数据是完全失效数据"因此!可使用完全失效数据模型对该软件的可靠性

18、进行评估"本文不作探讨"4*5软件的可靠性测试数据根据运行剖面共生成6)个测试数据"测试表>软件可靠性测试记录?ABC>?DCECFGEHGIJGIKLECEBMAMBMKNKCJKMOP失效序号$(6R测试数据序号$RS66S3$)3开始测试时刻失效发生时刻测试运行时间Q=R+*3$)R*($<)*($6*)<$*(累积运行时间Q=3+S*3$S$*$S)3*66S$*3<666*3内存#$<失效现象解释图形少一个逻辑门用户程序出错拖动滚动条画图时死机非最大化画图时死机输入故障树信息存不住诊断解释说明字符串无结尾失效等级T$R#$3#$($R#$+#$(#)#<$(#)6#$R#(S#R3$R#6)#(3$6#)#$)$6#$6$)#R)#+$)#R$#($(测试数据号#$到6)3<9$(VWX#W-.YZ/,RY测试开始日期#UUUU年UU月UU日操作系统#_R中文版ab%_c+参考文献陆民燕1北京航空航天大学可$+&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论