第09课白盒测试(4)-软件缺陷数目_第1页
第09课白盒测试(4)-软件缺陷数目_第2页
第09课白盒测试(4)-软件缺陷数目_第3页
第09课白盒测试(4)-软件缺陷数目_第4页
第09课白盒测试(4)-软件缺陷数目_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

第09课白盒测试(4)—软件缺陷数目第一页,共20页。第三章白盒测试3.1逻辑覆盖技术3.2路径分析方法3.3分支条件测试3.4分支的路径测试3.5循环的路径测试3.6软件缺陷分析2第二页,共20页。软件缺陷分析软件缺陷——是指对软件产品预期属性的偏离现象。软件缺陷一个标准的定义:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。符合下边5个规则任何一个或几个的都是软件缺陷:软件未达到产品说明书中已经标明的功能软件出现了产品说明书中指明不会出现的错误软件功能超出了产品说明书中指明的范围软件未达到产品说明书中虽未指出但应当达到的目标软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良3第三页,共20页。软件缺陷分析以计算器内的嵌入式软件来分析软件缺陷:计算器说明书一般声称该计算器将准确无误地进行加减乘除运算。如果用户选定了两个数值后,随意按下了“+”号键,结果没有任何反应或得到错误答案。若计算器产品说明书指明计算器不会出现崩溃、死锁或停止反应,而在随意按、敲键盘后,计算器停止接受输入或没了反应。4第四页,共20页。软件缺陷分析以计算器内的嵌入式软件来分析软件缺陷:在进行测试时,发现除了加减乘除功能外,还能进行求平方根的运算,而这个功能没在说明书的功能中规定。若因电池没电而导致了计算不正确,但产品说明书未能指出在此情况下应如何进行处理。若计算器某些地方不好用,比如,按键太小、显示屏在亮光下无法看清等。5第五页,共20页。软件缺陷分析3.6.1软件缺陷的种类:输入/输出缺陷逻辑缺陷计算缺陷接口缺陷数据缺陷3.6.2软件缺陷的产生缺陷的来源:疏忽造成的错误CD不理解造成的错误MD二义性造成的错误AD遗漏造成的错误SD缺陷的构成:软件需求报告56%其他10%编码7%设计27%需求阶段是软件缺陷存在最多的地方!用户与开发人员对产品功能理解不一致靠想象描述的产品特性不够清晰用户的需求变化对需求分析报告不够重视,投入不足开发团队之间没有很好地沟通6第六页,共20页。软件缺陷分析思考题:重读因特尔奔腾浮点除法软件缺陷,分析此缺陷说明了什么?7第七页,共20页。软件缺陷分析3.6.3软件缺陷数目估计软件缺陷数目是软件可靠性和整体质量的一个重要参数。软件产品质量评估首先要建立基线,在这个基准线上再设置测试的目标,作为对系统评估是否通过的标准。例如:10000行源程序是程序规模的一个基准,每一千行代码有30个错误是测试中错误发现率的基准。(P80)估计残留软件缺陷数目的方法:播撒模型静态模型根据测试覆盖率的预测模型8第八页,共20页。软件缺陷分析播撒模型——通过已知缺陷来估计程序中潜在的、未知的缺陷数目。Mills提出:用人工随机地向待估算的软件置入错误(M),然后进行测试,并对所测试到的错误进行分类,看哪个是人工置入的错误(m),哪个是程序中固有的错误(n),用下式估算出程序中所有固有的错误(N)。9第九页,共20页。软件缺陷分析练习题:1.某软件公司的评测部对ASP软件人为注入了10个缺陷,在开始测试的一小段时间内,发现了160个Bug,其中注入缺陷2个。请估算出被测程序的固有缺陷的个数。由以下公式:所以:N=M*n/m=10*158/2=790(个)10第十页,共20页。软件缺陷分析上述方法估计程序中残留缺陷数目的有效性是值得怀疑的。程序中固有的缺陷是未知的,每个错误被检测的难易程度也同样是未知的。人工置入的缺陷是否和程序中存在缺陷检测的难易程度一致也是未知的。Hyman提出另外一种模型:假设软件经过X个月的排错时间,程序中将不再存在错误。那么让两个人共同对程序进行排错,经过足够长(X的一半或更少)的排错时间后,第一个人发现了n个错误,第二个人发现了m个错误,其中属于两个人共同发现的错误有m1个,则程序中的固有错误:11第十一页,共20页。软件缺陷分析练习题:2.在测试一个程序时,由甲、乙两名测试员各自独立测试。经过一个月测试后,甲发现并改正了20个错误。与此同时,乙发现了24个错误,其中的6个甲也发现了。若甲、乙测试发现的错误均无误,请估算程序中还残留多少错误?由以下公式:所以,程序中的固有错误:N=n*m/m1=20*24/6=80残留错误为:80-24-(20-6)=42(个)12第十二页,共20页。软件缺陷分析静态模型——根据软件的规模和复杂性进行估计。Akiyama模型:N=4.86十0.018*L。其中:N是缺陷数;L是可执行的源语句数目。谓词模型:N=C+J

其中:C是谓词数目;J是子程序数目。Halstead模型:N=V/3000。其中:V=xlny,x=x1+x2,y=y1+y2x1:程序中使用操作符的总次数;

x2:程序中使用操作数的总次数;

y1:程序中使用操作符的种类;

y2:程序中使用操作数的种类;13第十三页,共20页。软件缺陷分析静态模型——根据软件的规模和复杂性进行估计。Lipow模型:N=L*(A0+A1InL+A21n2L)。①Fortran语言:A0=0.0047,A1=0.023,A2=0.000043。②汇编语言:A0=0.0012,A1=0.0001,A2=0.000002。Gaffnev模型:N=4.2十0.0015L4/3。ComptonandWithrow模型:N=0.069十0.00156L十0.00000047L2。见P83例3-1614第十四页,共20页。软件缺陷分析根据测试覆盖率的预测模型错误与时间曲线错误数时间t1错误数覆盖率0.50.95错误与覆盖率曲线15第十五页,共20页。软件缺陷分析根据测试覆盖率的预测模型覆盖率与时间曲线覆盖率时间t116第十六页,共20页。软件缺陷分析3.6.4软件缺陷效率分析1.软件测试的检测能力分析

软件测试阶段测试能力非形式化的设计检查25%~40%

形式化的设计检查45%~65%

非形式化的代码检查20%~35%

形式化的代码检查45%~70%

单元测试15%~50%

新功能测试20%~35%

回归测试15%~30%

集成测试25%~40%

系统测试25%~55%

低强度的β测试(<10客户)20%~40%

高强度的β测试(>1000客户)60%~85%17第十七页,共20页。软件缺陷分析3.6.4软件缺陷效率分析2.影响软件测试效率的因素人为因素

温馨提示

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

评论

0/150

提交评论