浏览 3753 次
锁定老帖子 主题:java开发测试工具
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-22
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。 Cactus Cactus是一个基于JUnit框架的简单测试框架,用来单元测试服务端Java代码。Cactus框架的主要目标是能够单元测试服务端的使用Servlet对象的Java方法如HttpServletRequest,HttpServletResponse,HttpSession等 Abbot Abbot是一个用来测试Java GUIs的框架。用简单的基于XML的脚本或者Java代码,你就可以开始一个GUI。 JUnitPerf Junitperf实际是junit的一个decorator,通过编写用于junitperf的单元测试,我们也可使测试过程自动化。 DbUnit DbUnit是为数据库驱动的项目提供的一个对JUnit 的扩展,除了提供一些常用功能,它可以将你的数据库置于一个测试轮回之间的状态。 Mockrunner Mockrunner用在J2EE环境中进行应用程序的单元测试。它不仅支持Struts actions, servlets,过滤器和标签类还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。 DBMonster DBMonster是一个用生成随机数据来测试SQL数据库的压力测试工具。 MockEJB MockEJB是一个不需要EJB容器就能运行EJB并进行测试的轻量级框架。 StrutsTestCase StrutsTestCase 是Junit TestCase类的扩展,提供基于Struts框架的代码测试。StrutsTestCase同时提供Mock 对象方法和Cactus方法用来实际运行Struts ActionServlet,你可以通过运行servlet引擎来测试。因为StrutsTestCase使用ActionServlet控制器来测试你的代码,因此你不仅可以测试Action对象的实现,而且可以测试mappings,from beans以及forwards声明。StrutsTestCase不启动servlet容器来测试struts应用程序(容器外测试)也属于Mock对象测试,但是与EasyMock不同的是,EasyMock是提供了创建Mock对象的API,而StrutsTest则是专门负责测试Struts应用程序的Mock对象测试框架。 JFCUnit JFCUnit使得你能够为Java偏移应用程序编写测试例子。它为从用代码打开的窗口上获得句柄提供了支持;为在一个部件层次定位部件提供支持;为在部件中发起事件(例如按一个按钮)以及以线程安全方式处理部件测试提供支持。 JTestCase JTestCase 使用XML文件来组织多测试案例数据,声明条件(操作和期望的结果),提供了一套易于使用的方法来检索XML中的测试案例,按照数据文件的定义来声明结果。 SQLUnit SQLUnit是一个单元测试框架,用于对数据库存储过程进行加归测试。用 Java/JUnit/XML开发。 JTR JTR (Java Test Runner)是一个开源的基于反转控制(IOC)的J2EE测试框架。它允许你构建复杂的J2EE测试套件(Test Suites)并连到应用服务器执行测试,可以包括多个测试实例。JTR的licensed是GPL协议。 Marathon Marathon是一个针对使用Java/Swing开发GUI应用程序的测试框架,它由recorder, runner 和 editor组成,测试脚本是python代码。Marathon的焦点是放在最终用户的测试上。 TestNG TestNG是根据JUnit 和 NUnit思想而构建的一个测试框架,但是TestNG增加了许多新的功能使得它变得更加强大与容易使用比如: *支持JSR 175注释(JDK 1.4利用JavaDoc注释同样也支持) *灵活的Test配置 *支持默认的runtime和logging JDK功能 *强大的执行模型(不再TestSuite) *支持独立的测试方法。 Surrogate Test framework Surrogate Test framework是一个值得称赞单元测试框架,特别适合于大型,复杂Java系统的单元测试。这个框架能与JUnit,MockEJB和各种支持模拟对象(mock object )的测试工具无缝给合。这个框架基于AspectJ技术。 MockCreator MockCreator可以为给定的interface或class生成模拟对象(Mock object)的源码。 更多MockCreator信息 jMock jMock利用mock objects思想来对Java code进行测试。jMock具有以下特点:容易扩展,让你快速简单地定义mock objects,因此不必打破程序间的关联,让你定义灵活的超越对象之间交互作用而带来测试局限,减少你测试地脆弱性。 EasyMock EasyMock为Mock Objects提供接口并在JUnit测试中利用Java的proxy设计模式生成它们的实例。EasyMock最适合于测试驱动开发。 Grinder Grinder是一个开源的Java负载测试框架,它通过很多负载注射器来为分布式测试提供了便利。 支持用于执行测试脚本的Jython脚本引擎 HTTP测试可通过HTTP代理进行管理。 XMLUnit XMLUnit不仅有Java版本的还有.Net版本的。Java开发的XMLUnit提供了两个JUnit 扩展类XMLAssert和XMLTestCase,和一组支持的类。这些类可以用来比较两张XML之间的不同之处,展示XML利用XSLT来,校验XML,求得XPath表达式在XML中的值,遍历XML中的某一节点利DOM展开, Jameleon Jameleon一个自动化测试工具。它被用来测试各种各样的应用程序,所以它被设计成插件模式。为了使整个测试过程变得简单Jameleon提供了一个GUI,因此Jameleon实现了一个Swing 插件。 J2MEUnit J2MEUnit是应用在J2ME应用程序的一个单元测试框架。它基于JUnit. Jetif Jetif是一个用纯Java实现的回归测试框架。它为Java程序单元测试以及功能测试提供了一个简单而且可 伸缩的架构,可以用于个人开发或企业级开发的测试。它容易使用,功能强大,而且拥有一些企业级测试的 重要功能。Jetif来源于JUnit, JTestCase以及TestNG的启发,有几个基本的概念直接来自于JUnit, 比如说断言机制,Test Listener的概念,因此从JUnit转到Jetif是非常容易的。 GroboUtils GroboUtils使得扩展Java测试变得可能。它包括用在Java不同方面测试的多个子项目。在GroboUtils中最常被到的工具是:多线程测试(multi-threaded tests),整体单元测试(hierarchial unit tests),代码覆盖工具(code coverage tool)。 Testare TESTARE是用来简化分布式应用程序(比如:在SERVLETS,JMS listeners, CORBA ORBs或RMI环境下)测试开发过程的一个测试框架. MockLib MockLib是一个很小的包所以可容易地动态创建一个模拟对象.你可以从模拟的系统中抛出异常来确保你的系统能够正确处理错误.它同样也是一个线程安全的模拟对象库. JellyUnit JellyUnit是一个基于Jelly的JUnit测试机制.它允许用Jelly脚本来完成单元测试.尤其是对于XML,XPath,SQL,HTTP,JMS和SOAP交互的测试特别有用. Pisces 这个项目继承于JUnit目的是提供一个分布式的测试环境.它给开发者/测试人员一个运行远程JUnits和复杂测试案例的能力,这个案例由几个并行运行的远程JUnit测试组成。 JUnitEE JUnitEE是对JUnit的一个简单扩展,可以支持在一个J2EE应用程序服务器上执行标准的测试案例。它主要由一个把测试结果输出为html的servlet组成。 XTest是一个新的测试框架,它主要是为NetBeans IDE提供测试功能而开发的.但它也可以用于测试其它Java产品.XTest是基于Ant的,这就意味着它允许用户使用所有Ant的tasks. UISpec4J UISpec4J是专门用于Swing应用程序单元测试的一个开源组件,它构建在JUnit测试套件的基础之上.UISpec4J让Java GUI测试变得很简单.它的特殊之处在于它的APIs设计成尽可能地隐藏Swing的复杂性,因此易于测试脚本的读与写.以下这它的简单例子: public void testContacts() { Table contacts = getMainWindow().getTable(); contacts.assertContentEquals(new Object[][]{ {"John", "12", Boolean.FALSE}, {"Sylvia", "43", Boolean.TRUE}, {"Bill", "31", Boolean.FALSE} }); } iValidator iValidator是一个基于XML的方案自动测试与复杂环境中集成测试的框架。它的特性包括:单元测试的可重复使用性,代码与数据分离,提供Eclipse插件,支持所有测试levels等。 Jeté Jeté是一个系统集成测试框架。它让系统测试变得更容易并且采用非常易于理解与足够灵活的方式来测试现存的系统。这是因为Jeté: - 基于XML(Spring上下文文件)的系统测试定义文件,一个系统测试的定义是由在这些文件中定义的几个action和对每一个action定义的几个validators所组成。由于使用Spring context文件作为测试定义文件可把现存的POJOs无缝合线的结合到系统测试框架中; - 扩展了 JUnit,DbUnit和HttpUnit的基本功能来使用已知的测试概念。 - 集成了JUnit、Ant提供测试状态的图形化报告。 MockCentral MockCentral提供一种利用mock对象进行测试的新方式。它把mock对象定义在测试代码之外的XML文件中并允许开发人员创建,访问这些mock对象,这能够让测试案例变得简洁并有利于组织和复用mock对象。 STclass STclass是一个基于Contract(由于B. Meyer在Design by Contract:合约设计方式中定义)的单元测试框架,它是JUnit的一个克隆,但是可与JUnit相匹敌。该框架能够把测试结果生成XML的报表格式,然后加工处理成漂亮的HTML报表。STclass集成JIP剖析器,可以在测试期间进行statisitic与 profiling分析,并把结果加到HTML报表中。 SpringUnit SpringUnit用于Java软件单元和综合测试的开源框架。它把Spring的依赖注入容器与JUnit的测试框架相结合来实现数据驱动测试。 lattu lattu是一个用于测试Eclipse RCP应用程序的框架。它能够进行单元测试与功能测试。实质上,它是一个Eclipse插件提供适当的扩展来进行单元与确认测试。lattu使用JUnit来实单元测试,Abbot来实现GUI测试。 Unitils Unitils这个Java开源类包的目的是让单元测试变得更加容易和可维护。Unitils构建在DBUnit与EasyMock项目之上并与JUnit和TestNG相结合。支持数据库测试,支持利用mock对象进行测试并提供与Spring和Hibernate相集成。Unitils设计成以一种高度可配置和松散偶合的方式来添加这些服务到单元测试中。 在进行数据库测试时能够: 自动维护和强制关闭单元测试数据库(支持Oracle,Hsqldb,MySql,DB2), 简化单元测试数据库连接的设置, 简化利用DBUnit测试数据的插入, 简化Hibernate session管理, 自动测试与数据库相映射的Hibernate映射对象。 在利用Mock对象进行测试时能够: 简化EasyMock mock对象创建, 简化mock对象注入,利用反射等式匹配EasyMock参数。 在与Spring集成时易于把spring管理的bean注入到单元测试中,支持在单元测试中使用一个用Spring配置的Hibernate SessionFactory。 Ejb3Unit Ejb3Unit用于在容器外对EJB3实体(Entity)和会话(Session)Bean进行自动测试。 Ejb3Unit是JUnit的一个扩展并能对所有JEE或EJB3项目自动执行独立junit测试。其脱离容器的方式能够缩短构建-测试周期,因为不需要容器部署。EJb3Unit默认使用一个内置的内存数据库,但也可以指定自己定义的数据库。 p-unit p-unit是一款开放源码的性能测试框架,和JUnit不同,JUnit 关注的是测试案例的正确性,而p-unit不仅关注测试案例的正确性,还收集测试案例的性能参数,默认情况下,p-unit收集测试案例的时间和内存消耗情况,可以产生文件,图片,和PDF格式的报表。此外,p-unit 还支持参数化测试,多线程测试以及不同Java 虚拟机性能之间的比较。 JEasyTest JEasyTest是一个Eclipse IDE插件开发用于简化那些难于用标准mock object框架进行单元测试的代码,比如使用继承关系的代码。 FEST-Swing FEST-Swing是一个用于Swing GUI应用程序功能测试的java开源类库。支持模拟用户交互(鼠标操作和键盘输入)。支持JDK中的所有Swing组件。提供简洁、强大的API来创建和维护GUI功能测试。支持在HTML测试报告中嵌入GUI测试失败的截屏。能够与JUnit或TestNG一起使用 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-08-31
哦,受教了
|
|
返回顶楼 | |