关闭

使用Jtest:一款优秀的 Java 代码优化和测试工具

发表于:2011-6-27 14:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:赵卓 任一楠    来源:51Testing软件测试网采编

  以 testAdd1() 为例,该方法测试了 -2147483648 与 -1000 的和,并将预期结果设置为 2147482648。因此开发人员只需要判断实际输出是否为 Jtest 的预设结果。若预设正确,可通过点击 Verify outcome 可验证预期输出结果;若预设错误,可点击 Change Expected Value 更改预期结果。

图 14. 验证预期结果(查看大图)

  ● 回归测试

  当 Jtest 第一次运行单元测试时,它会创建一个关于当前被测试类及测试参数的快照。当一个被测试类修改了,可以重新运行测试用例来检查是否出现错误。

  当需要对 Eval.java 类进行执行回归测试时,用户可以打开 Jtest Example.jtest 工程,重新运行 EvalTest。假设我们将 Eval.java 类 startsWith 方法中的 73 行处的“i1 + i2”改为“i1 + i2 + i2”,再次运行测试用例,在回归测试结果中可以发现,Jtest 报告了新错误“Review Assertion Failures”。

图 15. 查看回归测试结果

  这个错误表明 Jtest 探测到被测类在此次测试与上一次测试之间一段时间内被修改过,开发测试人员可根据需求判断是否保持该更新。

  Jtest 其他特性

  检查内存泄漏

  执行单元测试时,Jtest 会自动检测内存泄漏。如果测试结束时内存仍然没有被释放,Jtest 将会报告内存泄漏错误。

  在菜单栏中选择 Jtest->Test Configurations,打开 User Defined,选择当前使用的测试方案配置,如“Example Configuration”,在右侧面板上的 Execution->Options 选项卡中激活 detect memory leaks 选项,点击 Apply。

  查看测试覆盖信息

  Jtest 能够实时跟踪测试覆盖率,随后在覆盖率窗口中图形化显示当前被执行测试的代码的覆盖率信息。

  选择 Jtest->Test Configurations,打开 User Defined,选择当前使用的测试方案配置,如“Example Configuration”,在右侧面板上的 Execution->Options 选项卡中激活 Report executable line coverage 选项,并根据具体需求选择其子选项,点击 Apply。

  开发或测试人员可以在代码编辑器中打开被测类文件,当代码对应的编辑器左侧为绿色,则表示该行代码已经被覆盖;红色则表示该行代码尚未被覆盖;无色则表示该行代码不能被执行。图 16 中 Eval.java 类中的 return false 语句不能被覆盖。同时,Coverage 窗口也显示了被测类及其方法的覆盖率统计,图中对于 Eval.java 的测试覆盖率达到了 88%。

图 16. 查看测试覆盖率

  总结

  本文分别从工作原理,主要功能和具体使用几个方面介绍了一款优秀的 Java 代码优化和测试工具 Jtest。Jtest 通过单元测试和代码规范检查,以自动化的方式,实现了代码基本错误的预防和优化。使用 Jtest 能够帮助软件开发和测试人员有效减少软件开发和维护的时间成本,提高软件的质量。

66/6<123456
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号