测试工具Jtest:用于代码优化和测试
一、Jtest简介
Jtest 是 Parasoft 公司推出的一款针对 Java 语言的自动化代码优化和测试工具,它通过自动化实现对 Java 应用程序的单元测试和编码规范校验,从而提高代码的可靠性以及 Java 软件开发团队的开发效率。
二、主要功能
1)通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。Jtest先分析每个java类,然后自动生成junit测试用例并执行用例,从而实现代码的最大覆盖,并将代码运行时未处理的异常暴露出来。
2)可以检查DbC(Design by Contract)规范开发的代码的正确性。
3)用户可自定义编码标准,通过简单的几个点击,就能预防类似于未处理异常、函数错误、内存泄漏、性能问题、安全隐患这样的代码问题。
三、优势
1)使预防代码错误成为可能,从而大大节约成本,提高软件质量和开发效率
2)使单元测试,包括白盒、黑盒以及回归测试成为可能
3)使代码规范检查和自动纠正成为可能
4)鼓励开发团队横向协作来预防代码错误
四、工作原理
Jtest通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。Jtest先分析每个java类,然后自动生成测试用例并执行用例,从而实现代码的最大覆盖,并将代码运行时未处理的异常暴露出来;另外,它还可以检查以DbC(Designby Contract)规范开发的代码的正确性。用户还可以通过扩展测试用例的自动生成器来添加更多的用例。Jtest还能按照现有的超过350个编码标准来检查并自动纠正大多数常见的编码规则上的偏差,用户可自定义这些标准,通过简单的几个点击,就能预防类似于未处理异常、函数错误、内存泄漏、性能问题、安全隐患这样的代码问题。
五、使用Jtest进行Java编码规范检查
1.选择 Jtest->Test Using Default Configuration 运行编码规范检查。
2.对执行代码规范检查的结果。默认情况下,执行代码规范检查时,单元测试也会一并触发。其中选项卡上方的红叉表示在对应检查项中发现了错误或警告。在 Static 选项卡中,可以看到执行检查过程中,被检查的文件个数,运行失败的次数,违反代码规范的个数以及检查耗时等信息。
3.检查执行完毕后,可以通过打开 Jtask 窗口中的树形结构查看更详细的检查结果。在该树形结构中,Fix Static Analysis Violations 节点记录了所有到被检查代码中违反编码规范的缺陷。下图所示,选中一条违反编码规范记录,点击右键选中View Rule Documentation,可查看相应代码的编码规范描述信息。
4.双击“[Line: 57] Text label 'case1' may be typo for 'case 1”节点,代码编辑器中会自动定位并高亮显示错误代码。点击代码左侧黄色图标,Jtest 会弹出对于当前错误的建议修改方案,选择 Change the label to switch case,Jtest 会自动修复当前代码错误,即将代码中的字段:“case1”自动修改为“case 1”。自动修复错误后,代码左侧的黄色图标会消失,Jtask 窗口中的错误信息也会被删除。
5.Jtest可进行认为忽略和删除特定错误的报告信息,通过打开Jtask窗口,选中希望忽略或者删除的违反编码规范记录后右击选择相应的Suppress Task或者Delete。在弹出的 Reason for the suppression 对话框中填写忽略原因,点击 OK。
以上就是初步学习Jtest测试工具后的小实践,Jtest是一款非常实用的工具,相信在未来会有更多使用Jtest进行实践和深入了解Jtest的机会。