日期:2014-05-18  浏览次数:20713 次

java网站怎么做性能测试
原来做asp.net的,做性能优化很容易。asp.net可以trace网页,windows自带的性能监视器也能监视iis和sql server的运行状况。不用很复杂的工具就能很方便的测试网页,数据库等。我现在用structs+hibernate做应用。如果要做性能优调,主要在网页和数据库方面,有什么好的工具方法推荐,请各位java高手帮助?

------解决方案--------------------
大多数 J2EE 项目可能都是中小型 Web 项目,这类项目中较普遍或者说较典型的性能瓶颈一是数据访问,一是动态内容生成。
可以用loadrunner,事实上这个软件可以测试相当多的程序类型。其余一些大型测试软件也都具备类似的功能,选一个就行了。
------解决方案--------------------
Java测试工具介绍
现在有很多软件都是基于Java的,如何测试这些Java程序就成了一个测试工程师的新课题。以下介绍一些测试工具,可以提高Java 程序的测试效率。

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、Javascrīpt、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等进行单元测试。
提供了一个Java代码的单元测试框架,以方便Java程序员进行持续的单元
测试。JUnit 是Open Source 的,在XP(Extreme Programming)圈子里颇受欢迎。
参考网站:http://www.junit.org/
推荐指数:★★★★★

5. Jtest
Jtest是Parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。Jtest先分析每个java类,然后自动生成junit测试用例并执行用例,从而实现代码的最大覆盖,并将代码运行时未处理的异常暴露出来;另外,它还可以检查以DbC(Design by Contract)规范开发的代码的正确性。用户还可以通过扩展测试用例的自动生成器来添加更多的junit用例。Jtest还能按照现有的超过350个编码标准来检查并自动纠正大多数常见的编码规则上的偏差,用户可自定义这些标准,通过简单的几个点击,就能预防类似于未处理异常、函数错误、内存泄漏、性能问题、安全隐患这样的代码问题。
JTest最大的优势在于静态代码分析,至于自动生成测试代码,当然生成测试代码框架也是不错的,但要做好单元测试用户还要做大量的工作。
出品人:Parasoft 公司
主要功能:功能很丰富,包括白盒测试、黑盒测试、回归测试,以及代码风格的检查。
参考网站: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 不用把应用程序部署在应用服务器中,就可以对其进行测试。
Cactu