JProbe使用说明[z]

From:http://www.51testing.com/html/31/473.html

1.演示环境说明:

11HP个人台式电脑配置:

CPU

41.8G

Memery

512M

Disk

40G

OS

Windows2000

<o:p></o:p>

<o:p></o:p>

Software

①Bea WebLogic 6.1SP3

Oracle920<o:p></o:p>

JProbe5.0<o:p></o:p>

Jbuilder8.0<o:p></o:p>

UltraEdit10.0<o:p></o:p>

Toad7.3

12演示内容

1、 代码覆盖工具JPCoverage(重点说明)

2、 内存调试工具Memory Debugger(粗略说明)

12相关资料

数据库(SID:wangbl)中的测试数据

测试要素文档(doc)

xml文件

测试结果单(xls)

13其他预配置

修改bea\ctais\config.xml,如下:

<connectionpool></connectionpool>

Name="ctais"

UserID="ctais2"

JTS="" //原来为jdbc.ctais<o:p></o:p>

Password="oracle"

DefConnectionNum="5"

MaxConnectionNum="20"

JdbcDriver="oracle.jdbc.driver.OracleDriver"

JdbcUrl="jdbc:oracle:thin:@tinawang:1521:wangbl" >

3JPCoverage详细说明

JPCoverage的主界面:

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 415.5pt; HEIGHT: 258pt" o:ole="" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:/DOCUME~1/cc/LOCALS~1/Temp/msoclip1/01/clip_image001.png"></v:imagedata></v:shape>

31单机运行(不启动服务器)

311创建session

在下拉菜单“session”中点击“new session”,弹出窗口。

<v:shape id="_x0000_i1026" style="WIDTH: 415.5pt; HEIGHT: 328.5pt" o:ole="" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:/DOCUME~1/cc/LOCALS~1/Temp/msoclip1/01/clip_image003.png"></v:imagedata></v:shape>

<v:shape style="WIDTH: 415.5pt; HEIGHT: 328.5pt" o:ole="" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:/DOCUME~1/cc/LOCALS~1/Temp/msoclip1/01/clip_image003.png"> </v:imagedata></v:shape>

1、 Program Setting(程序设置)

选择“Standalone Application(单机)”

在“Main Class(主类)”中填写测试机的完整类名,也可以按旁边的“”键进行选择。

点击“More”,弹出一个对话框:

Main Class

测试机的完整类名

Tipctais.test.

Working Directory

指定测试机后,会缺省自动带出,也可以修改。

Arguments

为测试机的main函数传递变量

CLASSPATH

程序运行需要引用的类的路径

Tip:可以从Jbuilder中直接粘贴过来。

Java Virtual Machime

Java虚拟机

Tip:如果你安装过jdk,这里会显示c:\winnt\system32\java.exe为缺省的java虚拟机,如果不合用,请另外指定。这里选用c:\bea1\jdk131\bin\java.exe

2、 Data Collection Setting(数据收集设置)

指定要“覆盖”和要“排除”的包、类或方法,步骤如下:

选择一行,点击旁边出现的“”按钮,在弹出的对话框中选择一个jar包,右边出现一个类树,选择一个包或类或方法,点“确定”。

主窗口中出现了刚才选择的包、类或方法,在旁边选择“exclude(排除)”或“include(覆盖)”。

可以这样指定多个要“覆盖”或要“排除”的包、类或方法。

其他设置,多选:

Take Snapshot at Exit

退出时取一个快照

Ignore abstract method

忽略抽象方法

Start Recording at Program Start

从程序开始时记录

Report Only Method-level Coverage

只覆盖方法,缺省为行

Tip:我们要求覆盖到行。

3Runtime Settings(运行设置)

有三种“View Runtime Data”方法,任选其一:

Not View

在内存小的时候可以选择这种方法

Local

在本地console上显示

Remotely

在远程console上显示,运行时,服务器会一直等待指定的远程 console连接,直到连接成功后才继续运行。

Tip:我们选用“Not View”。<o:p></o:p>

指定“快照”保存的位置

4、保存

到这里我们已经完成了Session的设置,点击顶端的“Save”按钮,保存成(jpl)文件。

312运行

有两种运行方法,任选其一:

1、 Session窗口点“Run”,或在主界面工作条上点“|>”。

2、 启动commandcmd),在Dos窗口下输入:

jplauncher -Djava.compiler=NONE -jp_input=e:\jprobe\try2.jpl

Tip:使用第二种方式可以不用启动jpcoverage的主界面,这样可以节省内存,程序运行完后,快照会保存在jpl文件中指定的目录下。

313分析单个快照

jpcoverage主窗口1中选择一个(jpc)快照文件,对其进行分析,主要步骤如下。

1、 右键单击一个“快照”,在弹出的菜单中选择“”,打开一个独立的窗口2,如下图:

 

<v:shape id="_x0000_i1027" style="WIDTH: 415.5pt; HEIGHT: 311.25pt" o:ole="" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:/DOCUME~1/cc/LOCALS~1/Temp/msoclip1/01/clip_image005.png"></v:imagedata></v:shape>

2、 在新的窗口2中会显示出所有在前边的配置中选择“覆盖”的包、类或方法的情况。这是一个表(table)结构,分纵向和横向说明。

横向

缺省初始显示“包”的覆盖情况,这些包都是树状结构,可以打开以显示其下的类;类也都是树状结构,可以打开以显示其下的方法。

纵向

从左到右依次显示“覆盖的对象”、“被调用的次数”、“未覆盖的方法数”、“全部方法数”、“未覆盖到的代码行数”、“总代码行数”。

