版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章白盒测试第1页,共39页。e6e1e2e3e4e5e73.1控制流测试一、基本概念有向图路径完整路径简单路径基本路径子路径回路无回路路径连接覆盖路径覆盖关系举例第2页,共39页。二、控制流覆盖准则语句覆盖准则分支覆盖准则谓词测试原子谓词覆盖准则分支-谓词覆盖准则复合谓词覆盖准则路径覆盖准则第3页,共39页。部分覆盖准则间的关系复合谓词覆盖准则分支--谓词覆盖准则分支覆盖准则原子谓词覆盖准则语句覆盖准则第4页,共39页。3.2数据流测试一、基本概念变量的定义性出现:若一个变量在程序中的某处出现使数据与该变量相绑定,则称该出现是定义性出现。变量的引用性出现:若一个变量在程序中的某处出现使与该变量相绑定的数据被引用,则称该出现是引用性出现。第5页,共39页。二、数据流覆盖准则定义覆盖测试准则引用覆盖测试准则定义-引用覆盖测试准则第6页,共39页。3.3程序插装程序插装技术的研究涉及下列几个问题:(1)探测哪些信息?(2)程序的什么位置设置探测点?(3)需要多少探测点?程序插装类型:用于测试覆盖率和测试用例有效性度量的程序插装用于断言检测的程序插装第7页,共39页。(1)程序中固有的缺陷是未知的,每个错误被检测的难易程度程序插装技术的研究涉及下列几个问题:和每个变异的程序,可以求得P1,P2…,Pn的测试数据集C={C1,C2,…,Cn}。Akiyama模型:N=4.86十0.018*L。n个不同的程序:P1,P2,…,Pn,这里Pi称为P的变异因子。ComptonandWithrow模型:N=0.码书写规范性检测结果,得出报告。形式化的设计检查45%~65%码书写规范性检测结果,得出报告。错误检查4.选择[Browse|Quality|CriteriaLevel]菜单项,Logisciop会显示Audit新建项目结束是变动程序的组成部分,根据弱变异准则,只要事先确定导致C与C′3.4程序变异测试程序变异测试技术的基本思想是:对于给定的程序P,先假定程序中存在一些小错误,每假设一个错误,程序P就变成P′,如果假设了n个错误:e1,e2,…,en,则对应有n个不同的程序:P1,P2,…,Pn,这里Pi称为P的变异因子。存在测试数据Ci,使得P和Pi的输出结果是不同的。因此,根据程序P和每个变异的程序,可以求得P1,P2…,Pn的测试数据集C={C1,C2,…,Cn}。运行C,如果对每一个Ci,P都是正确的,而Pi都是错误的,这说明P的正确性较高。如果对某个Ci,P是错误的,而Pi是正确的,这说明P存在错误,而错误就是ei。第8页,共39页。程序强变异测试变异测试的缺点是它需要大量的计算机资源来完成测试充分性分析。对于一个中等规模的软件,所需的存储空间也是巨大的,运行大量变异因子也导致了时间上巨大的开销。
程序弱变异测试弱变异和强变异有很多相似之处。其主要差别在于:弱变异强调的是变动程序的组成部分,根据弱变异准则,只要事先确定导致C与C′产生不同值的测试数据组,则可将程序在此测试数据组上运行,而并不实际产生其变异因子。弱变异测试方法的主要优点是开销较小,效率较高。第9页,共39页。3.5白盒测试工具一、静态工具静态测试工具类型:1.代码审查2.一致性检查3.错误检查4.接口分析5.输入/输出规格说明分析检查6.数据流分析7.类型分析8.单元分析9.复杂度分析第10页,共39页。静态工具应用实例1.Logiscope的软件质量分析工具Audit应用:Audit是审查程序代码质量的,它通过一个文本文件来定义质量模型。文件中首先定义了若干个度量元,并为这些度量元设定了数值范围,接着通过组合若干个度量元形成质量标准,最后又通过组合质量标准,形成最后的质量因素。这个过程与软件质量模型中由底层到高层、由细节到概括的结构恰好对应。第11页,共39页。(1)在Logiscopestudio中建立Audit项目Logiscopestudio环境
第12页,共39页。点击[File|New]菜单项,并根据新建项目向导建立项目:新建项目对话框第13页,共39页。新建项目向导第14页,共39页。新建项目结束第15页,共39页。(2)查看检测结果选择[Browse|Quality|FactorLevel]菜单项,Logisciop会显示Audit对所检测源程序质量水平的评价结果,评价结果包括系统的质量、类的质量、函数的质量。第16页,共39页。选择[Browse|Quality|CriteriaLevel]菜单项,Logisciop会显示Audit对所测源程序的各项质量标准的检测结果,具体包括:系统的质量标准、类的质量标准、函数的质量标准。第17页,共39页。选择[Browse|Quality|QualityReport]菜单项,可生成网页风格的系统质量评价报告。
第18页,共39页。选择[Project|StartViewer]菜单项,启动“LogiscopeViewer”,通过点击工具条上的按钮,可以查看Audit所提供的对函数的各种分析信息。
第19页,共39页。2.Logiscope的代码规范性检测工具RuleChecker应用:使用RuleChecker来检查代码的规范性分为两个步骤:首先是建立被检测代码的RuleChecker项目,然后是分析RuleChecker给出的代码书写规范性检测结果,得出报告。
第20页,共39页。(1)根据向导建立RuleChecker项目
RuleChecker界面
第21页,共39页。(2)查看检测结果选择[Browse|Rule|RuleViolations]菜单命令,RuleChecker会在树状视图中列出代码中所有违反编码规范的地方。
第22页,共39页。假设经过排错程序中将不再存在错误。程序插装技术的研究涉及下列几个问题:选择被测对象的路径后,点击Run,运行程序。输入/输出缺陷个人发现了n个错误,第二个人发现了m个错误,其中属于两RationalPureCoverage是面向VC、VB或者Java开发的测(2)人工置入的缺陷是否和程序中存在缺陷检测的难易程度一L是可执行的源语句数目。和每个变异的程序,可以求得P1,P2…,Pn的测试数据集C={C1,C2,…,Cn}。变异因子也导致了时间上巨大的开销。行路径、错误处理等方面进行的测试。(1)程序中固有的缺陷是未知的,每个错误被检测的难易程度Gaffnev模型:N=4.选择[Browse|Rule|RuleViolations]菜单命令,RuleChecker会在RuleChecker界面点击[Browse|Rule|RuleViolationsReport]菜单命令,会生成RuleChecker的检测报告。
第23页,共39页。二、动态工具静态测试工具类型:1.功能确认与接口测试测试包括对各模块功能、模块间的接口、局部数据结构、主要执行路径、错误处理等方面进行的测试。2.覆盖测试覆盖分析对所涉及的程序结构元素进行度量,以确定测试执行的充分性。第24页,共39页。动态工具应用实例
RationalPureCoverage应用:RationalPureCoverage是面向VC、VB或者Java开发的测试覆盖程度检测工具,它可以自动检测测试的完整性和那些无法达到的部分。作为一个质量控制工程,可以使用PureCoverage在每一个测试阶段产生详尽的测试覆盖程度报告第25页,共39页。PureCoverage主界面
第26页,共39页。选择“file”中的run后,出现对话框RunProgram。在Programname中选择被测对象的路径后,点击Run,运行程序。运行完程序后,会出现运行后的结果数据。被测程序的函数覆盖和代码覆盖情况第27页,共39页。双击CoverageBrowser窗口中的任何一个文件或函数,或者选择view的FunctionList,即可看到相应的程序代码。其中红色代码表示该测试用例未执行到的语句。
第28页,共39页。3.6软件缺陷分析一、软件缺陷的种类1.输入/输出缺陷
2.逻辑缺陷3.计算缺陷
4.接口缺陷5.数据缺陷
第29页,共39页。二、软件缺陷的产生1.疏忽造成的错误(Carelessnessdefect,CD)2.不理解造成的错误(Misapprehenddefect,MD)3.二义性造成的错误(Ambiguitydefect,AD)4.遗漏造成的错误(Skipdefect,SD)第30页,共39页。三、软件缺陷数目估计1.撒播模型(1)程序中固有的缺陷是未知的,每个错误被检测的难易程度也同样是未知的。(2)人工置入的缺陷是否和程序中存在缺陷检测的难易程度一致也是未知的。第31页,共39页。Hyman提出另外一种模型:假设软件总的排错时间是X个月,假设经过排错程序中将不再存在错误。让两个人共同对程序进行排错,经过足够长(X的一半或更少)的排错时间后,第一个人发现了n个错误,第二个人发现了m个错误,其中属于两个人共同发现的错误有m1个第32页,共39页。2.静态模型Akiyama模型:N=4.86十0.018*L。其中:N是缺陷数;L是可执行的源语句数目。谓词模型:N=C+J其中:C是谓词数目;J是子程序数目。Halstead模型:N=V/3000。其中:V=x
lny,x=x1+x2,y=y1+y2x1:程序中使用操作符的总次数;x2:程序中使用操作数的总次数;y1:程序中使用操作符的种类;y2:程序中使用操作数的种类;第33页,共39页。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。第34页,共39页。3.根据测试覆盖率的预测模型错误与时间曲线错误与覆盖率曲线
错误数时间t1错误数覆盖率0.50.95第35页,共39页。覆盖率与时间曲线
覆盖率时间t1第36页,共39页。四、软件缺陷的发现、排除及效率分析1.软件测试的检测效率分析
软件测试阶段测试能力非形式化的设计检查25%~40%形式化的设计检查45%~65%非形式化的代码检查20%~35%形式化的代码检查45%~70%单元测试15%~50%新功能测试20%~35%回归测试15%~30%集成测试25%~40%系统测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026宁夏银川市卫生健康委员会所属事业单位自主招聘博士研究生19人备考题库附答案详解(基础题)
- 2026年河南省(信阳市)事业单位公开联考招聘400名备考题库附答案详解(综合题)
- 小学主题班会课件:传统节日的庆祝方式
- 2026年河南省郑州巩义市事业单位联考招聘备考题库含答案详解(新)
- 森林资源保护与林业生产管理手册
- 2026重庆建峰工业集团有限公司招聘6人备考题库附答案详解(完整版)
- 2026年河南省(信阳市)事业单位公开联考招聘400名备考题库含答案详解
- 2026江西省水利厅直属事业单位高层次人才招聘12人备考题库及答案详解(各地真题)
- 2026上半年四川乐山市夹江县事业单位考核招聘7人备考题库及答案详解(网校专用)
- 2026宁波农商发展集团有限公司招聘10人备考题库带答案详解
- 人工智能行业的智能市场与智能客户关系管理技术培训
- JBT 10205.2-2023 液压缸 第2部分:缸筒技术规范 (正式版)
- 洪水影响评价报告示范文本
- 金口中心幼儿园园本课程评价体系及评估细则
- 老师我们的朋友
- 回族上坟怎么念
- GB/T 42415-2023表面活性剂静态表面张力的测定
- YY/T 1681-2019医疗器械唯一标识系统基础术语
- GB/T 25380-2010数控滚齿机精度检验
- plm实施工具11培训课件库cmii培训课件
- 《社会工作伦理案例分析》课件011 妇女社会工作伦理
评论
0/150
提交评论