第七章实现76白盒测试技术.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章实现76白盒测试技术

软件工程导论 陈丹琪 灾害信息工程系 复 习 软件实现是指编码和测试两个阶段。 编码是把软件设计结果翻译成用某种程序设计语言书写的程序的过程。一定注意编码要规范。 测试是为了发现程序中的错误而执行程序的过程。 常用方法:白盒测试、黑盒测试 测试步骤: 调试是在测试发现错误之后排除错误的过程。 软件可靠性的概念及计算方法 本节课内容 第七章 实现 7.1、编码 7.2、软件测试基础 7.3、单元测试 7.4、集成测试 7.5、确认测试 7.6、白盒测试技术 7.7、黑盒测试技术 7.8、调试 7.9、软件可靠性 白盒测试技术 白盒测试——按照程序内部预期应有的逻辑测试程序,检验程序中的每条执行通路是否都能按预定要求正确工作。又称结构测试,也叫做玻璃盒测试。 它要求测试人员对程序的结构和处理过程有完全的了解,一般由开发工程师负责实施。 设计白盒测试用例的两种常用技术: 逻辑覆盖 控制结构测试 逻辑覆盖 逻辑覆盖——是以程序内部的逻辑结构为基础的设计测试用例的技术。 从覆盖语句的详尽程度 分析,把逻辑覆盖分为: 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 逻辑覆盖 语句覆盖——选择足够多的测试数据,使得每一可执行语句至少执行一次。 语句覆盖是最弱的逻辑覆盖准则。 判定覆盖——选择足够多的测试数据,不仅使得每个语句必须至少执行一次,而且每个判断的取真分支和取假分支也至少执行一次。判定覆盖又叫分支覆盖。 满足判定覆盖的测试用例数据只覆盖了程序全部路径的一半,覆盖程度仍然不高,只比语句覆盖强。 逻辑覆盖 条件覆盖——设计若干测试用例,运行被测程序,使得程序中每个条件的可能取值至少执行一次。 条件覆盖使判定表达式中每个条件都取到了两个不同的结果,通常比判定覆盖强。 判定/条件覆盖——设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。 有时判定/条件覆盖也并不比条件覆盖更强。 逻辑覆盖 条件组合覆盖——设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。 满足条件组合覆盖标准的测试数据,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准。因此,条件组合覆盖是这几种覆盖标准中最强的。 逻辑覆盖 逻辑覆盖 从程序路径的覆盖程度分析,把逻辑覆盖分为: 点覆盖 如果连通图G的子图 G′是连通的,而且包含G的所有结点,则称 G′是G的点覆盖。点覆盖标准与语句覆盖标准相同。 边覆盖 如果连通图G的子图 G〞是连通的,而且包含G的所有边,则称 G〞是G的边覆盖。边覆盖与判定覆盖一致。 路径覆盖 选择足够的测试用例,使得程序的每条可能路径至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。 白盒测试 求数组中最大元素程序段流程图如下。 控制结构测试 控制结构测试——是根据程序的控制结构设计测试用例的技术。 常用技术有: 基本路径测试 它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 如果把覆盖的路径数压缩到一定限度内,如程序中的循环体只执行零次和一次,就成为基本路径测试。 设计出的测试用例要保证程序的每一个可执行语句至少要执行一次,而且每个判定条件在执行时都分别取真和假两种值。 条件测试 循环测试 控制结构测试 控制结构测试 条件测试——是检查程序模块中所包含逻辑条件的测试案例设计方法。 条件成分的类型 布尔算符(OR、AND、NOT) 布尔变量 布尔括弧(括住简单条件或复合条件) 关系算符(<、≤、=、≠、>、≥) 算术表达式 条件测试的优点: 容易度量条件的测试覆盖率 程序中条件的测试覆盖率可以指导附加测试的设计 控制结构测试 条件测试策略: 分支测试:对于复合条件C来说,C的真分支和假分支以及C中的每个简单条件,都应该至少执行一次。 域测试:对一个关系表达式执行三个或四个测试。 让关系算符分别取大于、等于、小于,并使位于关系算符两侧的测试数据的差别尽可能小。 BRO(Branch and Relational Operator分支与关系运算符)测试 C1∶B1B2 ——{(t,t),(f,t),(t,f)} C2∶B1&(E3=E4) ——{(t,=),(f,=),(t,<),(t,>)} C3∶(E1>E2)&(E3=E4) —— {(>,=),(=,=),(<,=),(>,>),(>,<)} 控制结构测试 循环测试——专注于测试循环结构的有效性。 简单循环 跳过循环 只通过循环一次 通过循环两次 通过循环m次,其中m<n-1 通过循环n-1,n,n+1次 控制结构测试 嵌套循环 从最内层循环开始,将其他循环设置为最小值。 对最内

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档