介绍10款常用的JAVA测试工具
来源:中国IT实验室 整理:J网社区
1. 美国Segue公司的Silk系列产品
Segue公司一直专注于软件质量优化领域。在Segue的产品套件中,拥有业内最强劲且最容易使用的、用于企业应用测试、调优和监测的自动化工具,能够帮助用户保障应用在其生命周期内的可靠性和性能。
(1) SilkPerformer——企业级性能测试工具
企业级自动化测试工具能够支持多种系统,如Java、。Net、Wireless、COM、CORBA、Oracle、Citrix、MetaFrame、客户机/服务器、以及各种ERP/CRM应用
多项专利技术精确模拟各种复杂的企业环境
可视化脚本记录功能及自定义工具简化了测试创建工作
SilkPerformer的Java/.NET浏览器以及JUnit/NUnit测试输入功能简化了对并发访问情况下远程应用组件的早期负载测试工作
方便易用,工作流向导会逐步引导用户完成整个测试流程
(2) SilkTest International——业内唯一的Unicode功能测试工具
SilkBean 充分利用 Java 语言的“编写一次,随处使用”的优点,让用户不必修改现有的脚本而能够在多种基于 Unix 的系统上运行
能够识别多种开发平台,如Java、JavaScript、HTML、ActiveX、Visual Basic 和C/C++等
一套脚本可供所有支持的语言使用
内置的错误恢复系统不仅具有自定义功能,可进行无人看守的自动测试
赛格瑞(Segue)公司是全球范围内专注于软件质量优化解决方案的领导者。2005年,赛格瑞(Segue)公司在中国设立了专门的销售服务公司,因此,赛格瑞(Segue)公司的软件测试产品在中国有了更好的技术支持。
参考网站:http://www.segue.com.cn/
推荐指数:★★★★★
2. MaxQ
MaxQ是一个免费的功能测试工具。它包括一个HTTP代理工具,可以录制测试脚本,并提供回放测试过程的命令行工具。测试结果的统计图表类似于一些较昂贵的商用测试工具。MaxQ希望能够提供一些关键的功能,比如HTTP测试录制回放功能,并支持脚本。
参考网站:http://maxq.tigris.org/
推荐指数:★★★☆☆
3. Httpunit
HttpUnit是一个开源的测试工具,是基于JUnit的一个测试框架,主要关注于测试Web应用,解决使用JUnit框架无法对远程Web内容进行测试的弊端。
HttpUnit提供的帮助类让测试者可以通过Java类和服务器进行交互,并且将服务器端的响应当作文本或者DOM对象进行处理。HttpUnit 还提供了一个模拟Servlet容器,让测试者不需要发布Servlet,就可以对Servlet的内部代码进行测试。本文中作者将详细的介绍如何使用 HttpUnit提供的类完成集成测试。
参考网站:http://www.httpunit.org/
推荐指数:★★★☆☆
4. Junit
是通用的测试 java 程序的测试框架JUnit可以对Java代码进行白盒测试。通过JUnitk可以用mock objects进行隔离测试;用Cactus进行容器内测试;用Ant和Maven进行自动构建;在Eclipse内进行测试;对Java应用程序、 Filter、Servlet、EJB、JSP、数据库应用程序、Taglib等进行单元测试。
参考网站:http://www.junit.org/
推荐指数:★★★★★
5. Jtest
Jtest是Parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的 可靠性。Jtest先分析每个java类,然后自动生成junit测试用例并执行用例,从而实现代码的最大覆盖,并将代码运行时未处理的异常暴露出来;另 外,它还可以检查以DbC(Design by Contract)规范开发的代码的正确性。用户还可以通过扩展测试用例的自动生成器来添加更多的junit用例。Jtest还能按照现有的超过350个 编码标准来检查并自动纠正大多数常见的编码规则上的偏差,用户可自定义这些标准,通过简单的几个点击,就能预防类似于未处理异常、函数错误、内存泄漏、性 能问题、安全隐患这样的代码问题。
JTest最大的优势在于静态代码分析,至于自动生成测试代码,当然生成测试代码框架也是不错的,但要做好单元测试用户还要做大量的工作。
参考网站:http://www.parasoft.com/jsp/aep/aep.jsp
推荐指数:★★★★☆
6. Hansel
Hansel 是一个测试覆盖率的工具——与用于单元测试的 JUnit framework 相集成,很容易检查单元测试套件的覆盖情况。
参考网站: http://hansel.sourceforge.net/
推荐指数:★★☆☆☆
7. Cactus
Cactus是一个基于JUnit框架的简单测试框架,用来单元测试服务端Java代码。Cactus框架 的主要目标是能够单元测试服务端的使用Servlet对象的Java方法如 HttpServletRequest,HttpServletResponse,HttpSession等
针对外部可测试组件运行时,需要把JUnit测试运行为发送HTTP请求给组件的客户端进程。为了在服务器 容器内部运行JUnit测试,可以用Cactus框架,它是一个免费的开源框架,是Apache Jakarta项目的一部分。Cactus 包含了关于JUnit客户端如何连接到服务器,然后使测试运行的详细信息。
参考网站: http://jakarta.apache.org/cactus/
推荐指数:★★★★☆
8. JFCUnit
JFCUnit使得你能够为Java偏移应用程序编写测试例子。它为从用代码打开的窗口上获得句柄提供了支持;为在一个部件层次定位部件提供支持;为在部件中发起事件(例如按一个按钮)以及以线程安全方式处理部件测试提供支持。
参考网站: http://jfcunit.sourceforge.net/
推荐指数:★★★☆☆
9. StrutsTestCase
StrutsTestCase(STC)框架是一个开源框架,用来测试基于 Struts 的 Web 应用程序。这个框架允许您在以下方面进行测试:
在 ActionForm 类中的验证逻辑(validate() 方法)
在 Action 类中的业务逻辑(execute() 方法)
动作转发(Action Forwards)。
转发 JSP
STC 支持两种测试类型:
Mock 方法 —— 在这种方法中,通过模拟容器提供的对象(HttpServletRequest、 HttpServletResponse 和 ServletContext),STC 不用把应用程序部署在应用服务器中,就可以对其进行测试。
Cactus 方法 —— 这种方法用于集成测试阶段,在这种方法中,应用程序要部署在容器中,所以可以像运行其他 JUnit 测试用例那样运行测试用例。
参考网站:http:// strutstestcase.sourceforge.net/
推荐指数:★★★★☆
10. TestNG
TestNG是根据JUnit 和 NUnit思想而构建的一个测试框架,但是TestNG增加了许多新的功能使得它变得更加强大与容易使用比如:
支持JSR 175注释(JDK 1.4利用JavaDoc注释同样也支持)
灵活的Test配置
支持默认的runtime和logging JDK功能
强大的执行模型(不再TestSuite)
支持独立的测试方法
参考网站: http://testng.org/
推荐指数:★★★★☆