软件测试第5章单元测试和集成测试2017ppt课件.pptx
《软件测试第5章单元测试和集成测试2017ppt课件.pptx》由会员分享,可在线阅读,更多相关《软件测试第5章单元测试和集成测试2017ppt课件.pptx(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件测试 第2版第5章 单元测试和集成测试问题从传统制造业得到什么启发?从传统制造业得到什么启发?第5章内容5.1什么是单元测试5.2单元测试的方法5.3白盒测试方法的用例设计5.4代码审查5.5集成测试5.6单元测试工具5.1 什么是单元测试单元测试单元测试就是对已实现的软件最小单元进行测试,以保证构成软件系统的各个单元的质量 单元测试活动中,强调被测试对象的独立性单元测试应采用不同方式、从不同角度对单元内部算法、外部功能实现等进行检验,包括对程序代码的评审和通过运行单元程序来验证其功能特性等内容。单元测试的目标单元实现了其特定的功能,返回正确的值单元的运行能够覆盖预先设定的各种逻辑在单元工
2、作过程中,其内部数据能够保持完整性,包括全局变量的处理、内部数据的形式、内容及相互关系等不发生错误可以接受正确数据,也能处理非法数据,在数据边界条件上,单元也能够正确工作该单元的算法合理,性能良好代码经过扫描,符合代码规范,不存在安全性等问题第5章内容5.1什么是单元测试5.2单元测试的方法5.3白盒测试方法的用例设计5.4代码审查5.5集成测试5.6单元测试工具5.2单元测试的方法5.2.1黑盒方法和白盒方法5.2.2驱动程序和桩程序单元测试的方法单元测试主要采用白盒测试方法,辅以黑盒测试方法。白盒测试方法应用于代码评审、单元程序检验之中,而黑盒测试方法则应用于模块、组件等大单元的功能测试之
3、中 黑盒方法和白盒方法 黑盒测试方法黑盒测试方法(Blake-box Testing),也称数据驱动测试,是把程序看作一个黑盒子,不考虑程序内部结构和内部特性,而是考察系统的(数据)输入输出、外部事件和条件限制,完成测试。白盒测试方法白盒测试方法(White-box Testing),也称结构化测试或逻辑驱动测试,是基于内部逻辑结构(如程序语句、路径、变量状态等)来进行测试,检验程序中的各个分支条件是否得到满足、每条执行路径是否按预定要求正确的工作。驱动程序和桩程序 驱动程序驱动程序(driver),对下层模块进行单元测试时所编制的调用被测模块的程序,用以模拟被测模块的上级模块 桩程序桩程序(
4、stub),也有人称为存根程序,对上层模块进行测试时,所编制的替代下层模块的程序,用以模拟被测模块工作过程中所调用的模块。示例ABCDEFGTest驱动程序调用运行桩程序桩程序测试结果被测模块B第5章内容5.1什么是单元测试5.2单元测试的方法5.3白盒测试方法的用例设计5.4代码审查5.5集成测试5.6单元测试工具5.3白盒测试方法5.3.1分支覆盖5.3.2条件覆盖法5.3.3基本路径测试法白盒方法的测试覆盖目标语句覆盖语句覆盖,使得程序中每一条可执行语句至少被执行一次分支覆盖分支覆盖,使得程序中每一个分支都至少被执行一次条件覆盖条件覆盖,程序中每一个条件至少有一次被满足路径覆盖路径覆盖,
5、对程序模块的所有独立的基本路径至少要测试一次分支覆盖(Branch Coverage)的基本思想是设计若干个测试用例,运行被测程序,使程序中的每个分支至少被执行一次 判定?判定?代码块1代码块2分支覆盖实例设计分析节点节点N=0:如N=1,2,10,节点节点(KN)and(R=Max)成立(True)(KN)and(R=Max)不成立(False)节点节点R Max N=-2,Max=10:覆盖N=5,Max=1:覆盖 分支覆盖 vs.语句覆盖i:=i+1;result:=result+i;(iN)and(result=maxint)result=maxintN 0N:=-N;output(r
6、esult);output(too large);exitstartyesnonoyesyesnoN=0)result=0 i=0条件覆盖 vs.分支覆盖分支一.T.a0,b0:a=1,b=1分支二.F.a0,b=0:a=1,b=-1a0:a=-1,b=1 a=0,b0 and b0 只有两个分支(.T.F.),但条件有 a0,a0,b=0,构成四种组合条件覆盖 vs.分支覆盖p条件覆盖不能保证分支覆盖,例如设计两个测试用例N=1、Max=-1和N=0、Max=1 (KN)and(R=Max).T.的分支没有被覆盖p设计两个测试用例N=3、Max=10和N=-1、Max=0,即覆盖了所有条件,
7、也覆盖了所有分支 基本路径覆盖路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径执行路径。基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证被测试程序的每个可执行语句至少被执行一次。程序流程图 示例环路复杂性 V(G)=区域数目 V(G)=边界数目 节点数目+2 V(G)=判断节点数目+1 示例计算结果:V(G)=4确定基本路径获得测试用例ACEFHACEGHABCDCEFHABCDCEGHN=0,Max=10 N=0,Max=-1 N
8、=-2,Max=10 N=-10,Max=10 图形矩阵 每行和每列依次对应到一个每行和每列依次对应到一个被标识的结点,矩阵元素对被标识的结点,矩阵元素对应到结点间的连接应到结点间的连接 第5章内容5.1什么是单元测试5.2单元测试的方法5.3白盒测试方法的用例设计5.4代码审查5.5集成测试5.6单元测试工具5.4 代码审查5.4.1 代码审查的范围和方法代码审查的范围和方法5.4.2 代码规范性的审查代码规范性的审查5.4.3 代码缺陷检查表代码缺陷检查表代码审查的范围和方法代码审查的目的就是为了产生合格的代码,检查源程序编码是否符合详细设计的编码规定,确保编码与设计的一致性和可追踪性 审
9、查的内容最佳实践p业务逻辑的审查 p算法的效率 p代码风格 p编程规则 代码规范性的审查代码规范性的审查将助于更早地发现缺陷,代码质量的提高,而且可以帮助程序员遵守规则、养成好的习惯,以达到预防缺陷的目的 代码风格和编程规则两者不可缺一,都应列入代码评审的范围中命名规则、缩进与对齐、注释 和函数处理 等 代码缺陷检查表把程序设计中可能发生的各种缺陷进行分类,以每一类列举尽可能多的典型缺陷,形成代码缺陷检查表。代码评审常常会使用这类检查表,以表的内容为检查依据、要点,防止人为的疏漏,并提高评审效率。在每次评审之后,对新发现的缺陷也要进行分析、归类,不断充实缺陷检查表 详见表5-4第5章内容5.1
10、什么是单元测试5.2单元测试的方法5.3白盒测试方法的用例设计5.4代码审查5.5集成测试5.6单元测试工具5.5 集成测试5.5.1 集成测试的模式5.5.2 自顶向下集成测试5.5.3 自底向上集成测试5.5.4 混合策略5.5.5 持续集成测试为什么总是集成不起来?集成测试的模式p非渐增式测试非渐增式测试模式模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。p渐增式测试模式:渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。比较各自的优缺点比较各自的优缺点非渐增式测试模式因为所有的模
11、块一次集成的,所以很难确定出错的真正位置。这种方法并不推荐在任何系统中使用,但可以在规模较小的应用系统中使用。渐增式测试模式自顶向下法(Top-down Integration)自底向上法(Bottom-up Integration)自底向上法的主要优缺点自底向上法的主要优缺点混合策略混合法:对软件结构中较上层,使用的是混合法:对软件结构中较上层,使用的是“自顶向下自顶向下”法;对软件结构中法;对软件结构中较下层,使用的是较下层,使用的是“自底向上自底向上”法,两者相结合法,两者相结合 三明治集成方法(Sandwich Integration)采用三明治方法的优点是:它将自顶向下和自底向上的集
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 单元测试 集成 2017 ppt 课件
限制150内