- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单元测试工具Jprbe简明使用手册
单元测试工具Jprobe简明使用手册
软件产品部 马金钱
概述
Jprobe Suite是Sitraka公司研制的一组针对Java的单元测试工具,帮助解决Java代码的缺陷以实现Java的最大效能,共包括Memory Debugger、Profiler、Threadalyzer、Coverage等四个独立工具,其中Threadalyzer 和Coverage被称作程序校正(Correctness)工具,Threadalyzer通过找出程序中的死锁和空值以检验线程的正确性,Coverage用来Memory Debugger和Profiler被称作程序性能工具,Memory Debugger帮助发现因不足参数管理和对象的过度分配而引起的内存泄漏,Profiler通过统计程序各部分的运行时间帮助找出程序的性能瓶颈。Jprobe的每个工具都可支持两种类型的应用:独立应用(Standalone Application)和基于应用服务器的应用(Using Application Server)。因四个工具的参数配置等步骤相同,以下首先就以Coverage为重点详解介绍Jprobe的安装、参数配置、建立新应用等过程,然后再分别以图示介绍各工具的不同运行结果。
主要功能
分析本地运行的J2EE应用和J2SE应用;
分析远程机器上运行的J2EE应用和J2SE应用;
通过使用过滤器聚焦你的代码;
监控被收集的数据(Jprobe Coverage除外);
保存数据到快照文件;
以高级图形用户界面回顾快照文件;
在源代码中标识问题的方法或行;
把快照文件同基线进行比较(只针对Jprobe Profiler和Jprobe Memory Debugger);
通过触发能自动进行分析(Jprobe Threadalyzer除外);
通过创建和运行自动化脚本能规则地校验代码;
安装
可以进行Jprobe Suite的安装,也可以单独安装某一单一工具,安装过程同一般软件的安装过程类似,只是在安装最后的注册过程较为繁琐,它实行严格的许可证管理,注册前,须向Sitraka公司发送你本机的一些认证信息,Sitraka公司再通过email寄给你许可证文件进行注册。登陆网站,可下载注册一个10天的试用版。具体的安装和注册场景不在此详述,安装完成后,在开始菜单中如图1所示:
图1
应用前提
Jprobe只是用于做单元测试,而不能进行程序的编译和调试,因此,使用Jprobe做单个程序应用或基于服务器应用测试之前,一定要保证程序已进行编译并能成功运行。
独立应用(Standalone Application)使用
以下以一个小Java程序myquery.Java为例,演示如何用Jprobe Coverage测试独立应用程序中方法和代码的覆盖率,该程序功能是向数据库表中查询,源代码如下:
import java.sql.*;
import javax.sql.DataSource;
import javax.naming.*;
import java.lang.*;
import java.util.*;
public class myquery
{
public static void querydata() throws Exception
{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String uri = jdbc:hsqldb:hsql://localhost;
int i=0;
try{
try{
Class.forName(org.hsqldb.jdbcDriver).newInstance();
}
catch(java.lang.ClassNotFoundException e)
{
System.err.print(ClassNotFoundException: );
}
try{
conn = DriverManager.getConnection(uri,sa,);
}
catch (SQLException e)
{
System.out.println(e.getMessage().toString());
}
stmt = conn.createStatement();
String sql
文档评论(0)