goback
月期刊咨询网
当前位置:首页>>软件开发论文>>正文

软件开发论文基于SFTA和等价类的软件测试用例设计方法


所属栏目:软件开发论文
发布时间:2013-12-05 15:16:04  更新时间:2013-12-05 15:59:01

已签订领域:化学工程/制药,医学题目:**作为抗癌剂***催化剂**取代苯丙***SCI四区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:用**电***生物传感器**癌症**SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:**氧化石墨烯纳米***材料的生物传感器***结肠癌生物**癌胚****SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:聚合物纳米***a-硫辛酸***在神经炎症***应用***临床分析SCI二区 直击了解更多选题

已签订领域:计算机视觉/遥感/智能驾驶/汽车题目:**深度学习***高分辨率遥感***车辆检***SCI三区 直击了解更多选题

已签订领域:企业管理题目:社会交流***领导***倾向***方向SSCI,SCI三区,二区 直击了解更多选题

已签订领域:企业管理题目:**中小企业社交媒体****可持续绩效***因素探析SSCI,SCI三区,二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:利用硫氨酸***石墨烯纳米***电化学***传感器实现癌胚抗原***SCI二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:基于抗***纳米复合***高性能***早起癌症诊断***SCI二区 直击了解更多选题

已签订领域:经济,能源题目:***政治冲突****绿色金融、金融**、气***化***SCI四区 直击了解更多选题

已签订领域:经济,能源题目:冲***中能源不安全对***和环境***SCI四区 直击了解更多选题

已签订领域:教育题目:大学生***社交媒体***成绩影响***SSCI三区 直击了解更多选题

已签订领域:教育题目:巴基斯坦***学习实施的***的**SSCI二区 直击了解更多选题

已签订领域:教育题目:大学生对****下网络教学**思***SSCI二区 直击了解更多选题

已签订领域:教育题目:**教师和学生对影响***医疗**效果的****看法SSCI三区 直击了解更多选题

已签订领域:计量经济学题目:**货币、黄金、**和美国***的波动***相互依赖性:**数据的分析SSCI一区 直击了解更多选题

已签订领域:计量经济学题目:东南亚***内**趋同***中等收入**:新**的***SSCI二区 直击了解更多选题

已签订领域:建筑,历史题目:历史景点在***旅游发***中的***影响**(**研究:**历史***)SSCI,SCI一区 直击了解更多选题

已签订领域:领导力,管理题目:量化**领导对角色绩效***响:**冲突与工作自主性***作用SCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:数字***环境对学生学习成绩***:游戏**和***现实在教育***作用SSCI四区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***续决策之间的***:创新***识的**作用SSCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:课程**对大学生***发展的影响:学习习惯和***的***作用SSCI一区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***与可持续决策**:高等***学生认知***作用SSCI二区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语****学**与人工智能****学习SCI三区 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐**对学生成绩***的影响SCI三区 直击了解更多选题

已签订领域:人体工程,心理学题目:基于预先处理模型***模式人体工程学***女生肌肉骨骼***预防行为*** 直击了解更多选题

已签订领域:人体工程,心理学题目:制定一个***人体工程学**,以识别、优先考虑***职业压力源的*** 直击了解更多选题

已签订领域:人体工程,心理学题目:多重工作**压力和工作***:***工效学方法的混合方法*** 直击了解更多选题

已签订领域:数学,经济题目:数学模型***结构调整和经济转型****研究 直击了解更多选题

已签订领域:数学,经济题目:***时间**数学模型在***媒体营销**中的应用*** 直击了解更多选题

已签订领域:数学,经济题目:***时间**模型在***物流运**能力***研究 直击了解更多选题

已签订领域:数学,经济题目:碳****经济的数学模型****研究 直击了解更多选题

已签订领域:农村经济题目:农****社区**发展***分**SCI四区 直击了解更多选题

已签订领域:农村经济题目:创业***对乡村****发展的****SCI四区 直击了解更多选题

已签订领域:农村经济题目:农村创业****的空间*****究SCI四区 直击了解更多选题

