这篇文章将向你介绍junit,一个用来在项目中进行测试和调试的工具。在介绍完tdd(以测试驱动开发)理论后,将进一步讲解怎样在流行的eclipse中建立你自己的junit测试。向你展示如何测试hello world这样简单的程序。
许多书上都讨论了自动测试,但是只有很少的著作注意到这么一个问题,那就是怎样把这些测试组织起来。随着测试的增加,放置和调用这些测试却变得更加麻烦。这将成为一个重要问题,以至于出现了tdd,极限编程(xp)使tdd得以普及。另外,你可以这样理解tdd:通过测试来开发。
tdd的主要规范 :
在编写程序代码之前,与之对应的自动测试必须被写好。甚至程序代码并不存在,那也要看见一个失败的测试结果。
在测试通过后,副本代码必须被丢弃。
有一个具体步骤(可能指的是《extreme programming》)可以被任何一个程序员来参考,而不需要特殊的其他方法。在我们开始写测试之前,这些步骤(章节)应该被首先阅读——怎样组织自动测试。
讲解一下不同种类的测试:
单元测试:检测模块(也就是类)的正确性。如果对象需要访问外部的数据资源,例如数据库,就需要模拟一个mock objects,但在实际中真实数据与测试环境是不同的。
客户测试:这是功能性、系统、和验收测试。用来测试整体的系统特性。在xp中,这些测试由用户编写。
综合测试:介于用户测试和单元测试之间的桥梁。综合测试帮助测试应用程序的交互性。一般情况下,mock objects不被用于综合测试,它会增加测试时间。同样,综合测试经常依赖特殊的测试环境,例如数据库送来的测试数据。综合测试也需要用到外部类库。例如为j2ee应用程序进行综合测试的类库cactus。解释这些测试超出了本文的范围,需要更加详细的信息请参考http://jakarta.apache.org/cactus/。
开发人员测试:这是用来让开发人员检验自己代码或新函数的。对于每一个开发人员,只要有可能,就需要有更多的测试来检验代码。组织这些测试和组织程序代码一样重要。
在以下章节,只要提到“测试”,那就指的是开发人员测试。
我们几乎准备好开始建立测试了,先应该为我们的测试选择名字。你也许会说,“这不是问题:把‘test’这个字放在类名前面,就好了!”不会这么快!让我来说一下这个步骤存在的问题:
在tdd中,被测试的类或者方法还不存在。
一个测试能够覆盖多个方法,甚至多个类,这是可能的。
以上只是一些普遍问题;还存在更多的问题。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器