利用TPTP对Java程序进行性能测试
上一篇 / 下一篇 2011-12-15 11:06:42 / 个人分类:性能测试
TPTP51Testing软件测试网5b7Up6W2w,d2Xv
x2C&Ff)d#B1Nge u0 TPTP 为 UI 开发、数据收集、基于规则的数据查询以及应用程序的控制提供了基础代码。例如,TPTP 提供了其他工具可以重用和扩展的许多向导。它还提供了编程接口和一个守护进程,以便帮助从正在运行的本地或远程进程中收集数据。
&WK2Gi5wX05G,](u9Q!AM0 TPTP Testing Tools
,}n6B-Jsz4]0,H,Q1|w%R*zibB0 这个项目是在 TPTP 之上构建的,提供了对应用程序进行各种自动化测试所需的其他服务。当前版本支持 JUnit 自动测试、一种指向和点击脚本编程系统(用于进行手工测试并记录结果)和一个用于测试Web应用程序的自动化系统,包括一个可以记录和回放 Web 浏览会话并对结果进行验证的记录器。EclipseV4.1 还包括一个图形用户界面(GUI)记录器的早期版本,它可以记录和回放基于 SWT 的界面中的鼠标和键盘事件。51Testing软件测试网*HA}:K(t6|P
TPTP Monitoring Tools,这个项目对来自日志文件或来自应用程序收集的统计数据的数据进行收集、分析和图形显示。51Testing软件测试网[7F0lD5_7myP1Nb:v
TPTP Tracing and Profiling Tools这个项目也扩展了 TPTP,用来收集和分析正在运行的应用程序中的资源使用数据,包括 CPU 和内存。这个跟踪工具还允许与正在运行的进程进行交互。例如,可以手工地实施垃圾收集并检查剩余的对象池,从而寻找和修复内存 “泄漏”。另外,TPTP 包括一个称为 Agent Controller 的守护进程。Agent Controller 是Eclipse工作台和被测试的应用程序之间的 “联络人”。它代表Eclipse启动本地或远程Java应用程序并转发应用程序度量(包括应用程序日志文件)给Eclipse。
5Qpi o'^E#N051Testing软件测试网f1]iws}%Vr:Q|a5r%z b051Testing软件测试网S;BA_;R$Gs:J这是翻译自eclipse官方网站的一篇文章。
/wE3A%c0kj n051Testing软件测试网qB}eDw P-l,W原文地址:http://www.eclipse.org/articles/Article-TPTP-Profiling-Tool/tptpProfilingArticle.html51Testing软件测试网&wH$rUA
&o#W7wBq5k0 原作者:Valentina Popescu, IBMFebruary 21, 200651Testing软件测试网[6|8E6Lo2i
tr#Du&t2Aff\0 译文如下:51Testing软件测试网*? CP4\6r.Y
51Testing软件测试网C p9d'Q6h5CN利用TPTP进行性能测试51Testing软件测试网*Zw$deyZ%K qA?
A'S\0VQ3q0 1.概述:EclipseTest & Performance Tools Platform. (TPTP) 的性能测试工具(Profiling tool)能够用于优化eclipse插件应用、本地的java应用,乃至是运行在多台不同平台主机上的复杂应用,Profiling tool与eclipse紧密地结合在一起,能在Eclipse环境下运行性能测试。
aWQ`.m@o0x051Testing软件测试网.v$e3OA? F7n2. 应用的性能测试:要在短暂的开发周期里提交一个产品是当今的流行趋势,开发人员(不得不)将更多的精力关注在应用执行的功能方面,大多是通过测试、调试来稳固代码;然而,许多缺陷除非经过每天24小时,每周7天的连续运行是不容易暴露的。这类缺陷是不能通过调试程序的方式来发现。在发布一个产品之前,通过性能分析工具去分析应用的执行和验证性能问题是很重要的,例如:瓶颈、对象泄漏、系统资源局限。本文介绍了TPTP性能测试工具,示范了如何利用TPTP性能测试工具去定位出一个java应用性能缺陷潜在点,以及修复、验证结果。51Testing软件测试网9Ak*\1g(p e6h7P2Y
51Testing软件测试网cE#t|$vu-n3. TPTP 测试工具(翻译略)51Testing软件测试网,jwE"J?9D$ht?
| Wm5A5N@[*hq0 4. 利用TPTP对Java程序进行性能测试 :本文举了一个简单的关于product 分类的java应用例子,product的信息存储在分散的一些xml文件当中,这个应用将解析这些xml文件,然后把结果输出到控制台,这些xml文件的路径可以通过程序变量传递main函数读取,本例的源代码及xml文件下载连接:ProductCatalog_example.zip以及products.zip51Testing软件测试网B3o1|T2sP'd
51Testing软件测试网D5qAIvR5. 在性能测试视图中开始应用:下载上述的ProductCatalog_example.zip,解压后导入某个java项目下,选择Product类-->右键--->Profile As --> Java Application:51Testing软件测试网N2@QA`7ye9O(g:Jj
[#k2g,K:vf!V0设置java程序参数
!@?z^~&i0oUl6mt LAQ0 通过Profile As-->Java Application菜单打开如下对话框。对于这个例子来说,通过程序参数来设置包含产品信息的xml文件的文件夹路径,设置程序参数为x: /myPath/products,其中x:/myPath/products文件夹是你从本文中提供的products.zip下载解压到本地的路径。51Testing软件测试网'b!J[_1~ U
51Testing软件测试网V H6M,L0H*a5A设置性能测试过滤器
+G_*G5Z'\]({.H0.K/IgQG2Vo+W^0 下一步是通过设置性能测试选项作为收集执行信息的方法。设置这些选项,可以点击Launch configuration properties 向导中的Monitor页,选择一组适合的性能选项。提示:一组性能测试过滤器是能够被复用的。设置性能测试过滤器的目的是为了在连续相同的测试中复用,或者是在需要相同的性能测试信息时共享这些过滤器。以下的各个步骤描述了怎样创建一个用于剖析Product catalog的应用的过滤器。我们将创建一个叫ProductFilterSet,用于剖析包名前缀为com.sample.product 的包。51Testing软件测试网0aI|N!]
5\5w%j IMI)V0 1. 在Monitor页中选择Execution Time Analysis选项,
ka6E;i0M1G[/^0"RhVK ]t^7I"Xx0 我们选择的Execution Time Analysis选项能作用于product catalog 程序的连续运行期间,在下一次运行该程序的时候,可以跳过设置性能测试过滤器的步骤。
F]6cN8J:d*k051Testing软件测试网/c8d M X*\v,i2. 选择编辑选项51Testing软件测试网*Tm_$r(^'C`~o`
|a/K-J6r8m0 2a.选择Collect boundary classes excluded by the filter set选项,设置Boundary class depth的值为3。通过选择这个选项,你指明你想收集的信息是:符合过滤条件的方法以及被该方法调用深度不超过3层的方法。例如:假设我们设置的过滤器去收集MyMethod的信息,并且过滤出方法:M1,M2,M3,M4。
W0rg-Mcx G+r051Testing软件测试网+g0Mq1zQ-Q;_X如果调用栈是如下执行的:MyMethod>M1>M2>M3>M4,基于在2a中设置的过滤条件,性能解析器将显示如下的调用栈:MyMethod>M1>M2>M3,将不显示最后一级调用M3>M4(因为超过了3层)。
0oZH"xG z^ l1x051Testing软件测试网Dt]&AV;K1PZ)X5x3.选择要剖析的类51Testing软件测试网V'_sL,^1D&cV
51Testing软件测试网I3iWUI5Oi`/qu在Moniter页中,选择Java Profiling项,然后双击或者单击编辑按钮,打开The Filter Set 向导。利用The Filter Set 界面来选择你想剖析的类,这里已经预先定义了一组可用的过滤器,就本例来说,你可以通过下面几步创建一个新的过滤器:
bo.Xh/G\.k~051Testing软件测试网"j-vVD)rQ;b3a)单击Add..按钮,在弹出的对话框中输入ProductFilterSet,然后单击OK。
8rd;w Bgz@051Testing软件测试网d;qM-X5w3b)使用Contents of selected filter set列表中的Add按钮增加两个过滤器