单元测试理论基础

单元测试理论基础

ID:39177097

大小:228.50 KB

页数:43页

时间:2019-06-26

单元测试理论基础_第1页
单元测试理论基础_第2页
单元测试理论基础_第3页
单元测试理论基础_第4页
单元测试理论基础_第5页
资源描述:

《单元测试理论基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单元测试理论基础李振学单元测试理论基础测试是软件开发的重要环节之一。按照软件开发的过程测试可分为:单元测试、集成测试、系统测试、域测试(Fieldtest)等。我们这里将讨论面向程序员的单元测试。单元测试定义单元测试目的单元测试的特点单元测试的范畴进行单元测试的时机单元测试任务单元测试方法单元测试过程什么是单元测试单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list中去,然后确认该值出现在list的尾部。或者,你可能

2、会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。什么是单元测试单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。为什么要使用单元测试我们编写代码时,一定会反复调试保证它能够编译通过。如果是编译没有通过的代码,没有任何人会愿意交付给自己的老板。但代码通过编译,只是说明了它的语法正确;我们却无法保证它的语义也一定正确,没有任何人可以轻易承诺这段代码的行为一定是正确的。    幸运,单元测试会为我们的承诺做保证。

3、编写单元测试就是用来验证这段代码的行为是否与我们期望的一致。有了单元测试,我们可以自信的交付自己的代码,而没有任何的后顾之忧。单元测试的优点它是一种验证行为它是一种设计行为它是一种编写文档的行为它具有回归性单元测试的优点它是一种验证行为。    程序中的每一项功能都是测试来验证它的正确性。它为以后的开发提供支缓。就算是开发后期,我们也可以轻松的增加功能或更改程序结构,而不用担心这个过程中会破坏重要的东西。而且它为代码的重构提供了保障。这样,我们就可以更自由的对程序进行改进。单元测试的优点它是一种设计行为。    编写单元测试将使我们从调用者观察、思考。特别是先写测试(te

4、st-first),迫使我们把程序设计成易于调用和可测试的,即迫使我们解除软件中的耦合。单元测试的优点它是一种编写文档的行为。    单元测试是一种无价的文档,它是展示函数或类如何使用的最佳文档。这份文档是可编译、可运行的,并且它保持最新,永远与代码同步。单元测试的优点它具有回归性。    自动化的单元测试避免了代码出现回归,编写完成之后,可以随时随地的快速运行测试。单元测试的范畴如果要给单元测试定义一个明确的范畴,指出哪些功能是属于单元测试,这似乎很难。但下面讨论的四个问题,基本上可以说明单元测试的范畴,单元测试所要做的工作。 它的行为和我期望的一致吗?    这是单元

5、测试最根本的目的,我们就是用单元测试的代码来证明它所做的就是我们所期望的。单元测试的范畴它的行为一直和我期望的一致吗?    编写单元测试,如果只测试代码的一条正确路径,让它正确走一遍,并不算是真正的完成。软件开发是一个项复杂的工程,在测试某段代码的行为是否和你的期望一致时,你需要确认:在任何情况下,这段代码是否都和你的期望一致;譬如参数很可疑、硬盘没有剩余空间、缓冲区溢出、网络掉线的时候。单元测试的范畴我可以依赖单元测试吗?    不能依赖的代码是没有多大用处的。既然单元测试是用来保证代码的正确性,那么单元测试也一定要值得依赖。单元测试的范畴单元测试说明我的意图了吗?

6、   单元测试能够帮我们充分了解代码的用法,从效果上而言,单元测试就像是能执行的文档,说明了在你用各种条件调用代码时,你所能期望这段代码完成的功能。单元测试方法单元测试的依据是详细设计,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。单元测试任务单元测试任务包括:1模块接口测试;2模块局部数据结构测试;3模块边界条件测试;4模块中所有独立执行通路测试;5模块的各条错误处理通路测试。单元测试任务模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接

7、口正确与否应该考虑下列因素:   1输入的实际参数与形式参数的个数是否相同;   2输入的实际参数与形式参数的属性是否匹配;   3输入的实际参数与形式参数的量纲是否一致;   4调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;单元测试任务5调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;   6调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;   7调用预定义函数时所用参数的个数、属性和次序是否正确;   8是否存在与当前入口点无关的参数引用;   9是否修改了只读型参数;   10

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。