|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net网页编程比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。
撑持静态剖析(包含范例反省)的次要论据是:其了局合用程序一切大概的运转,而经由过程单位测试只能包管被测试的组件(在测试它们的平台上)只合用测试组件的特定输出。
撑持单位测试的次要论据是它更简单处置。您能够测试程序的很多束缚,这些束缚远远超越了同期的静态剖析工具所能到达的局限。
请同意我在此唐突地说一句:我以为将这两种工具看做对峙的是一个毛病。每种工具都有助于构建更强健的程序。实践上,它们能够经由过程十分壮大的体例举行互补。
每种工具都有各自的优点,关于增补另外一种工具出格有效:
单位测试能显现实行的经常使用路径,从而显现程序是怎样运转的。
剖析工具能反省单位测试供应的掩盖局限。
让我们研讨这个中的每一个属性,并会商一些可匡助您将其优点带给别的办法的工具。
显现经常使用实行路径的单位测试
单位测试套件供应了程序组件的示例用法的安定基本。经由过程反省测试运转时程序是怎样运作的,剖析工具能够就开辟职员但愿在程序中坚持的稳定量举行探索性推想(就和程序员浏览单位测试所做的一样)。
另有另外一种办法,个中单位测试能够是一种可实行的文档情势。在从单位测试的运转中从特别到一样平常地揣度出推想性稳定量以后,剖析工具能够实验从一样平常到特别地考证稳定量的存在,大概它能够使用可在运转时反省的断言正文该代码。
在任何一种情形下,在该工具做任何别的事情之前,最好向用户前往推想的稳定量集的呈报,以扣问用户真正想要哪些稳定量。特地提一下,假如此类工具向用户呈报了很多他们不想要的稳定量,这多是单位测试出了成绩的旌旗灯号D比方,它们不敷一样平常。
可用这类体例与单位测试一同利用的工具是Daikon,它是一款来自MIT的MikeErnst的程序剖析小组的收费的、实验性的工具。Daikon剖析程序的运转(比方单位测试的运转),并实验推想稳定量。然后它扣问用户是不是想要这些稳定量,并将用户想要的稳定量作为断言拔出程序。
比方,假定我们编写一个向量(Vector)的适配器,该适配器完成接口Sequence,该接口包括用于检索元素的办法lookup和用于将元素放在向量开端的办法insert。办法lookup带有一个索引i,用来会见它所包括的向量。
假定该数组的长度存储在字段length中。经由过程保护适配器中的长度,我们能够欠亨知向量自己就将元素从其尾部删除。
让我们为这个设想的复杂适配器编写一个复杂的测试用例:
清单1.向量容器中复杂查找办法的测试用例
importjunit.framework.TestCase;
publicclassVectorAdapterTestextendsTestCase{
publicVectorAdapterTest(Stringname){
super(name);
}
publicvoidtestLookupAndInsert(){
VectorAdapterv=newVectorAdapter();
v.insert("this");
v.insert("is");
v.insert("a");
v.insert("test");
assertEquals("Retrievedandinsertedelementsdontmatch",
"a",
v.lookup(2));
}
}
<p>
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net网页编程,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。 |
|