自动查找隐蔽的运行缺陷
BugDetective是一种新的静态分析技术,它能够查找出隐藏在代码中的那些导致运行缺陷和造 成程序不稳定的错误。而这些错误往往是人工调试和检测起来耗时且难以发现的,有的甚至只有在 程序实际应用中才会暴露出来,这就大幅增加了修复这些错误的成本。BugDetective能通过自动追 踪和仿真执行路径来找出这些错误,即使是包含在不同方法和类之间,和(或)包内含有众多顺序 调用的复杂程序。BugDetective能诊断以及修复传统静态分析和单元测试容易遗漏的错误。在程序 开发周期中尽早发现这些错误能节省诊断时间,从而避免可能出现的重复工作。
自动代码检测
Jtest的静态代码分析能自动检测代码是否符合超 过800条的程序编码规范和任意数量的用户定制的编码 规则,帮助开发者避免出现这些隐蔽且难以修复的编码 错误。静态代码分析还能帮助用户预防一些特殊用法的 错误,提高安全性,增加代码的可读性和可维护性,并 且将适合重构的代码定位。静态代码分析能够自动解决 大多数编码问题,从而迅速地进行代码优化。
单元,组件以及应用级上检查并且捕捉代码行为
程序开发者和QA通过Jtest不仅能够建立应用于不 同级代码正确性和可靠性的测试套件(TestSuite),还 能为用于回归测试的基础版本捕捉代码行为。
优点:
迅速可靠地修改已有代码——无论开 发团队有大量未经过测试的代码或是一 些简单的测试,使用Jtest可以迅速地 建立一个回归安全性网络。
控制开发成本和进度——在开发过程中 能够尽早地发现错误从而大副降低开发 成本和缩短开发时间。对可能的用户路 径进行广泛的测试,避免推迟软件发布 时间或在软件发布后加入补丁。
优化开发资源——自动诊断大约80%的 编码问题使得开发者能够减少在逐行检 查和调试代码上花费的时间,从而使开 发者的精力集中在设计,算法和实现 上。
迅速掌握前沿技术带来优势的同时控制 相应的风险——降低复杂的企业级应用 程序的调试难度(如SOA/Web服务程序 和JavaEE的应用)。
对于Java代码质量和可读性具备直观可 视化效果——通过对代码质量和预期目 标的控制使用户从整体上把握开发进
度。
功能
自动生成敏感的低噪声回归测试套件
自动发现可能会跨越方法、类或者包的运行缺陷
捕捉配置代码运行的真实行为以生成Junit 测试用例
生成可扩展的Junit 和Cactus 测试用例来定位可靠性和代码行为方面的问题
执行测试套件以定位回归测试和未预见到的副作用
用分支覆盖率来监控测试覆盖率以达到高覆盖率
在测试运行时定位内存泄漏
检查代码是否符合超过800 多条的内建规则,包括100条安全性规则
对违反250 条规则的代码进行快速纠正
可以通过图形工具或者提供一个含有违反相应规则的示例
代码来修改参数从而定制用户自定义规则
支持Struts, Spring, Hibernate, EJBs, JSPs, Servlets
可完整集成于Eclipse, RAD, JBuilder
可于InterlliJ IDEA 和Oracle JDeveloper 部分集成
(导入结果)可与大多数主流的源码控制系统完整集成
自动同行代码走查过程(包括准备,提示和导航)在团队内部或是组织内部共享测试设置
生成HTML 和XML 报告
提供GUI(交互)和命令行(批处理)两种模式
自动为常规回归测试建立底层测试框架
总的来讲,这些测试用例构成了一个健壮的回归测试套 件,自动在初期发现缺陷并且判断其对相应代码的修改是 否会破坏既有功能。这样的回归测试套件对于开发者迅速 可靠地更改代码是相当有帮助的,尤其是针对设计复杂并 需要不断升级维护的程序而言更为重要。无论开发团队的 代码库是否经过测试,或只经过很少的测试,Jtest都能迅 速为其生成健壮的,低噪声的回归测试套件。
将Jtest加入到团队的工作流程框架中
Jtest支持部署全团队的测试标准,并提供可持续的工作 流来将最佳实践无缝集成入团队现有流程中。项目架构师 首先可以自定义开发团队的测试配置,而后Parasoft的开发团队每 个成员的Jtest进行相应配置。开发者可以直接使用IDE来 查找和修复这些问题,避免将这些问题传递到源码控制系 统中。其次,Jtest服务器每天定时检测整个项目的代码, 并且将所发现的问题通过Email发送给团队经理和相关的负 责人。开发者能够将这些结果直接导入到IDE中来查找代码 中的错误。Jtest 服务器还能将这些消息发送到 ParasoftGroupReportingSystem(GRS),GRS通过收集和分 析Jtest或是其它测试工具的数据,并按类别整理到项目质 量和状态的概要数据中,然后分别提供给项目经理,架构 师,开发者和测试者以供参考。
系统需求
操作系统
Windows:Windows 2000, XP, 2003 或Vista
Linux: Red Hat 9.0, Fedora Core 1-3 或更高, Red Hat E.L. 2,3,4
Solaris: Solaris 8,9,10
硬件配置
Intel® Pentium® III 1.0 GHz 或更高(推荐)
UltraSPARC processor 1.0 GHz 或更高(推荐)
最低1GB RAM; 推荐2GB RAM
Sun Microsystems JRE 1.3 或更高(32 位)
IDE (仅支持插件)
Eclipse 3.3-3.0, IBM Rational Application Developer 6.0-7.0, JBuilder 2007