已签订领域:医学,电化学题目:纳米颗粒*****及其在癌症****和重金属*****检测中的应用SCI三区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****前列腺癌药物氟****检测方法的*****腺癌治疗SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:气海***********金纳米颗粒的新型****************粘土及其对胃癌********************抗癌SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于抗***********GCE纳米***********材料的高性能*******************早期癌症SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:用******电化学生物传感器*****癌症***************SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****石墨烯纳米****材料的生物传感******用于测定结肠*****生物*****SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:聚合***纳米复合电极*****疏辛酸电化学检测*********SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:利用****酸/**糖**石墨烯纳米复合修饰的电化学*****SCI二区 直击了解更多选题

已签订领域:环境能源,绿色投资题目:环境能源、绿色投资、城市化和环境类方向SCI三区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语教学**人工智能***习SCI 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐形式*学生***影响SCI三区 直击了解更多选题

已签订领域:经济,绿色投资题目:***能源效率***化之间的***SCI三区 直击了解更多选题

已签订领域:经济政策题目:***阐明**印度经济***的关系SCI三区 直击了解更多选题

已签订领域:经济,金融题目:***国家的能源***重***SCI 直击了解更多选题

已签订领域:经济,金融投资题目:***融新之间***直接投资***SCI三区 直击了解更多选题

已签订领域:经济,数学,统计学,管理学题目:非***想重限制下***袭评价***SSCI四区 直击了解更多选题

已签订领域:经济,数字,管理学题目:基干***生产系统***SSCI四区 直击了解更多选题

已签订领域:农业,土壤科学题目:不同***有机覆盖***养分循环SSCI 直击了解更多选题

已签订领域:电力与能源系统,管理题目:pv***氢定价的***随***型稀SSCI,SCI二区 直击了解更多选题

已签订领域:建筑规划,计算机题目:使用***因子分析法***可持续***SCI三区 直击了解更多选题

已签订领域:工程技术,纺织工程,材料科学题目:甘***淀粉酶的提取***退浆中的应用SCI四区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:饲料***镉毒性的交互***生长***病理学***SCI二区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:****鱼水源***起的生******SCI三区 直击了解更多选题

已签订领域:金融,环境经济题目:*****预算在能效、绿色***的作用SCI 直击了解更多选题

已签订领域:应用数学/计算物理题目:***非线性库***自相位调制***SCI三区 直击了解更多选题

已签订领域:计算机,医学检测题目:***COVID-19***力***算法***决策SCI三区 直击了解更多选题

已签订领域:计算机,物联网,智慧城市题目:基于***物联网****算法SCI三区 直击了解更多选题

  随着计算机科学技术的不断发展,软件在各个行业中发挥着越来越重要的作用,在许多领域中软件实现的功能已达到整个系统功能的80%。因此,软件系统的质量往往决定着系统的质量,有时由软件缺陷引发的故障造成的后果会非常严重。例如文献[1]中20世纪80年代美国发生的放射治疗机软件错误,导致五名患者受到超计量辐射死亡的严重事故。随着软件应用的深入和广泛,特别是,应用于高铁、银行、医疗、军事和航天航空领域的软件,其软件的质量更加需要关注,如果这些系统中发生由软件缺陷引发的事故,其后果将是无法预料的。

  摘要:为了解决软件测试时高可靠性安全性要求,测试用例设计的充分性和有效性不足的问题,软件故障树分析结合等价类原则解决了测试用例设计的充分性和有效性问题。通过对软件的故障模式进行分析,在建立软件故障树的基础上获得了软件故障树的最小割集。以最小割集为模型,结合等价类划分方法实现了测试用例设计,并根据该方法开发了测试用例自动生成工具。通过测试项目实际应用表明,采用该方法进行测试用例设计可以满足测试的充分性和有效性要求。

  关键词:软件测试,测试用例,故障树,等价类

  0引言

  目前,软件测试仍是保证软件质量的重要手段之一,而软件测试最关键的环节之一就是测试用例设计,测试用例设计的充分性决定着测试的有效性。采用何种测试用例设计方法满足测试的有效性和充分性要求是软件测试领域不断深入探索研究的课题。

  软件故障树分析[2](SFTA)是一种自顶向下的软件可靠性和安全性分析方法,即从软件系统不希望发生的事件(顶事件),特别是对人员和设备的安全产生重大影响的事件开始,向下逐步追查导致顶事件发生的原因,直至基本事件(底事件)。利用SFTA分析的结果可以确定软件测试的重点和内容。

  等价类划分方法是一种黑盒测试方法[3],它将软件的输入划分为若干个数据类,从中得到测试用例的输入。等价类划分的测试用例设计是基于对输入条件的等价类进行评估,是软件黑盒测试中最常采用的方法之一。

  本文将SFTA和等价类划分方法相结合提出了一种有效的测试用例设计方法,并实现了测试用例的自动生成。

  1软件故障树及最小割集

  SFTA技术是应用较为广泛的软件安全性分析方法,将此方法用于软件测试时,主要应用于软件黑盒测试的测试用例设计。对于那些高可靠安全要求的软件应在进行安全性分析的基础上,进行测试用例的设计以便实现测试用例的有效覆盖。

  1.1建立软件故障树

  软件故障树的建立是软件故障树分析中最基本同时也是最关键的一项工作。软件故障树简单地说是由一些逻辑和事件符号构建而成的。由于软件故障树的准确性直接影响到对软件的分析,因此,在建立软件故障树时需要开展必要的准备工作。软件故障树的建立通常包括:收集并分析有关技术资料,选择要分析的顶事件和构建故障树。

  1.1.1收集并分析有关技术资料

  软件故障树建立的完善程度直接影响基于最小割集的测试用例集合的有效性,因而需要软件故障树的建立者广泛地掌握并使用有关方面的知识和经验。这些知识和经验获取主要依靠对相关资料的学习和对软件的熟悉,需要掌握的内容主要应包括:软件系统的体系结构设计、软件的功能、系统的范围、软件之间的接口关系和运行环境等;识别人为因素对软件系统的影响;识别软件在不同的运行模式下的状态,以及不同模式之间的相互转换关系。

  另外,在建立故障树时应征求有经验的设计人员、用户等的意见,以便保证软件故障树的正确性。

  对于软件关键等级较高的软件,一般情况下,软件研制人员已完成了软件安全性分析。测试人员可以在此基础上开展进一步的分析。

  1.1.2选择要分析的顶事件

  利用故障树进行软件分析常遇到的问题就是构建的故障树过于复杂,很难利用其进行有效的测试用例设计。为了避免这一难题,在构建故障树时可以将软件故障树分层构建,先按照软件单个功能项为单位进行构建,在逐渐延伸至顶事件。

  这种顶事件确定方法也符合确认测试对所有功能进行测试的实际要求。顶事件的确定可以与确认测试的测试项的确定一起完成。当一个测试项有多个子测试项时,可以将子测试项做为顶事件。

  采用这种方法不仅避免了软件故障树过于复杂的问题,也更符合测试工作的需要与流程。将软件故障树分析与测试项的分解、测试用例的设计紧密结合,更有利于测试用例的自动生成。

  1.1.3构建故障树

  软件故障树中使用的符号包括事件符号和逻辑门符号两类。事件符号用以表示故障事件,逻辑门符号用以表示故障事件之间的逻辑关系。

  建立软件故障树通常采用演绎法。所谓演绎法是指首先选择要分析的顶事件(即不希望发生的故障事件)作为故障树的“根”。然后分析导致顶事件发生的直接原因(包括所有事件或条件),并用适当的逻辑门与顶事件相连,作为故障树的“节”(中间事件)。按照这个方法逐步深入,一直追溯到导致顶事件发生的全部原因(底层的基本事件)为止。这些底层的基本事件称为底事件,构成故障树的“叶”。

  在故障树最底层的底事件是导致顶事件发生的根本原因。有些底事件可以独立地引发顶事件,有些底事件按照一定的逻辑关系共同引发顶事件。在分析故障发生原因过程中,要充分发挥分析者、软件开发组以及软件测试机构的经验。

  1.2故障树的数学描述

  有[n]个底事件构成的故障树,故障树的顶事件为[T,][xi]是底事件的状态变量,[xi]的值为1或0,[Φ]表示顶事件的状态,则有如下定义:

  [xi=1,底事件i发生0,底事件i不发生][Φ=1,顶事件发生0,顶事件不发生]

  由于[Φ]由底事件的状态确定,即[Φ=Φ(X),]其中[X={x1,x2,…,xi}。]因此,[Φ=Φ(X)]就是故障树数学表述的结构函数[4]。

  对于顶事件和底事件之间全部为逻辑与门结构的故障树,结构函数可以表述为:

  [Φx=i=1nxii=1,2,…,n]

  对于顶事件和底事件之间全部为逻辑或门结构的故障树,结构函数可以表述为:

  [Φx=i=1nxii=1,2,…,n]

  根据上述定义就可以表示出任意一棵故障树的结构函数。图1所示的软件故障树的结构函数就可以表示为:

  [Φ=x1x2x3x1x3x4]

  1.3最小割集的数学描述

  割集为能引起顶事件发生的底事件集合。最小割集为不包含任何冗余因素的割集。如果去掉最小割集中的任何事件,它就不再成为割集。

  根据上述的定义,在软件故障树中,由于最小割集发生时,顶事件必然发生,因此,一棵故障树的全部最小割集的完整集合代表了顶事件发生的所有可能性。因此,若软件故障树有[m]个最小割集[C=(C1,C2,…,Cm),]任意一个最小割集中的全部底事件发生时,故障树的顶事件必定发生,最小割集可以表示为:

  [Cj=i=1xi]

  在[m]个最小割集集合中只要有一个最小割集发生,顶事件就发生,所以软件故障树可以表示为:

  [Φ=j=1mi=1nxi]

  根据故障树最小割集的定义,利用Fuseell?Vesely算法,可以获得图1的最小割集为:[x1,][x2,x3,x4,]其软件故障树也可表示为:

  [Φ=x1x2x3x4]

  根据上述表达式,图1的等价软件故障树如图2所示。

  2生成测试用例集

  利用软件故障树最小割集建立了进行测试用例设计模型,每个底事件就是测试用例的输入,而每个输入的取值应根据等价类划分的原则设置典型值。

  2.1确定输入条件的等价类

  在进行输入的典型值选取时,应根据等价类划分的方法进行确定。等价类的确定应遵循如下原则[3]:

  (1)若输入条件指定一个范围,则可以定义一个有效等价类和两个无效等价类;

  (2)若输入条件需要特定的值,则可以定义一个有效等价类和两个无效等价类;

  (3)若输入条件指定集合的某个元素,则可以定义一个有效等价类和一个无效等价类;

  (4)若输入条件为布尔值,则可以定义一个有效等价类和一个无效等价类。

  以最小割集[{x2,x3,x4}]为例,其典型取值分别为下[x2:a1,a2,a3;x3:b1,b2,b3;x4:c1,c2。]

  2.2生成测试用例集

  在进行测试用例设计时,以每一个最小割集为一组测试用例。以最小割集[{x2,x3,x4}]为例,根据在2.1节中确定的[x2,x3,x4]各自的等价类取值,可得到测试用例为:[{a1,b1,c1},][{a1,b1,c2},][{a1,b2,c1},][{a1,b2,c2},][{a1,b3,c1},][{a1,b3,c2},][{a2,b1,c1},][{a2,b1,c2},][{a2,b2,c1},][{a2,b2,c2},][{a2,b3,c1},][{a2,b3,c2},][{a3,b1,c1},][{a3,b1,c2},][{a3,b2,c1},][{a3,b2,c2},][{a3,b3,c1},][{a3,b3,c2}。]这样就得到[C13×C13×C12=3×3×2=18]个测试用例。

  软件的算法流程图如图3所示。

  3应用实例

  (1)获取软件故障树

  在实际应用中获得了如图4所示的软件故障树,其中中间事件“游机未关机”的发生是由Ggjx1,Ggjx2,Ggjx3中的任意两个以上发生时导致的。根据这种情况,可将图4改造为如图5所示的等效故障树。

  (2)求出割集

  {T2fc1,T2fc2,T2fc3},{Ggjx1,Ggjx2},{Ggjx1,Ggjx3},{Ggjx2,Ggjx3},{Luwo},{Ggjx1,Ggjx2,Ggjx3},{Luwo,T2fc1},{Luwo,T2fc2},{Luwo,T2fc3}。

  (3)求出最小割集

  {Ggjx1,Ggjx2},{Ggjx1,Ggjx3},{Ggjx2,Ggjx3},{Luwo},{T2fc1,T2fc2,T2fc3}。

  (4)设置典型值

  根据输入条件的等价类原则设置的典型值见表1。

  (5)生成测试用例

  基于割集生成的测试用例有63个,而基于最小割集生成的测试用例只有25个。基于最小割集{T2fc1,T2fc2,T2fc3}生成的一个测试用例集合如图6所示。

  4结语

  本文利用故障树的原理和方法,将故障树的最小割集作为生成测试用例的模型,测试用例的输入采用等价类划分的方法选取,提出了基于故障树最小割集和等价类划分的测试用例生成方法,并开发了测试用例自动生成工具。该方法在逃逸软件测试项目中得到了应用,实际结果表明它有效地提高了测试测试用例设计的充分性和高可靠软件测试的自动化程度。

  参考文献

  [1]黄锡滋.软件可靠性、安全性与质量保证[M].北京:电子工业出版社,2002.

  [2]陆廷孝,郑鹏洲,何国伟,等.可靠性设计与分析[M].北京:国防工业出版社,1995.

  [3]PRESSMANRS.Softwareengineering:apractitioner′sapproach[M].7thed.[S.l.].McGraw?HillCompanies,Inc,2009.



月期刊平台服务过的文章录用时间为1-3个月,依据20年经验,经月期刊专家预审通过后的文章,投稿通过率100%以上!
  • 职称晋升申请书范本2篇

    2025-02-22
    撰写职称晋升申请书时,您需要清晰、专业地展示您的工作成就、专业能力以及对职位提升的渴望。以下是 职称晋升申请书范本2篇 ,您可以根据实际情况进行调整: 1、医、护人员职称晋升申请书范文1篇 尊敬的领导: 本人于xxxx年毕业于xxxx护理专业,毕业后在医院中心监护
  • 高分子化学sci期刊一览 Q1-Q4都在这里

    2025-02-22
    在化学装爷领域中,高分子化学sci期刊众多,按照JCR分区,从Q1到Q4区都有涵盖,作者可根据单位和论文质量选择合适的期刊投稿。以下是 高分子化学sci期刊一览 Q1-Q4都在这里 ,供大家参考: 1、 CHINESE JOURNAL OF POLYMER SCIENCE JCR:Q2区 IF:4.1 致力于发表高分子
  • 2025年RCCSE期刊目录更新到第几版?第七版

    2025-02-22
    截至2025年2月22日,RCCSE期刊目录已经更新到了第七版 。第七版RCCSE中国学术期刊目录是在2024年12月6日至8日召开的第七届中国期刊质量与发展大会上正式发布的,具体详情如下: 1、RCCSE期刊是什么意思 RCCSE期刊是指被武汉大学中国科学评价研究中心(Research Center
  • 论文二审还会给原来的审稿人吗?接受率多少

    2025-02-22
    二审是论文发表期刊过程中最为严格且重要的环节之一,审稿周期较长,建议作者耐心等待。对于, 论文二审还会给原来的审稿人吗 ? 并没有一个统一的答案,可能是原来的审稿人,也可能是新的审稿人,具体取决于期刊的具体政策和审稿人的可用性。 关于论文二审是否还会送
  • 速看!审稿出版最快的教育学SSCI期刊及选题推荐

    2025-02-21
    在教育学领域,被ssci收录的期刊众多,想要选择审稿出版快的期刊,对于新手作者来说确实很难,而且出版周期长短与论文质量、期刊的影响力等因素有直接的关系。今天在这里为大家汇总整理了部分 审稿出版最快的教育学SSCI期刊及选题 ,供大家参考: 一、审稿出版最快的教
回到顶部