仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 365|回复: 8
打印 上一主题 下一主题

[学习教程] 发布一篇超过界限: 在集成框架中举行测试,第1部分

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:08:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。
捕捉bug
我还记妥当我第一次失掉主动测试的bug时的情形。在一次年夜会上,当我做完叫做BitterJava的演讲以后,MikeClark(Java社区的主动测试大家,功能调剂工具JUnitPerf的作者(请参阅参考资料),如今是RubyonRails专家)走近我。Mike告知我有一种办法能够经由过程主动测试改善我的演讲。在那次年夜会的残剩工夫里,我随着他到处走,看到了我能看到的尽量多的他的测试集会。我入手下手利用他保举的手艺,并对把红条(代表测试失利)酿成绿条(代表测试经由过程)上了瘾。主动测试改动了我思索软件开辟的体例。
Java社区相对有主动测试的bug。坦率地说,我们别无选择。合作压力迫使很多公司编写愈来愈多的代码,而测试职员愈来愈少,同时每一个开辟职员的又必需有更高的临盆率。假如不举行主动测试,失掉测试的内容就会更少,面临古代使用程序不休增加的庞大性,较少的测试不是一个可行的选择计划。
在已往十年中,我们已看到了对测试工具和手艺的研讨。JUnit和TestNG都是撑持主动单位测试的优异工具,并且由一样平常的开辟职员所驱动。Selenium是改善集成和功效测试的工具。一套称作急迅技术的新开辟历程告知人们要加倍器重主动测试,不要太多地依附正式的计划工具,将它们作为进步质量的唯一工具。Java社区已走了很长的路。(请参阅参考材料,取得这里会商的工具与手艺的附加信息。)
其他编程社区也有bug工具,个中一些社区利用的主动测试要比Java开辟职员另有多,他们利用主动测试履历有完整分歧的缘故原由:
Smalltalk程序员利用主动测试已几近有30年的工夫了,以是经由过程静态范例化言语利用的一些技术加倍先辈。
集成框架的开辟职员的上风是懂得框架元素的布局和组合。有些框架,比方RubyonRails,可以生成测试用例,并且在默许情形下供应测试特征。
具有初级元编程(metaprogramming)才能的言语,比方RubyandLisp,同意利用其他言语不撑持的一些测试技能,比方更简单会见mock对象。
在这一篇和下一篇文章中,将周全了解在RubyonRails集成开辟框架中的测试体例。第1部分侧重于测试模子对象,并供应一些从Rails取得启示的战略,能够用这些战略使Java单位测试更无效。第2部分把更多工夫花在功效测试和集成测试上。作为Java程序员,您对一些观点大概对照熟习,特别是在测试的时分,而其他一些观点能够拓展您的了解。
补漏
在这个系列的前一期中,懂得了静态范例化会带来某些bug品种,静态范例化言语将在编译时捕获到这些bug。清单1的Ruby代码片断包括四个分歧的bug,这四个bug在运转时之前都不会显现出来:
清单1.带bug的Ruby代码
position="2"       #string,whereanumberwasintended
position=positoin+4   #positionismisspelled,evaluatesto0
puts"Thepositionis:"+
   position.to_string  #Themethodshouldbeto_s
假如编译器可以捕获bug,那末这类bug办理起来是小菜一碟,可是假如依附注释器,那末办理这些bug就坚苦很多。为了处置这些奇妙的毛病,静态言语的用户临时以来一向依附于主动测试。在举行测试的时分,比起其他言语,静态言语及其集成情况在一样平常意义和特别意义上都具有明显的上风:
言语更简便。测试基础上是剧本编程,很多最好的剧本言语都是静态范例化的。
集成情况撑持的假定可让集成测试更简单,也大概更壮大。在Rails情况中将看到一些示例。
静态言语同意利用更松懈的耦合,使一些测试格局更简单完成。
在懂得静态言语开辟职员为何这么热中于测试以后,如今是构建一个必要一些真正测试的实践使用程序的时分了。
<p>
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,
深爱那片海 该用户已被删除
沙发
发表于 2015-1-19 16:53:46 | 只看该作者
是一种突破用户端机器环境和CPU
透明 该用户已被删除
板凳
发表于 2015-1-29 11:36:12 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
若相依 该用户已被删除
地板
发表于 2015-2-3 12:42:17 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
只想知道 该用户已被删除
5#
发表于 2015-2-9 00:43:48 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
爱飞 该用户已被删除
6#
发表于 2015-2-26 15:48:19 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
乐观 该用户已被删除
7#
发表于 2015-3-8 15:49:58 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
因胸联盟 该用户已被删除
8#
发表于 2015-3-16 03:48:12 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
第二个灵魂 该用户已被删除
9#
发表于 2015-3-22 19:32:57 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 15:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表