JUnit单元测试课件.doc

JUnit单元测试课件.doc

ID:58487398

大小:237.00 KB

页数:23页

时间:2020-05-16

JUnit单元测试课件.doc_第1页
JUnit单元测试课件.doc_第2页
JUnit单元测试课件.doc_第3页
JUnit单元测试课件.doc_第4页
JUnit单元测试课件.doc_第5页
资源描述:

《JUnit单元测试课件.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、利用Junit进行单元测试1、什么是单元测试?22、单元测试重要特征?23、伴随单元测试相关活动?24、为什么要进行单元测试?25、测试是如何驱动开发过程的?46、Junit特征57、测试覆盖种类78、单元测试开始89、度量代码质量2010、建立测试文化2111、功能测试2112、附件:221、什么是单元测试?单元,通俗的说就是指一个实现简单功能的函数(方法)。单元测试是在OOP(面向对象编程)过程中要进行的最小级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离(不依赖)的情况下进行的测试,所谓最小级别,我们通常是指对象的单个方法。单元测试,某个特定方法

2、成功执行一系列特定的任务,就是用一组特定的输入(测试用例),方法将输出预期(正确)的结果。2、单元测试重要特征?单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须具有:可重复性、可持续性、可维护性、可重构性;l可重复性:移植到新的运行环境的过程中,能够成功并正确运行;l可持续性:所有测试都必须在整个软件的生命周期中进行维护。l可重构性:使得程序代码具有很好的可重构性;l可维护性:无论软件怎么修改,能够成功并正确运行;3、伴随单元测试相关活动?经常与单元测试联系起来的一些开发活动包括代码评审(Codereview):静态分析(Staticanalysi

3、s)和动态分析(Dynamicanalysis);静态分析就是对软件的源代码进行审核,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖率方面的信息。为了更好利用Eclipse在开发时就能够提升代码的质量,公司开发了代码检查及发现bug的插件,具体参考附件:代码检查工具的相关文档为了能够把握单元测试方向及进度,架构师需要每天检查单元测试的生成报表。4、为什么要进行单元测试?测试不能够证明错误不存在,只能够证明错误存在。尽可能测试一切可以测试的东西。无良好编程习惯的老程序员及新程序员会这样认为:╳

4、l很烦,很枯燥(老程序员:听到这个消息就开始恼火,很排斥)l时间很紧张,没有时间完成单元测试l不知道怎么入手(新程序员)l没有什么意义(老程序员:我已经很厉害了,业务也非常熟,没有必要)l浪费资源(开始觉得)l整理测试思路l准备复杂的测试用例l根据测试用例编写测试代码l。。。具有经验及良好编程习惯的老程序员会这样认为:√l减少出错概率l提高代码质量(健壮性)l可持续性/可回归性(为后续接手人员提供案例及榜样)l增强责任心l提高自信心l提高业务掌握能力(业务被完全掌握)l提高生产力(个人及团队)l。。。在时间很紧张的情况下,为什么还要进行烦人的单元测试(写的繁杂的测试代码,构造复

5、杂的测试用例,浪费公司人力物力。。。)?这个问题在整个软件行业的一般开发人员会提出这个问题,为什么?因为他们还没有体会到单元测试给整个软件带来的很多优点,当软件在开发过程中就能够发现的Bug,而且很容易的修改掉,为什么还要等到集成测试时让测试人员帮你发现呢?集成测试人员压力有多大,测试时间有多少保障,测试粒度有多细,时间紧迫时测试交付时软件运行的可信赖度?软件交付后需要进行运维,在运维过程中在发现很多的Bug(其它行业同样),这个时候的维护成本将会大大增加,后果严重的话可以击毁整个企业的生存空间,这样的话我们自己的发展空间还有吗?所以在以上对比及各种元素影响之后,越是时间紧迫的

6、情况下,越是要把单元测试做到位,尽量多给集成测试及可能存在重构的时间。5、测试是如何驱动开发过程的?测试驱动开发起源于XP法中提倡的测试优先实践。测试优先实践重视单元测试,强调程序员除了编写代码,还应该编写单元测试代码。在开发的顺序上,它改变了以往先编写代码,再编写测试的过程,而采用先编写测试,再编写代码来满足测试的方法。这种方法在实际中能够起到非常好的效果,使得测试工作不仅仅是单纯的测试,而成为设计的一部分。在编写程序之前,每个人都会先进行设计的工作。可能有些人的设计比较正式,绘制模型,编写文档。有些人的设计只是存在于脑海之中。且不论是设计是精细还是粗糙,你都为随后的编码活动

7、制定了一个标准。这个标准的明确程度和你的设计的细致程度有关。但应该承认,这个标准是不够细化的。因为你的设计不可能精细到代码级的程度。而标准不够明确的则会产生一些问题,例如,在编写代码的过程中,你还可能会发现原先的设计出现问题,从而中途改变代码的编写思路。这将会导致成果难以检验,进度难以度量。既然以设计为导向的标准不够明确,不够具体。那什么样的标准才是合适的呢?只能是代码。因为代码是最明确、最具体的,最能体现出结果。所以测试优先的本质其实是目标管理。编写测试代码其实是在制定一个小目标,这个小目

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

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

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