欢迎来到天天文库
浏览记录
ID:45994070
大小:1.59 MB
页数:78页
时间:2019-11-20
《基于缺陷模式的软件测试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章基于缺陷模式的软件测试第4章基于缺陷模式的软件测试4.1基于缺陷模式的软件测试概述4.2基于缺陷模式的软件测试指标分析4.3缺陷模式4.4基于缺陷模式的软件测试系统(DTS)4.1基于缺陷模式的软件测试概述缺陷模式必须满足下列几个条件:该模式下的缺陷是符合实际的。基于该模式的缺陷数目是可以容忍的。该模式下的缺陷是可以测试的。采用该种方式实现测试,首先必须建立一种可以使用的模型(模式),称为缺陷模式。基于缺陷模式的软件测试概述基于模式的软件测试技术具有的特点(5条):针对性强:如果说某种模式的缺陷是经常发生的,并且
2、在被测软件中是存在的,则面向缺陷的测试可以检测出此类缺陷。基于缺陷模式的软件测试技术往往能发现其他测试技术难以发现的故障,如内存泄漏缺陷,空指针引用缺陷。工具自动化程度高以及测试效率高。缺陷定位准确:对测试所发现的缺陷能够准确定位。易学、易使用:对一般的IT专业专科以上的毕业生,该测试方法一般经过数天的培训即可掌握其使用方法。缺陷模式经过传统软件测试后,残留在软件中的缺陷一般都是小概率、开发人员疏忽造成的。我们对8类软件故障的测试实践表明,经过严格的传统软件测试,残留在软件中的故障密度为1~2个故障/10KLOC,而没
3、有经过严格测试的软件,其故障密度一般在5~10个故障/10KLOC,而这些故障一旦发生,往往会导致系统崩溃。软件缺陷模式就是经过理论分析、实践总结归纳出来的,我们目前将其分为故障、漏洞、疑问和规则模式。这是基于缺陷模式测试的核心技术之一。缺陷模式的概念(1)缺陷模式的定义缺陷模式是缺陷的语法或语义特征的抽象,具有一定代表性或者会造成严重后果。(2)缺陷模式中缺陷产生的原因�疏忽:缺陷模式中的缺陷一般是由开发人员疏忽造成的。由于涉及可能多条路径、多个约束条件,疏忽往往是不可避免的。这类缺陷往往都是和路径或多个约束条件相关
4、的。�不理解:缺陷模式中的缺陷也可能是由于开发人员对程序语言本身不理解造成的。如对某些规则不了解、对某些语言现象不理解都可能会产生缺陷。(3)缺陷模式中缺陷的特点:�一般都是非功能性的缺陷�路径敏感的缺陷一般都是有由疏忽造成的�路径不敏感的缺陷一般疏忽或不理解造成的�在大量工程软件的测试结果统计中,模式中的缺陷是会存在于大多数的软件中,并且有一定发生概率。这个概率要大于人们容忍的范围。(4)软件缺陷模式中的缺陷发生密度�在以往的对N个软件测试活动中,该类缺陷的总个数除以N个软件的总行数×1000,称为该类缺陷的缺陷密度
5、,用缺陷个数/KLOC表示,N越大,其缺陷密度统计的准确性就越高。(5)缺陷模式的分类——按缺陷产生后的严重程度:故障模式、安全漏洞模式、疑问代码模式和规则模式(6)缺陷模式分类——按是否是路径敏感�是路径敏感:需要人工确认�路径不敏感:不需要人工确认作用及意义软件缺陷模式与测试是软件测试领域中一种新型的软件测试技术?主要面向软件的非功能性缺陷,可以检测一般软件测试技术中难以检测的软件缺陷?与面向过程的软件测试具有很好的互补性?基于缺陷模式的测试技术与已往的软件测试有很大的不同,检测精度与效率比较高,测试成本低软件缺陷
6、模式缺陷发生机理:疏忽、二义性、不理解、遗漏?分类:故障、安全漏洞、疑问代码、规则?语法与语义定义:给出基于语言的缺陷定义?缺陷新模式研究:论文、工具、实践、推理?缺陷模式数据库:核心技术之一,不断增补?嵌入式软件缺陷模式研究:适合嵌入式特点4.1基于缺陷模式的软件测试概述4.2基于缺陷模式的软件测试指标分析4.3缺陷模式4.4基于缺陷模式的软件测试系统(DTS)第4章基于缺陷模式的软件测试4.2基于缺陷模式的软件测试指标分析设P是待测程序,将缺陷模式M分成类:M={M1,M2,…Mn},每类分成种:Mi={Mi1,M
7、i2,…,MiL},从P中计算出和M相匹配的检查点的集合:IP={IP1,IP2,…,IPm},可以定义如下技术指标:(1)漏报率(ER)(2)准确率(CR)(3)误报率(DR)(4)缺陷检测率(DDR):(5)自动缺陷检测率(ADR):(6)计算复杂性4.2基于缺陷模式的软件测试指标分析漏报率(ER):设P是程序,M是缺陷模式,A是算法,IP(M,A,P)是IP总的数目,由于测试算法实现过程中的不同假设,会导致IP(M,A,P)不同。漏报率定义为:4.2基于缺陷模式的软件测试指标分析注意:理论上,在给定M和P之后,I
8、P(M,P)是确定的,但在实际中很难得到IP(M,P)。假设不同的测试工具算法为:A1,A2,…An,则通常用表示IP(M,P)。对于每个IP通常需要人工去判断高IP是否真的是缺陷,根据程序的逻辑复杂性以及测试代价等因素,IP经确认后分为3种情况:表示IP确认为缺陷的数目:IPY(M,A,P)表示IP确认为非缺陷的数目:IPN(M
此文档下载收益归作者所有