`
Emy
  • 浏览: 68668 次
  • 性别: Icon_minigender_2
  • 来自: 合肥
社区版块
存档分类
最新评论

java开发测试工具

阅读更多
我的第一份工作就是做软件测试,虽然现在还不是很明白是怎么回事,但是,遇见这方面的文章时 ,我也会特别的留意一下,用不用它,先收集了再说。



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一起使用
分享到:
评论
1 楼 fivestarwy 2008-08-31  
哦,受教了

相关推荐

    java开发小工具

    【描述】:博文链接指向的“https://hyf20120411.iteye.com/blog/1983007”可能是一个关于Java开发工具的讨论或者教程,虽然具体内容没有提供,但我们可以假设它可能涵盖了如何使用某些Java工具进行代码编写、测试和...

    java开发实用工具

    Java开发实用工具集合是一系列对Java开发者至关重要的资源,这些工具可以帮助提高开发效率,简化工作流程。在这个压缩包中,包含了各种常用的开发jar包、开发工具以及数据库和服务器管理工具,旨在为Java开发者提供...

    JAVA开发常用工具安装包

    Eclipse是最流行的Java开发集成环境(Integrated Development Environment,IDE),提供了强大的代码编辑、编译、调试和测试功能。Eclipse支持各种插件扩展,满足不同的开发需求。在这个安装包中,包含了多个版本的...

    java开发工具eclipse

    例如,JDT(Java Development Tools)是Eclipse中的一个核心插件,专门用于Java开发,提供强大的代码编辑、重构、调试和测试工具。 描述中提到的“框架和一组服务”指的是Eclipse的基础架构,它为构建其他应用程序...

    java开发工具和环境

    在IT行业中,Java是一种广泛应用的编程语言,广泛用于企业级...总结来说,Java开发工具和环境涵盖了从开发、编译、调试、测试到版本控制和部署的全过程。熟练掌握这些工具和环境,可以显著提升Java开发的效率和质量。

    Java常用开发工具.zip

    Java开发是全球软件行业中最为广泛使用的编程语言之一,其生态系统丰富多样,涵盖了各种开发工具。在给定的“Java常用开发工具.zip”压缩包中,我们可以找到几个关键的组件,这些工具对于Java开发者来说至关重要。 ...

    JAVA开发超级工具集

    《JAVA开发超级工具集》是一本面向Java开发者的重要参考资料,涵盖了多个在Java开发过程中不可或缺的工具,包括Ant、Maven、CVS、SVN以及Hudson。这些工具各自扮演着不同的角色,共同构成了一个强大的开发环境,使得...

    常见的十五种Java开发工具

    ### 常见的十五种Java开发工具 在软件开发领域,Java凭借其跨平台性、安全性以及丰富的类库支持,成为了最受欢迎的编程语言之一。本文将介绍十五种常用的Java开发工具及其简单的工作环境概述。 #### 1. JDK (Java ...

    java服务端开发工具

    它提供了强大的代码补全、重构工具、内置版本控制集成、单元测试支持等功能,极大地提高了开发效率。对于初学者,IntelliJ IDEA的用户友好界面和丰富的教程资源使其成为学习Java的优秀选择。 其次,JDK 1.8,全称为...

    Java开发工具JDK

    Java开发工具JDK,全称为Java Development Kit,是Oracle公司提供的用于开发和运行Java应用程序的基础软件包。JDK是Java编程环境的核心组成部分,包含了编译器、解释器、调试器、性能分析工具等一系列用于Java开发的...

    JAVA开发工具下载

    Java开发工具,通常被称为Java Development Kit (JDK),是用于创建和运行Java应用程序的重要软件包。JDK由Oracle公司提供,包含了编译器、调试器、文档、Java虚拟机(JVM)以及其他必要的工具,使得开发者能够编写、...

    java开发的聊天工具

    Java开发的聊天工具是一种利用Java编程语言实现的通信软件,它允许用户进行实时的文字、语音甚至视频交流。在本文中,我们将深入探讨Java在构建聊天工具时涉及的关键技术和概念。 首先,Java作为一种跨平台的面向...

    java开发的画图工具源码IDEA工具

    Java开发的画图工具源码,IDEA工具 在编程世界中,可视化工具是不可或缺的一部分,它们可以帮助开发者更直观地创建、编辑和理解复杂的图形结构。JHotDraw是一款基于Java的开源画图工具,它提供了丰富的图形绘制和...

    java常见14种开发工具

    Java开发工具是程序员进行Java应用程序开发的重要辅助工具,它们提供了编写、测试、调试和优化代码的环境。以下是对描述中提到的四种常见的Java开发工具的详细解析: 1. JDK(Java Development Kit):JDK是Java...

    java常用开发工具类大全

    "java常用开发工具类大全"可能包含了一系列这样的工具类,旨在帮助开发者高效地解决各种常见问题。下面我们将深入探讨几个常见的Java工具类库以及它们在实际开发中的应用。 1. **Java标准库中的工具类** - `java....

    目前最常用的14种Java开发工具简介

    Java开发工具是Java开发者不可或缺的助手,它们极大地提升了开发效率并简化了开发流程。下面将对标题和描述中提到的14种Java开发工具进行详细介绍。 1. **JDK(Java Development Kit)**:JDK是Java开发的基础,由...

    Java开发工具

    Java开发工具,通常被称为Integrated Development Environments (IDEs),是软件开发者进行Java编程的主要平台。它们提供了一整套便于编写、测试、调试和优化代码的环境。这些工具极大地提升了开发效率,减少了错误,...

    java web开发性能监测工具

    Java Web开发性能监测工具是开发者用来优化应用程序性能的关键工具,它们可以帮助我们识别并解决系统中的瓶颈,提升用户体验,以及确保服务的稳定性和高效性。在Java Web开发领域,有许多这样的工具,它们各自拥有...

    Java 程序员开发常用的工具.docx

    以下是几种常用的Java开发工具: - **Eclipse** - **简介**:Eclipse 是一款开源的集成开发环境,最初由IBM开发并贡献给开源社区,现由 Eclipse 基金会管理。 - **特点**: - 开放源代码,免费。 - 可扩展性强...

Global site tag (gtag.js) - Google Analytics