(Version Beta 1.0)
Junit 工具用于单元测试的工具,是极限编程中必不可少的工具。Java开发人员必须掌握的工具。
首先,在开发软件的过程中,风险是无处不在,从根本上讲,我们无法消除这些风险,但可以通过进行测试来降低风险,从而提高开发的可靠性,以及最终软件的质量。
那么,我们所讲到的测试的职责又是什么呢?测试最为重要的一点就是为了确保各开发阶段的开发质量,发现软件中存在的缺陷;然后是为了验证开发的产品是否符合用户的需求,即通过对用户使用过程的一些样本数据在测试过程中的反应来确定软件功能的可用性,从而改善存在的一些缺陷。
这里的缺陷是指与“软件需求说明书”不一致的地方,由于存在不一致,因此不能够满足用户的需要。
对于测试本身来讲,分为静态测试,即不需要运行程序,通过评审和其它非运行的手段来进行检查,主要检查是否满足一些标准,一些规范。动态测试是运行程序,来根据运行的状态来测试各部分功能以及情况。
从另外的角度,测试还有其它的分类,例如根据顺序来分类:
单元测试(Unit Testing),最为基本和重要的测试方法,又称为模块测试,由开发人员在开发过程中完成,需要100%达标
集成测试,又称为组装测试,确保模块之间的通讯与协作之间的运行无问题。
系统测试,包括外围的运行环境一起来测试。
验收测试,由客户来根据前期文档来进行的总体的测试,主要以静态测试为主。
回归测试。
此外还有其它角度的分类,如:
功能测试、结构测试、黑盒测试、白盒测试等等,大部分测试相关书籍中有相关的论述。
一、下面我们详细的来讨论一下单元测试方面的内容。
1)关注范围,局限在单元模块之类(如,类,方法)
2)代码分析与测试
3)功能分析与测试
4)结构分析与测试
5)以错误为导向的分析与测试
单元测试是从模块或者类的内部来设计测试用例的,目的是为了发现模块内部可能存在的各种差错。主要根据详细设计说明书和程序清单来了解I/O条件和程序逻辑,采用白盒测试用例。能够对合理输入与不合理的都能够进行识别和处理。
从模块的角度来讲,一个完整的模块需要涵盖以下几个方面:模块接口、出错处理、局部数据结构、边界条件、独立路径等等。
A.模块接口的测试,在单元测试开始的时候就需要对模块进出的数据流进行检查,例如,调用模块的参数输入是否正确,本模块调用子模块时的传递的参数是否正确,全局变更在各模块是否一致等。
详细说明一下在做内外存交互时,需要考虑的问题主要有以下几方面:
<1>文件的属性是否正确(特别在Linux等系统 下)
<2>Open与Close语句是否正确
<3>缓冲区容量与记录长度是否匹配
<4>进行读写之前文件是否已经打开
<5>结束文件处理时,是否关闭了文件
<6>I/O错误的检查与处理
B.局部数据结构的测试
<1>数据类型说明是否正确以及一致
<2>是否存在使用未赋值或者未初始化的变量的情况
<3>初始值或者缺省值是否正确
<4>变更名称是否存在拼写错误
<5>数据类型是否一致
<6>全局数据对模块的影响
C.路径测试,这里说的路径是指程序的执行路径
<1>选择适当的测试用例,对重要的一些执行路径进行测试
<2>设计一些测试用例,用来查找一些由于错误的计算,不正确的比较或者不正常的控制流而导致的错误
<3>对基本执行路径和循环进行测试
D.错误处理测试
<1>出错描述是否难以理解
<2>出错描述是否能够定位错误
<3>错误提示与实际错误是否相符
<4>对错误的处理条件是否正确
<5>对错误处理之前,错误条件是否已经引起系统干预
E.边界测试
<1>仔细设计专门的测试用例来测试边界值附近的情况
<2>如果运行时间有要求,需要针对关键路径做专门测试,从而确定各种情况下对时间的影响
单元测试的步骤:
模块一般不是一个独立的程序,对模块进行测试时,同时需要考虑它与周围环境的联系,主要是用辅助模块模拟关连模块。即采用驱动模块,桩模块。
如果一个模块包涵有多个多能,测试时需要做划分,将其分为几个小的程序,对每一部分都进行单元测试,对关键模块还需要加上性能测试。
对支持标准规程的模块,需要进行互连测试。有将此称之为模块测试,区别单元测试。
二、回归测试
回归测试是将以前做过的测试再次运行的一个过程,它主要用以检查在后续开发中没有改变的那部分程序。主要是因为新开发的内容影响到了之前开发的模块的运行,目标是为了确保软件整体功能的正确性。只要新的程序有可能影响到老的功能时,就有必要做回归测试。
待续...
分享到:
相关推荐
JUnit学习资料
中间有各种Junit文档,Junit各种操作手册!3.8--4.9。还有本人学习的笔记。绝对值得下载。
junit ppt 学习文档.ppt junit ppt 学习文档.ppt junit ppt 学习文档.ppt
junit4学习文档,有实例,非常详细,不懂的可以参考
junit 3,junit 4学习
Junit学习笔记,希望有用~~~~~~~~~~~~~~~~~~~~~~
JUnit是一款由Erich Gamma(《设计模式》的作者)和Kent Beck(极限编程的提出者)编写的开源的回归测试框架,供Java编码人员做单元测试之用。当前版本4.1,可以从www.junit.org网站上获得。与早期的JUnit 3相比,...
Junit学习资料
本文档和网络上的差不多,但加了一个自己写的示例,和一些心得,对于只要使用junit的人来说(主要是junit4) 本文档已经足够了,这个文档也是我对我们公司整个开发团队junit的培训文档。传上来给大家参考参考,有些...
• JUnit 是一个开放的资源框架,用于编写和运行测试。 • 提供注释来识别测试方法。 • 提供断言来测试预期结果。 • 提供测试运行来运行测试。 • JUnit 测试允许你编写代码更快,并能提高质量。 • JUnit 优雅...
Junit学习笔记和课件,欢迎学习爱好者下载资源,共同学习。。
junit ppt 学习文档,详细junit介绍,深入浅出
Ant and JUnit 学习
包括JUnit.in.Action中文版.pdf,JUnit详解.pdf,Manning - JUnit in Action.pdf,单元测试之道Java版:使用JUnit.pdf以及Junit设计模式分析(Junit设计模式分析.pdf及源码实例),是学习JUnit不可多得的资料。
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage,包含依赖包:junit-jupiter-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-platform-launcher-1.5.1.jar,junit-...
junit4.1junit4.1junit4.1junit4.1junit4.1
JUNIT介绍.JUNIT介绍.JUNIT介绍.JUNIT介绍.
JUnit学习笔记及练习用例,主要分为JUnit3.8.2和JUnit4.8.1两个版本。
对Junit进行了深入讲解,并附带很多小例子,对学习单元测试很有帮助的。
JUnit API JUnit API JUnit API JUnit API JUnit API