软件测试课件 第5章 单元测试.ppt

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

软件测试 第5章 单元测试 问题 本章内容 5.1 什么是单元测试 5.2 单元测试的方法 5.3 白盒测试方法的用例设计 5.4 代码审查 5.5 集成测试 5.6 单元测试工具 本章内容 5.1 什么是单元测试 5.2 单元测试的方法 5.3 白盒测试方法的用例设计 5.4 代码审查 5.5 集成测试 5.6 单元测试工具 5.1 什么是单元测试 单元测试就是对已实现的软件最小单元进行测试,以保证构成软件系统的各个单元的质量 单元测试活动中,强调被测试对象的独立性 单元测试应从各个层次来对单元内部算法、外部功能实现等进行检验,包括对程序代码的评审和通过运行单元程序来验证其功能特性等内容。 单元测试的目标 单元实现了其特定的功能,如果需要,返回正确的值 单元的运行能够覆盖预先设定的各种逻辑 在单元工作过程中,其内部数据能够保持完整性,包括全局变量的处理、内部数据的形式、内容及相互关系等不发生错误 可以接受正确数据,也能处理非法数据,在数据边界条件上,单元也能够正确工作 该单元的算法合理,性能良好 该单元代码经过扫描,没有发现任何安全性问题 本章内容 5.1 什么是单元测试 5.2 单元测试的方法 5.3 白盒测试方法的用例设计 5.4 代码审查 5.5 集成测试 5.6 单元测试工具 单元测试的方法 单元测试主要采用白盒测试方法,辅以黑盒测试方法。白盒测试方法应用于代码评审、单元程序检验之中,而黑盒测试方法则应用于模块、组件等大单元的功能测试之中 黑盒方法和白盒方法 黑盒测试方法(Blake-box Testing),是把程序看作一个不能打开的黑盒子,不考虑程序内部结构和内部特性,而是考察数据的输入、条件限制和数据输出,完成测试 白盒测试方法(White-box Testing),也称结构测试或逻辑驱动测试。白盒测试方法是根据模块内部结构了解,基于内部逻辑结构,针对程序语句、路径、变量状态等来进行测试,检验程序中的各个分支条件是否得到满足、每条执行路径是否按预定要求正确的工作。 驱动程序和桩程序 驱动程序(driver),对底层或子层模块进行(单元或集成)测试时所编制的调用被测模块的程序,用以模拟被测模块的上级模块 桩程序(stub),也有人称为存根程序,对顶层或上层模块进行测试时,所编制的替代下层模块的程序,用以模拟被测模块工作过程中所调用的模块。 示例 本章内容 5.1 什么是单元测试 5.2 单元测试的方法 5.3 白盒测试方法的用例设计 5.4 代码审查 5.5 集成测试 5.6 单元测试工具 5.3 白盒测试方法的用例设计 5.3.1 分支覆盖 5.3.2 条件覆盖法 5.3.3 基本路径测试法 白盒方法的目标 语句覆盖,使得程序中每一条可执行语句至少被执行一次 分支覆盖,使得程序中每一个分支都至少被执行一次 条件覆盖,程序中每一个条件至少有一次被满足 条件组合覆盖,每个分支中各条件的每一种组合至少出现一次 路径覆盖,对程序模块的所有独立的基本路径至少要测试一次 分支/判定 测试 实例 设计分析 分支覆盖 vs. 语句覆盖 条件覆盖 vs. 分支覆盖 条件覆盖 vs. 分支覆盖 条件覆盖不能保证分支覆盖: a0 and b0 用例1: a=1, b=-1; 用例2:a=-1, b=1 实现了条件覆盖 但没有实现分支覆盖 设计两个测试用例即覆盖所有条件,也覆盖所有分支 ? 基本路径覆盖 路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证被测试程序的每个可执行语句至少被执行一次。 程序流程图 示例 环路复杂性 V(G) = 区域数目 V(G) = 边界数目 – 节点数目 + 2 V(G) = 判断节点数目 + 1 示例计算结果:V(G) =4 确定独立路径获得测试用例 A-C-E-F-H A-C-E-G-H A-B-C-D-C—E-F-H A-B-C-D-C—E-G-H 图形矩阵 基本路径测试方法 完成路径测试的理想情况是做到路径覆盖,但对于复杂性大的程序要做到所有路径覆盖(测试所有可执行路径)是不可能的。 在不能做到所有路径覆盖的前提下,如果某一程序的每一个独立路径都被测试过,那么可以认为程序中的每个语句都已经检验过了,即达到了语句覆盖。这种测试方法就是通常所说的基本路径测试方法 基本路径测试举例 先画流程图 根据流程图画控制流图 计算环形复杂度: 设计测试用例:为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到 小结 六种覆盖标准:语句覆盖

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档