|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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>
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点, |
|