For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
单元测试主要采用白盒测试方法,辅以黑盒测试方法。白盒测试方法应用于代码评审、单元程序检验之中,而黑盒测试方法则应用于模块、组件等大单元的功能测试之中。
黑白盒测试方法:
黑盒测试方法(Blake-box Testing),是把程序看作一个不能打开的黑盒子,不考虑程序内部结构和内部特性,而是考察数据的输入、条件限制和数据输出,完成测试。
白盒测试方法(White-box Testing),也称结构测试或逻辑驱动测试。白盒测试方法是根据模块内部结构了解,基于内部逻辑结构,针对程序语句、路径、变量状态等来进行测试,检验程序中的各个分支条件是否得到满足、每条执行路径是否按预定要求正确的工作。
驱动程序(driver),对底层或子层模块进行(单元或集成)测试时所编制的调用被测模块的程序,用以模拟被测模块的上级模块
桩程序(stub),也有人称为存根程序,对顶层或上层模块进行测试时,所编制的替代下层模块的程序,用以模拟被测模块工作过程中所调用的模块。
白盒测试方法的用例设计
语句覆盖,使得程序中每一条可执行语句至少被执行一次
分支覆盖,使得程序中每一个分支都至少被执行一次
节点①
N < 0 : 如N= -1, -2, …, -10, …
N >= 0: 如N=1,2, …, 10, …
节点③
(K
(K
节点⑤
R<= Max
R> Max
N= -2,Max = 10: 覆盖①②③④③④③⑥
N= 5,Max = 1: 覆盖①②③④③④③⑦
分支覆盖VS语句覆盖
条件覆盖,程序中每一个条件至少有一次被满足
条件覆盖 vs. 分支覆盖
条件覆盖不能保证分支覆盖,例如设计两个测试用例N= 1、Max = -1和N= 0、Max = 1
(K
设计两个测试用例N= 3、Max = 10和N= -1、Max = 0,即覆盖了所有条件,也覆盖了所有分支
路径覆盖,对程序模块的所有独立的基本路径至少要测试一次
路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证被测试程序的每个可执行语句至少被执行一次。
代码审查
代码审查的目的就是为了产生合格的代码,检查源程序编码是否符合详细设计的编码规定,确保编码与设计的一致性和可追踪性
代码规范性的审查
代码规范性的审查将助于更早地发现缺陷,代码质量的提高,而且可以帮助程序员遵守规则、养成好的习惯,以达到预防缺陷的目的
代码风格和编程规则两者不可缺一,都应列入代码评审的范围里
命名规则 、缩进与对齐 、注释 和函数处理 等。
集成测试
非渐增式测试模式
采用大棒集成方法,先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试 。
因为所有的模块一次集成的,所以很难确定出错的真正位置、所在的模块、错误的原因。这种方法并不推荐在任何系统中使用,适合在规模较小的应用系统中使用。
非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。
渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进
驱动程序/驱动模块(driver),用以模拟被测模块的上级模块。驱动模块在集成测试中接受测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。
桩程序/桩模块(stub),也有人称为存根程序,用以模拟被测模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口来测试。
自顶向下法(Top-down Integration)
自底向上法(Bottom-up Integration)
微软VSTS的单元测试
Visual Studio Team System(VSTS)是一套工具集,全面整合了软件设计、开发、测试、部署和人员协作工具,其开发版(Development Edition)提供了静态分析、代码剖析、代码涵盖以及其它单元测试所需的功能特性。
创建单元测试项目。
设置项目引用。
添加适当的测试类(一个或多个)。
生成主干的单元测试框架(Unit Test Framework)类和属性。
创建单个测试方法。
创建适合特定接口的逻辑
安徽合肥达内IT培训互联网技术云计算Python课程免费试听课程火热报名中,带你轻松入行,26大课程全国45个城市,129家中心均可就近学习,学完后,达内老师会帮助进行面试辅导,在面试前,就带你跨过可能存在的坑,让你入职更加顺利。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请添加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。