- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cmockery C语言测试框架研究【荐】.pdf
目录
1 单元测试简介2
1.1 单元测试模型构造 2
1.1.1 基本概念 2
1.1.2 主要工作 3
1.2 单元测试用例设计 3
1.3 执行单元测试 4
2 CMOCKERY 使用介绍5
2.1 测试环境搭建 5
2.2 使用说明 6
2.3 使用例子 7
3 CMOCKERY 测试框架评估8
3.1 评估标准 8
3.2 评估结论 8
附录1 例子源码9
V1.0
1 单元测试简介
单元测试(unit testing ),是指对软件中的最小可测试单元进行检查和验证,基本
属于白盒测试范畴。要根据实际情况去判定其具体含义,如C 语言中单元指一个函数,
Java 里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。
单元测试过程分5 个步骤,说明如下:
(1) 计划单元测试—确定测试需求,制定测试策略,确定测试所需要的资源,创
建测试任务的时间表等。
(2) 设计单元测试—设计单元测试模型,制定测试方案,确认并结构化测试过程。
(3) 实现单元测试—参考测试模型和测试方案,制定具体的测试用例,创建可重
用的测试脚本。
(4) 执行单元测试—根据单元测试方案、用例对单元进行测试,验证测试的结果
并记录测试过程中出现的缺陷。
(5) 评估单元测试—对单元测试的结果进行评估,主要从需求覆盖和代码覆盖角
度进行测试完备性的评估。
单元测试是用来帮助代码重构的一种回归测试手段而不是一种需求管理手段,应
该在只在需要重构的地方添加单元测试。
1.1 单元测试模型构造
1.1.1 基本概念
由于单元测试针对程序单元,而程序单元并不是一个独立可运行的程序,因此,
在考虑测试模块时,同时要考虑到它和外界其他模块的联系,用一些辅助模块去模拟
与被测模块关联的其他模块。这些模块分为两种:
● 驱动模块:相当于所测模块的主程序。它接收测试数据,把这些测试数据传送
给被测模块,最后再输出实测结果。
● 桩模块:由被测模块调用,用以代替由被测单元所调用的模块的功能,返回适
当的数据或进行适当的操作使被测单元能继续运行下去,同时还要进行一定的数据处
理,如打印入口和返回等,以便检验被测模块与其下级模块的接口。
V1.0
1.1.2 主要工作
驱动模块和桩模块都是额外的开销,两种都属于必须开发,但又不能和最终
软件一起提交的软件。驱动模块和桩模块为程序单元的执行构成了一个完整的环
境,如图下所示。
图1.1 单元测试的测试环境
构造单元测试模型的主要工作有:
(1) 构造最小运行调度系统,即设计驱动模块。
(2) 模拟实现单元接口,即设计桩模块。
(3) 模拟生成测试数据或状态,为单元运行准备动态环境,即设计测试用例、测
试结果。
测试模型除了能使被测的对象运转起来之外,还应考虑对测试过程的支持,
例如对测试结果的保留,对测试覆盖率的记录等。
1.2 单元测试用例设计
1. 首先要了解单元测试内容,测试工作主要在5 个方面对被测模块进行检查:
(1) 模块接口测试:应该对通过所有被测模块的数据流进行测试。如果数据不
能正常地输入及输出,那么其他的全部测试都说明不了问题。
(2) 局部数据结构测试:模块的局部数据结构是最常见的错误来源。
(3) 路径测试:检查由于计算错误、判定错误、控制流错误导致的程序错误。
(4) 错误处理测试:是可能引发错误处理的路径及进行错误处理的路径,错误
出现时错误处理程序重新安排执行路线,或通知用户处理,或干脆停止执
行使程序进入一种安全等待状态。
(5) 边界测试:单元测试中最后的任务。软件常常在边界上出错。
文档评论(0)