• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

jtest解释

发布: 2008-2-03 16:29 | 作者: 不详 | 来源: 51tushu | 查看: 361次 | 进入软件测试论坛讨论

领测软件测试网

十一、创建并运行一个简单的用户自定义jtest配置

jtest预设置的jtest configurations是基于开发者使用的最普遍的测试场景,如果想自定义测试,可以修改builtin配置或者创建用户定义的jtest配置,我们推荐每次执行不同的测试项目时都设置不同的测试场景。

目的:

演示如何创建一个简单的jtest对类编码的检查规范

步骤:

1)打开jtest-jtest configuration面板

2)选择user defined项

3)点击new,表示要创建一个新的jtest测试场景,jtest添加一个新目录叫做example configuration(1)

4)输入该场景的名字,例如输入metrics,这里我们让jtest只检查类规范

5)打开standards标签

6)点击disable all visible rules按钮,先关闭所有标准;如果看不到这个按钮,扩大整个面板就可以看到了。

7)点击class metrics复选框激活全部的类编码标准;扩展class metrics节点可查看具体规范

8)打开generation标签,清除enable unit test generation复选框;这是为了让这个自定义的测试场景只集中在代码规范上,如果要生成测试用例,运行已经存在的jtest配置即可。

9)打开execution标签清除enable unit test execution复选框,目的和上一个相同

10) 点击close,提示是否保存时,选择yes

11) 运行该测试场景时,点击要测试的项目,从play下拉菜单里选择user defined-metrics即可

十二、执行回归测试

当jtest第一次运行一个单元测试时,它会创建一个关于当前测试类的功能快照,并以junit格式的测试用例记录了类的行为。实质上,它自动创建了一个回归测试,当一个测试类修改了,可以重新运行测试用例来检查是否出现错误。

目的:

演示jtest如何执行回归测试

步骤:

1)打开simple.java源文件的编辑器

2)将add()方法里的“+”改成“-”,下一行应该变成return 11-12

3)保存源文件

4)选择simple.java源文件

点击play按钮运行回归测试;jtest将报告错误junit.framework.AssertionFailedError: expected:<14> but was:<0>。这个错误提示我们add()方法的功能自从上次测试后改变了;如果该错误不是故意的,例如排版会敲错,我们将要纠正该错误恢复到从前的正确情况;如果是故意这样修改,那就要纠正期望的outcome。

十三、检测内存泄漏

jtest能够在执行单元测试时检测内存泄漏。如果测试结束,内存仍然在使用中,jtest将会报告内存泄漏。

目的:

演示jtest如何在测试执行中检测内存泄漏

步骤:

1)打开example configuration

2)打开execution标签

3)打开options子标签

4)激活detect memory leaks选项

5)apply并close

6)选择library.java源文件:打开jtest example项目-example.leaks-library.java

7) 从play下拉菜单里选择Jtest Using> User-Defined> Example Configuration

8) 测试结束,报告内存泄漏错误细节

9) 双击[Line 37] Memory Leak: 3.8 megabytes per call,在源文件里打开代码,找到引起内存泄漏的代码行——每次addbook()方法被同样的参数调用,第37行代码分配的内存没有被释放

10) 取消文件末尾的hashcode()和equals()方法的注释,以此来消除内存泄漏错误即可。

第四章

本章是一些概念,英文书中列举的一些重要概念在前面都有所介绍,另外一些对实际jtest用户用处不大,以后我会写一个如何学习jtest的文档,在那里再仔细阐述。这里有一个概念,前面没有提到,这里简单说一下。

Rulewizard:是用户自定义jtest代码检查标准的模型,和jtest4.5或早期版本的功能、使用都相同。(关于Jtest4.5版本的使用介绍,本人也有个文档)Jtest能利用Rulewizard自动增加任何有效的代码检查标准,以此,项目团队检查特殊项目的代码需求

使用Rulewizard,代码规范能通过图形方式(类似流程图)或自动方式(提供代码实例来演示实际的代码规范偏差)来创建。

Rulewizard在jtest architect edition(架构版本)才可以用。这句话是原文说的,但在我们安装的full版里也可以打开,也许是full版里也包括Rulewizard了吧。其界面如下:

如何打开Rulewizard呢?

1)打开Jtest> Jtest Configurations

2)打开任何jtest configuration的standards标签

3)右键点击rules树的区域,选择add user-defined rule;Rulewizard界面就打开了,关于它的详细使用(修改、创建。激活等)参考帮助里的view in the Rulewizard UI。不过本人觉得没什么必要,人家parasoft提供的都够多、够全了,我们何必再加这些规范呢?除非真的有特殊需要吧;相反,等你用jtest,就会发现我们开发的代码很多地方都会被jtest认为有错,到时候你可别烦啊,^-^!

第五章

本章介绍jtest一些任务,主要功能任务都已经在第三章阐述过了;这里只说明一些其他辅助任务。

一、定时执行测试任务

jtest允许定时执行测试,和其他的自动化工具一样,可以安排夜晚执行测试,第二天来查看测试结果。另外,jtest还可以按照计划时间来创建大批量的测试用例,以不影响白日的工作。

如何定时测试呢?

1) 选择jtest-preferences

2) 选择jtest-scheduled testing

3) 激活enable scheduled testing选项

4) 在 execution time里输入希望的开始第一个文本框输入小时(0到23),第二个文本框输入分钟(0到59),例如希望在pm 10:30开始,那么就在第一个框里输入22,在第二个里输入30即可

5) 点击configuration to run的edit按钮,选择要执行的jtest configuration

6) 下一个edit是选择此执行要覆盖的测试集,即某项目或部分项目文件

7) 点击apply

注意:如果jtest主程序没有打开,到了定时时间,测试不会自动运行

二、评估发现的错误

和第三章介绍的error found一样,这里添加一个参考图示,供读者进一步了解:

三、查看测试覆盖信息

jtest能报告所有junit测试用例的覆盖率,因此用户可以评估当前代码被测试的范围,并决定是否需要增加额外的测试用例。一般来说,jtest能自动创建覆盖了被测试代码75%的测试用例,有时覆盖率也会达到100%,有时也会低于 75%。

测试覆盖率的跟踪一般被默认为是激活的。如果想要手工激活:

1)打开Jtest> Jtest Configurations

2)选择想要修改的测试配置,打开execution标签,再选择option子标签,保证report code coverage选项是激活的

测试执行后,想要查看覆盖率信息,有以下两个个方法:

1)打开一个测试文件的编辑器,在编辑区域左侧的一个兰色/绿色条表示测试覆盖的行,紫色条表示没有覆盖到的行,没有颜色的行表示不可执行的部分

2)打开coverage view面板,显示了每个类和每个方法的覆盖率统计图(覆盖百分比、全部可执行的行、覆盖的行),如图:

总结:关于jtest的基本使用,我想上述的内容就够了。白盒测试工具不像winrunnerrobot黑盒工具有那么多的预设置或脚本代码编写工作,它的设置简单明了;包括有一些我没有介绍的设置,例如修改测试范围scope、连接teamserver等(本人觉得这些内容也不重要,对使用jtest精髓毫无价值),读者只要装了jtest,按照我介绍的主要功能描述,点击几次自然就融会贯通了。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

33/3<123

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网