Tip:窗口2提供菜单,可以对上面的显示格式进行配置,在这里就不详述了,大家可以自己体会。

3、 我们选择一个包,点开它,显示该包中的所有类;选择一个类,点开树,显示该类中所有非抽象方法;双击一个方法,会弹出一个对话框,让你指定java源文件的位置。指定后,会关闭该对话框,弹出另外一个独立的窗口3(如下图)显示java源文件的内容,光标停在刚才选择的方法的开始处。用红色标明的行,为没有覆盖到的行。在窗口3的右上端有一个下拉列表,可以在这里选择要看的方法。

<v:shape id="_x0000_i1028" style="WIDTH: 415.5pt; HEIGHT: 224.25pt" o:ole="" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:/DOCUME~1/cc/LOCALS~1/Temp/msoclip1/01/clip_image007.png"></v:imagedata></v:shape>

4、 看未覆盖的行的情况,区分以下三种情况:

其他分支

在本快照中无法确定这些分支的覆盖情况,需要组织新的测试。

如上图中的第30行。

本分支内容错行

这不是真正的未覆盖到,可以忽略不计。

如上图中的第3738

本分支内冗余行

这才是真正的未覆盖行,继续相关处理。

314合并多个快照

一个业务可能有多个测试用例,每个测试用例覆盖一些分支,所有测试用例的集合要保证覆盖到所有的分支。每一个测试用例我们取一个快照,这些快照单个来看实际意义不大,只有合并在一起来分析意义才最大。

合并步骤如下:

在主窗口1的下拉菜单“SnapShot”中选择“Merge”,会弹出一个对话框。

<v:shape id="_x0000_i1029" style="WIDTH: 415.5pt; HEIGHT: 171.75pt" o:ole="" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:/DOCUME~1/cc/LOCALS~1/Temp/msoclip1/01/clip_image009.png"></v:imagedata></v:shape>在对话框的左边会出现所有可用的快照(jpc),选择要进行合并的快照到右边。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JProbe Suite ——提高开发效率,改善JAVA应用性能 * 轻松发现和消除性能瓶颈 * 查找问题代码 * 节省后续硬件及开发投入 * 增加应用发布信心 * 与开发过程集成,改善应用性能 JProbe Suite是一种能节省开发时间、降低开发费用、改善Java应用运行速度及和扩展能力的强大工具套件,在全球各地拥有大量用户。通过JProbe Suite,开发和测试小组可以全面诊断应用性能、内存使用、线程及代码覆盖等问题。无须修改应用,JProbe就能对桌面或远程服务器上的应用进行分析,实现强大的信息展示和Java代码性能诊断功能。利用JProbe先进的数据收集功能,可以实现自动化的性能信息采集,缩短应用开发和优化周期。 JProbe在简单易用的集成化套件中,为servlet、JSP和EJB应用代码提供了强大的Java性能分析、内存纠错、代码覆盖及线程分析功能。 JProbe Profiler JProbe Profiler * JProbe Profiler JProbe Profiler内置了Call Graph调用关系图和高级数据采集机制,可实现方法和代码行级的高精度性能诊断。 主要功能: 方法和行级分析:确定方法的热点,并以逐行方式挖掘分析性能状态。 计算运行时间或CPU时间占用:跟踪用户体验或计算瓶颈; 9种指标:多角度确定问题根源; 高级过滤和触发器:确定要诊断分析的关键代码区域; 快照对比技术:预测代码修改对性能的影响; 高级打印和输出功能:支持PDF、文本、HTML或Excel兼容的CSV格式。 JProbe Memory Debugger JProbe Memory Debugger可帮助开发人员快速查找Java代码的内存泄露和对象循环。内置的图形化实时内存使用和对象视图,有助于开发人员理解应用的内存使用,设法减少内存消耗以提高应用性能。 主要功能: 识别内存泄漏:通过易用的两步分析,跟踪运行时的内存增长; Memory Instance Calculator:计算内存泄露量; 智能化内存分析:通过Leak Doctor发现可能的内存泄露源; Aggregate Memory Footprint:理解对象创建的实际开销; Reference Graph 和 Instance Detail:跟踪内存使用和对象引用; 垃圾回收分析:检测过多的短期对象和垃圾收集详情; Snapshot 比对:确定代码改变对内存使用的影响。 JProbe Coverage *JProbe Coverage 帮助开发人员查找未执行代码,精确计算已执行代码,简化对测试工作可靠性和精确度的评估。 主要功能: Coverage Browser 和 Source Views:迅速确定未测试代码或死代码; Conditional Coverage Analysis: 分析特定条件所覆盖的代码范围,包括含有多个条件语句的代码行; Filter Catch Blocks: 更精确的覆盖范围报告; 批处理模式: 可通过批处理方式运行,简化与夜间编译/测试系统的整合; 报表功能: 以XML、纯文本、CSV或者HTML格式输出覆盖范围报告,以实现个性化的分析; Snapshot合并: 对多次运行中的覆盖范围数据进行合并; 可与下列应用服务器整合 o BEA WebLogic Server o IBM WebSphere Application Server o Sun Java System Application Server o Apache Tomcat o Oracle9i Application Server o JBoss o Macromedia JRun ........ 可与下列开发环境整合 o IBM WebSphere Studio Application Developer (WSAD) o Eclipse o Borland JBuilder o IntelliJ IDEA o Sun Java Studio o JBoss o Oracle Jdeveloper
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值