测试工具Jtest:用于代码优化和测试——《软件工程综合实践专题》第四次个人博客

Posted 1759103-lsj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试工具Jtest:用于代码优化和测试——《软件工程综合实践专题》第四次个人博客相关的知识,希望对你有一定的参考价值。

测试工具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的机会。

 

以上是关于测试工具Jtest:用于代码优化和测试——《软件工程综合实践专题》第四次个人博客的主要内容,如果未能解决你的问题,请参考以下文章

全国计算机技术与软件专业技术资格(水平)考试软件评测师-考试内容总结(十三)软件测试技术与应用

Jtest的简单使用

软件测试的工具都有哪些

静态代码扫描工具 - sonarQube介绍

静态代码扫描工具 - sonarQube介绍

软件测试都用哪些工具?各工具有啥特点?