概述
文章目录
- 5.1 单元测试的目标和任务
- 5.2 静态测试技术的运用
- 5.3 动态测试
- 5.4 单元测试常用工具简介
- JUnit
5.1 单元测试的目标和任务
单元测试:对软件基本的组成单元进行独立的测试
单元测试和编码是同步进行,但在“测试驱动开发”(Test Driven Development,TDD)强调测试在先,编码在后。单元测试一般由开发人员完成,QA人员辅助。
单元测试原因:尽早发现错误 ; 检查代码是否符合设计和规范,有利于将来代码的维护
目标:单元模块被正确编码
任务:
-
任务一:模块独立执行路径测试
检查每一条独立执行路径的测试,并保证每条语句被至少执行一次。
检查内容:
误解或用错了算符优先级
混合类型运算
变量初值错
精度不够
表达式符号错
其它 -
任务二:局部数据结构测试
检查局部数据结构完整性
检查内容:
不适合或不相容的类型说明
变量无初值
变量初始化或默认值有错
不正确的变量名或从来未被使用过
出现上溢或下溢和地址异常
其它 -
任务三:模块接口测试
检查模块接口是否正确
检查内容:
输入的实际参数与形式参数是否一致(个数、属性、量纲)
调用其他模块的实际参数与被调模块的形参是否一致(个数、属性、量纲)。
全程变量的定义在各模块是否一致。
外部输入、输出
文件、缓冲区、错误处理
其它 -
任务四:单元边界条件测试
检查临界数据处理的正确性
检查内容:
普通合法数据的处理。
普通非法数据的处理。
边界值内合法边界数据的处理。
边界值外非法边界数据的处理。
其它 -
任务五:单元容错测试
预设的各种出错处理是否正确有效。
检查内容:
输出的出错信息难以理解
记录的错误与实际不相符
异常处理不当
未提供足够的定位出错的信息
其它
5.2 静态测试技术的运用
静态测试技术: 不运行被测试程序,对代码通过检查、阅读进行分析。
共分为三步:互查(Peer Review);走查 (Walk Through);’评审 ( Inspection )
实施代码规范的原因:可靠性、可读性、可维护性、可移植性。
-
互查
技术人员互相检查代码 -
走查
采用讲解、讨论和模拟运行的方式进行的查找错误的活动。
注意:
①引导小组成员在走查前通读设计和编码。
②限时,避免跑题
③发现问题适当记录,避免现场修改
④检查要点是代码是否符合标准和规范,是否有逻辑错误 -
审查
①以会议形式,制定目标、流程和规则
②按缺陷检查表(不断完善)逐项检查
③发现问题适当记录,避免现场修改
④发现重大缺陷,改正后会议需要重开。
走查与审查比较:
5.3 动态测试
动态测试:需要真正将程序运行起来,需要设计系列的测试用例保证测试的完整性和有效性(黑盒测试、白盒测试)。
驱动程序和桩程序:运行单元程序有时需要基于被测单元的接口,开发相应的驱动模块和桩模块。
驱动模块(drive):对底层或子层模块进行测试所编写的调用这些模块的程序。eg;main()函数
桩模块(stub):对顶层或上层模块进行测试时所编写的替代下层模块的程序。eg:方法
前置条件:类型承担某些职责的时候需要一定的资源,即:前置条件,如果不满足前置条件,则说明:调用代码有问题。
后置条件:客户遵守了条件,类型必须兑现其承诺,即:后置条件,如果不满足后置条件·:则说明·:业务逻辑有问题。
对象交互性测试 :
汇集类测试:可以使用测试原始类的方法来测试汇集类,创建一些实例,确保实例作为消息中的参数被传递给正在测试的集合:①存放这些对象的引用(对象之间一对多的关系)②创建、删除这些对象的实例
协作类测试: 集中测试对象之间调用关系,包括对象在被使用过程中属性是否按定义的要求被正确使用、或被修改
5.4 单元测试常用工具简介
JUnit
Junit:一个开放源代码的Java测试框架(单元测试框架体系xUnit的一个实例),用在编写和运行可重复的的测试上,包括如下特性:
- 提供了编写测试类的框架,使测试代码的编写更方便
- 共享测试数据的测试工具
- 方便地组织和运行测试的测试套件
- 可以使测试代码与产品代码分开,这更有利于代码的打包发布和测试代码的管理
- 易于集成到程序构建过程中,JUnit和Ant的结合还可以实施增量开发。
- 具有很强的扩展性
最后
以上就是唠叨睫毛为你收集整理的第5章 单元测试5.1 单元测试的目标和任务5.2 静态测试技术的运用5.3 动态测试5.4 单元测试常用工具简介的全部内容,希望文章能够帮你解决第5章 单元测试5.1 单元测试的目标和任务5.2 静态测试技术的运用5.3 动态测试5.4 单元测试常用工具简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复