第3章 动态测试技术_第1页
第3章 动态测试技术_第2页
第3章 动态测试技术_第3页
第3章 动态测试技术_第4页
第3章 动态测试技术_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、第第3章章 动态动态测试技术高级软件测试技术杜庆峰2011年10月第三章 动态动态测试技术白盒测试技术白盒测试技术黑盒测试技术黑盒测试技术123.1 黑盒测试技术黑盒测试技黑盒测试技术术3.1.1 边界值测试n5n5l基本边界值分析的基本思想是在输入变量的取值区间内取最小值、略高于最小值、正常值、略低于最大值和最大值5个值。l测试用例个数:4n+1.基本边界值分析基本边界值分析健壮性边界分析健壮性边界分析边界值分析设计边界值分析设计测试用例的原则测试用例的原则最坏情况边界分析最坏情况边界分析l健壮性边界分析除了变量的5个边界值分析取值以外,还要取一个略超过最大值(max+)的值,以及取一个略小

2、于最小值(min-)的值,以测试超过边界极值时系统会有什么表现。测试用例个数:6n+1.l最坏情况边界分析是“多缺陷假”设的情况,也就是程序的失效是由于两个(或多个)变量值在其边界值附近取值共同引起的。测试用例个数3.1.2 等价类测试弱一般等弱一般等价类测试价类测试等价类方等价类方法设计原法设计原则则弱健壮等弱健壮等价类测试价类测试强健壮等强健壮等价类测试价类测试l 等价类测试的思想是通过对每个等价类中取一个元素或一个点来作为测试用例,如果等价类划分合理,则可以大大降低测试用例数量和测试用例之间的冗余。 等价类的等价类的基本思想基本思想强一般等强一般等价类测试价类测试l 6条等价类设计原则3

3、.1.3 错误推测法n错误推测法就是基于经验和直觉推测程序中所有可能存在的各种错误或缺陷,有针对性地设计测试用例的方法。n错误推测法的基本思想是列举出程序中所有可能有的错误或缺陷和容易发生错误或缺陷的特殊情况,根据这些推测来设计测试用例。错误推测法本身不是一种测试技术,而是一种可以应用到所有测试技术中产生更加有效测试的一种技能。3.1.4&3.1.5特点:特点:考虑输入条件间的组合关系考虑输入条件间的组合关系;考虑输出条件对输入条件的考虑输出条件对输入条件的信赖关系,即因果关系;信赖关系,即因果关系;测试用例发现错误或缺陷的测试用例发现错误或缺陷的效率高;效率高;能检查出功能说明书(规

4、约能检查出功能说明书(规约)中的某些不一致或遗漏;)中的某些不一致或遗漏;因果图方法最终生产的就是因果图方法最终生产的就是判定表,它适合于检查程序判定表,它适合于检查程序输入条件和各种组合情况。输入条件和各种组合情况。 在所有功能性测试方法中,基在所有功能性测试方法中,基于决策表的测试方法是最严格于决策表的测试方法是最严格的,因为决策表具有逻辑严格的,因为决策表具有逻辑严格性。性。决策表的组成描述:决策表的组成描述:条件桩条件桩行动桩行动桩条件条目条件条目行动条目行动条目规则规则3.1.6&3.1.7 现在的软件几乎都是用事件触发现在的软件几乎都是用事件触发来控制流程的,来控制流程的,

5、 这种在软件设计方面的思想也可这种在软件设计方面的思想也可引入到软件测试中,可以比较生动引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时于测试设计者设计测试用例,同时使测试用例更容易理解和执行。使测试用例更容易理解和执行。 在使用场景法测试一个软件的时候在使用场景法测试一个软件的时候,测试流程按照一定的事件流正确,测试流程按照一定的事件流正确地实现某个软件的功能时,那么把地实现某个软件的功能时,那么把这个流称为该软件功能的基本流;这个流称为该软件功能的基本流;而凡是出现故障或缺陷或例外的流而凡是出现故障或缺陷或例外的流程,

