- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
白盒测试及其用例及设计
教学目标 理论环节 学习理解白盒测试方法的基本概念 学习理解白盒测试的覆盖理论 学习掌握白盒测试的路径表达 学习掌握白盒测试的基本路径测试法 实践环节 通过案例运用学习掌握覆盖问题的解决方法 运用基本路径测试方法进行实际程序测试 白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。白盒法把测试对象看做是一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。 白盒法也不可能进行穷举测试,企图遍历所有的路径,往往是做不到的。 对于白盒测试,即使每条路径都测试了,程序仍可能有错。再如由于疏忽漏写了路径,白盒测试也发现不了。 所以,白盒法不能使测试达到彻底。为了用有限的测试发现更多的错误,需精心设计测试用例。黑盒法、白盒法是设计测试用例的基本策略,每一种方法对应着多种设计测试用例的技术,每种技术可达到一定的软件质量标准要求。 测试用例的设计 在测试阶段穷举测试不可行,必须要从数量极大的可用测试用例中精心地挑选少量的测试数据,使得采用这些测试数据能够达到最佳的测试效果,能够高效率地把隐藏的错误揭露出来。下面介绍几种白盒测试设计测试用例的方法。 路径覆盖 分析: 虽然前面一组测试用例满足了路径覆盖,但并没有覆盖程序中所有的条件组合,即满足路径覆盖的测试用例并不一定满足组合覆盖。 路径覆盖 说明: 对于比较简单的小程序,实现路径覆盖是可 能做到的。但如果程序中出现较多判断和较 多循环,可能的路径数目将会急剧增长,要 在测试中覆盖所有的路径是无法实现的。为 了解决这个难题,只有把覆盖路径数量压缩 到一定的限度内,如程序中的循环体只执行 一次。 路径覆盖 在实际测试中,即使对于路径数很有限的程 序已经做到路径覆盖,仍然不能保证被测试 程序的正确性,还需要采用其他测试方法进 行补充。 语句覆盖发现错误能力最弱。判定覆盖包含了语句覆盖,但它可能会使一些条件得不到测试。条件覆盖对每一条件进行单独检查,一般情况下它的检错能力较判定覆盖强,但有时达不到判定覆盖的要求。判定/条件覆盖包含了判定覆盖和条件覆盖的要求,但由于计算机系统软件实现方式的限制,实际上不一定达到条件覆盖的标准。条件组合覆盖发现错误能力较强,凡满足其标准的测试用例,也必然满足前4种覆盖标准。 前5种覆盖标准把注意力集中在单个判定或判定的各个条件上,可能会使程序某些路径没有执行到。路径测试根据各判定表达式取值的组合,使程序沿着不同的路径执行,查错能力强。但由于它是从各判定的整体组合出发设计测试用例的,可能使测试用例达不到条件组合覆盖的要求。在实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到路径覆盖测试标准。 练习题:为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。 作业题 作业题 试做出左边三角形问题的语句覆盖,条件覆盖,判定覆盖,判定-条件覆盖、组合条件覆盖的测试用例.并注明满足覆盖的条件.eg: a b c 3 4 5 T1T2T3F4F5F6 基本路径测试 基本路径测试法是在程序控制流图的基础上, 通过分析控制构造的环路复杂性,导出基本可 行路径的集合,从而设计测试用例的方法。设 计出的测试用例要保证被测试程序的每个可执 行语句至少执行一次。 完成路径测试的理想情况是做到路径覆盖, 但对于复杂性大的程序要做到所有路径覆盖 是不可能的。 基本路径测试 在不能做到所有路径覆盖的前提下,如 果某一程序的每一个独立路径都被测试 过,那么可以认为程序中的每个语句都 已经检验过了,即达到了语句覆盖。这 种测试方法就是通常所说的基本路径测 试方法。 在介绍基本路径方法之前,必须先介绍一种简单的控制流表示方法,即流图。 控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。 控制流图中包括两种图形符号:节点和控制流线。 节点由带标号的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。 控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。 对于复合条件,则可将其分解为多个单个条件,并映射成控制流图。 常见结构的控制流图 1. 程序的控制流图 1. 程序的控制流图 区域 程序的控制流图 如果判断中的条件表达式是由一个或多 个逻辑运算符 ( ||, , ...) 连接的复合 条件表达式,则需改为 一系列只有单个 条件的嵌套的判断。 程序的控制流图 1. 程序的控制流图
文档评论(0)