版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 白盒测试1e6e1e2e3e4e5e73.1控制流测试一、基本概念有向图路径完整路径简单路径基本路径子路径回路无回路路径连接覆盖路径覆盖关系举例 2二、控制流覆盖准则语句覆盖准则分支覆盖准则谓词测试原子谓词覆盖准则分支谓词覆盖准则复合谓词覆盖准则路径覆盖准则3部分覆盖准则间的关系 复合谓词覆盖准则分支-谓词覆盖准则分支覆盖准则原子谓词覆盖准则语句覆盖准则43.数据流测试一、基本概念变量的定义性出现:若一个变量在程序中的某处出现使数据与该变量相绑定,则称该出现是定义性出现。变量的引用性出现:若一个变量在程序中的某处出现使与该变量相绑定的数据被引用,则称该出现是引用性出现。5二、数据流覆盖
2、准则定义覆盖测试准则引用覆盖测试准则定义引用覆盖测试准则63.程序插装程序插装技术的研究涉及下列几个问题:(1)探测哪些信息?(2)程序的什么位置设置探测点?(3)需要多少探测点? 程序插装类型:用于测试覆盖率和测试用例有效性度量的程序插装 用于断言检测的程序插装 73.程序变异测试程序变异测试技术的基本思想是:对于给定的程序P,先假定程序中存在一些小错误,每假设一个错误,程序P就变成P,如果假设了n个错误:e1,e2,en,则对应有n个不同的程序:P1,P2,Pn,这里Pi称为P的变异因子。存在测试数据Ci,使得P和Pi的输出结果是不同的。因此,根据程序P和每个变异的程序,可以求得P1,P2
3、,Pn的测试数据集C=C1,C2,Cn。运行C,如果对每一个Ci,P都是正确的,而Pi都是错误的,这说明P的正确性较高。如果对某个Ci,P是错误的,而Pi是正确的,这说明P存在错误,而错误就是ei。8程序强变异测试变异测试的缺点是它需要大量的计算机资源来完成测试充分性分析。对于一个中等规模的软件,所需的存储空间也是巨大的,运行大量变异因子也导致了时间上巨大的开销。 程序弱变异测试弱变异和强变异有很多相似之处。其主要差别在于:弱变异强调的是变动程序的组成部分,根据弱变异准则,只要事先确定导致C与C产生不同值的测试数据组,则可将程序在此测试数据组上运行,而并不实际产生其变异因子。弱变异测试方法的主
4、要优点是开销较小,效率较高。 93.白盒测试工具一、静态工具静态测试工具类型:1.代码审查2.一致性检查3.错误检查4.接口分析5.输入/输出规格说明分析检查6.数据流分析7.类型分析8.单元分析9.复杂度分析10静态工具应用实例1. Logiscope的软件质量分析工具 Audit应用:Audit是审查程序代码质量的,它通过一个文本文件来定义质量模型。文件中首先定义了若干个度量元,并为这些度量元设定了数值范围,接着通过组合若干个度量元形成质量标准,最后又通过组合质量标准,形成最后的质量因素。这个过程与软件质量模型中由底层到高层、由细节到概括的结构恰好对应。 11(1)在Logiscope s
5、tudio中建立Audit项目Logiscope studio环境 12点击菜单项, 并根据新建项目向导建立项目:新建项目对话框13新建项目向导14新建项目结束15()查看检测结果 选择 Browse | Quality | Factor Level 菜单项,Logisciop会显示Audit对所检测源程序质量水平的评价结果,评价结果包括系统的质量、类的质量、函数的质量。 16选择Browse | Quality | Criteria Level 菜单项,Logisciop会显示Audit对所测源程序的各项质量标准的检测结果,具体包括:系统的质量标准、类的质量标准、函数的质量标准。17选择 B
6、rowse | Quality | Quality Report 菜单项,可生成网页风格的系统质量评价报告。 18选择 Project | Start Viewer 菜单项,启动“Logiscope Viewer”,通过点击工具条上的按钮,可以查看Audit所提供的对函数的各种分析信息。 19. Logiscope的代码规范性检测工具 RuleChecker应用 :使用RuleChecker来检查代码的规范性分为两个步骤:首先是建立被检测代码的RuleChecker项目,然后是分析RuleChecker给出的代码书写规范性检测结果,得出报告。 20(1)根据向导建立RuleChecker项目R
7、uleChecker界面 21()查看检测结果 选择 Browse | Rule | Rule Violations 菜单命令,RuleChecker会在树状视图中列出代码中所有违反编码规范的地方。 22点击 Browse | Rule | Rule Violations Report 菜单命令,会生成RuleChecker的检测报告。 23二、动态工具静态测试工具类型:1.功能确认与接口测试 测试包括对各模块功能、模块间的接口、局部数据结构、主要执行路径、错误处理等方面进行的测试。2.覆盖测试 覆盖分析对所涉及的程序结构元素进行度量,以确定测试执行的充分性。24动态工具应用实例 Ration
8、al PureCoverage 应用:Rational PureCoverage是面向VC、VB或者Java开发的测试覆盖程度检测工具,它可以自动检测测试的完整性和那些无法达到的部分。作为一个质量控制工程,可以使用PureCoverage在每一个测试阶段产生详尽的测试覆盖程度报告 25PureCoverage 主界面 26选择“file”中的run 后,出现对话框Run Program。在Program name中选择被测对象的路径后,点击Run,运行程序。运行完程序后,会出现运行后的结果数据。 被测程序的函数覆盖和代码覆盖情况 27双击Coverage Browser 窗口中的任何一个文件或
9、函数,或者选择view 的Function List,即可看到相应的程序代码。 其中红色代码表示该测试用例未执行到的语句。 283.6软件缺陷分析一、软件缺陷的种类1.输入/输出缺陷 2.逻辑缺陷 3.计算缺陷 4.接口缺陷 5.数据缺陷 29二、软件缺陷的产生1.疏忽造成的错误(Carelessness defect,CD)2.不理解造成的错误(Misapprehend defect,MD)3.二义性造成的错误(Ambiguity defect,AD)4.遗漏造成的错误(Skip defect,SD)30三、软件缺陷数目估计1.撒播模型 (1)程序中固有的缺陷是未知的,每个错误被检测的难易程
10、度也同样是未知的。(2)人工置入的缺陷是否和程序中存在缺陷检测的难易程度一致也是未知的。31Hyman提出另外一种模型:假设软件总的排错时间是X个月,假设经过排错程序中将不再存在错误。让两个人共同对程序进行排错,经过足够长(X的一半或更少)的排错时间后,第一个人发现了n个错误,第二个人发现了m个错误,其中属于两个人共同发现的错误有m1个 322.静态模型 Akiyama模型: N=486十0018*L。其中:N是缺陷数;L是可执行的源语句数目。谓词模型:N=C+J其中:C是谓词数目;J是子程序数目。Halstead模型:N=V/3000。其中:V=xlny,x=x1+x2,y=y1+y2x1:
11、程序中使用操作符的总次数;x2:程序中使用操作数的总次数;y1:程序中使用操作符的种类;y2:程序中使用操作数的种类; 33Lipow模型: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.0015L43。 Compton and Withrow模型:N=0.069十0.00156L十0.00000047L2。 343.根据测试覆盖率的预测模型 错误与时间曲线 错误与覆盖率曲线 错误数时间t1错误数覆盖率0.50.9535 覆盖率与时间曲线覆盖率时间t136四、软件缺陷的发现、排除及效率分析1.软件测试的检测效率分析 软件测试阶段 测试能力 非形式化的设计检查 25%40% 形式化的设计检查 45%65% 非形式化的代码检查 20%35% 形式化的代码检查 45%70% 单元测试 15%50% 新功能测试 20%35%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年沪教版选修5历史下册月考试卷含答案
- 2025年沪教新版高二地理下册月考试卷含答案
- 2025年华师大版必修1历史上册阶段测试试卷
- 2025年沪科版选择性必修1历史上册阶段测试试卷
- 2025年华师大新版选择性必修1语文上册阶段测试试卷含答案
- 2025版南宁租赁市场住宅租赁合同模板(含违约责任)4篇
- 房座买卖合同(2篇)
- 2025年度医疗机构消毒供应中心运营承包合同书4篇
- 二零二五年度水利枢纽泥水工程劳务分包合同8篇
- 2025年度体育场馆退休人员聘用合同
- 我的家乡琼海
- (2025)专业技术人员继续教育公需课题库(附含答案)
- 《互联网现状和发展》课件
- 【MOOC】计算机组成原理-电子科技大学 中国大学慕课MOOC答案
- 2024年上海健康医学院单招职业适应性测试题库及答案解析
- 2024年湖北省武汉市中考语文适应性试卷
- 非新生儿破伤风诊疗规范(2024年版)解读
- EDIFIER漫步者S880使用说明书
- 上海市华东师大二附中2025届高二数学第一学期期末统考试题含解析
- IP授权合作合同模板
- 2024中华人民共和国农村集体经济组织法详细解读课件
评论
0/150
提交评论