6、就称之为备选流。程,就称之为备选流。 在利用决策表或因果图来设计测在利用决策表或因果图来设计测试用例时,往往由于因果关系非试用例时,往往由于因果关系非常庞大,导致利用决策表或因果常庞大,导致利用决策表或因果图而得到的测试用例数目多得惊图而得到的测试用例数目多得惊人,给软件测试带来沉重的负担人,给软件测试带来沉重的负担。为了有效地、合理地减少测试。为了有效地、合理地减少测试的工时与费用,可利用正交试验的工时与费用,可利用正交试验法进行测试用例的设计。法进行测试用例的设计。 正交实验设计方法是依据正交实验设计方法是依据Galois理论,从大量的(实验)数据(理论,从大量的(实验)数据(测试用例)中

7、挑选适量的、有代测试用例)中挑选适量的、有代表性的点(用例),从而合理地表性的点(用例),从而合理地安排实验(测试)的一种科学实安排实验(测试)的一种科学实验设计方法。验设计方法。3.1.8 黑盒测试方法选择的策略n首先考虑等价类划分n在任何情况下都必须使用边界值分析方法。n可以用错误推测法追加一些测试用例作补充,这需要依靠测试工程师的智慧和经验。n如果软件的功能说明中含有输入条件的组合情况,也就是输入变量之间有很强的依赖关系,则一开始就可选用因果图法或决策表法。但是不要忘记用边界值法或其他方法设计测试用例作补充。n如果被测软件的业务逻辑清晰,同时又是系统级别的测试,那么可以考虑用场景法来设计

8、测试用例。n对于参数配置类的软件,选用正交试验法可以达到测试用例数量少且分布均匀的目的。3.2 白盒测试技术白盒测试技术程序结构分析白盒测试概念逻辑覆盖测试法其他白盒测试方法简介程序插装白盒测试方法选择的策略3.2.1 白盒测试概念n白盒测试是一种用于检查代码是否按照预期工作的验证技术,又称结构测试或逻辑驱动测试或基于程序的测试。n白盒测试的主要特点是它主要针对被测程序的源代码,测试者可以完全不考虑程序的功能。n白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异以及程序控制流分析、数据流分析等。3.2.2 程序结构

9、分析n程序的结构形式是白盒测试的主要依据。将从控制流分析、数据流分析和信息流分析的不同方面讨论几种机械性的方法分析程序结构。u控制流分析u数据流分析u信息流分析3.2.3 逻辑覆盖测试法n结构测试是依据被测程序的逻辑结构设计测试用例,驱动被测程序运行完成测试。结构测试中的一个重要问题是测试进行到什么地步就达到要求,可以结束测试了。这就是说需要给出结构测试的覆盖准则。u语句覆盖u判定(判断)覆盖u条件覆盖u判定-条件覆盖u条件组合覆盖u路径覆盖3.2.4 程序插装n程序插装(Program Instrumentation)是一种基本的测试手段,在软件测试中有着广泛的应用。n方法概述:程序插装的基

10、本原理是在不破坏被测试程序原有逻辑完整性的前提下,在程序的相应位置上插入一些探针。这些探针本质上就是进行信息采集的代码段,可以是赋值语句或采集覆盖信息的函数调用。通过探针的执行并输出程序的运行特征数据。基于对这些特征数据的分析,揭示程序的内部行为和特征。n断言语句:在所测试源程序中,在指定位置按一定格式,用注释语句写出的断言叫做断言语句。在程序执行时,对照断言语句检查事先指定的断言是否成立。可以帮助复杂系统的检验、调试和维护。3.2.5 其他白盒测试方法简介域测试(Domain Testing)是一种基于程序结构的测试方法。符号测试的基本思想是允许程序的输入不仅仅是具体的数值数据,而且包括符号值。舍掉一些次要因素,对循环机制进行简化路径覆盖为Z路径覆盖。程序变异方法与前面提到的结构测试和功能测试都不一样,它是一种错误驱动测试。3.2.6 白盒测试方法选择的策略n在白盒测试中,使用各种测试方法的综合策略参考如下。u在测试中,应尽量先用人工或工具进行静态结构分析。u测试中可采取先静态后动态的组合方式:先进行静态结构分析、代码检查并进行静态质量度量,再进行覆盖率测试。u利用静态分析的结果作为引导,通过代码检查和动态测试的方式对静态分析结果进行进一步的确认,使测试工作更为有效。u覆盖率测试是白

温馨提示

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

评论

0/150

提交评论