Jtest知识问答.doc_第1页
Jtest知识问答.doc_第2页
Jtest知识问答.doc_第3页
Jtest知识问答.doc_第4页
Jtest知识问答.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

jtest 常见问题问答如何配置jtest才能提高覆盖率? 一方面您可以通过改变工具的测试配置来让工具增加生成的测试用例,从而提高覆盖率。操作如下: 选中菜单栏的jtesttest configurations,在打开的test configruations对话框的左边选中builtinunit testinggenerate unit tests,点击鼠标右键选duplicate,将这条规则复制到userdefined中然后选中generate unit tests,点右边面板中的generationfilter。在这个里边就是一些对生成测试用例的过滤条件,您可以在里边做一些设置。比如取消only generate test cases which will increase branch coverage 前面的复选框。这是就会让工具产生更多的测试用例。达到提高测试覆盖率的目的。 另一个方面,我们可以通过手动改变或增加测试用例的返回值或类型来提高测试覆盖率。您可能也知道,如果只是光光增加测试用例是无法使我们的测试覆盖率达到100的。这时我们可以先分析造成源代码覆盖率低的原因是什么,然后做相应的修改。例如,有一些if或case分支没有被走到的原因是因为输入参数值是固定造成的,那么我们可以查看相关的测试用例通过简单的改变参数的值或类型来提高测试覆盖率。 jtest是否支持命令行方式?如果可以,该如何操作?jtest执行时是可以用命令行的方式来操作的,我这里给您举一个简单例子: 打开命令窗口,进入到jtest的安装目录下,如:c:program filesparasoftjtest8.4 然后输入 jtestcli data “c:documents and settingsharryapplication dataparasoftjtestworkspace” resource “jtest example” config user:/”example configuration” report c:reportsreport1 -data指定工程workspace的路径; -resource指定需要做测试的工程名; -config指定测试配置; -report指定输出信息的文件路径; 如果对这块我的说明您不是很清楚,或是想了解更多的相关信息的话,您可以在我们的帮助文档里得到想要的:helphelp contents然后您可以在search框中输入command line来搜索。jtest在运行完新添加的junit测试用例后,是否会累加到覆盖率中?首先,我们的工具做覆盖率分析的时候是可以包含用户自己写的测试用例的。但就是否要做参数修改有分以下两种情况: 如果您是在我们生成的测试用例class文件中做添加方法的动作的时候,是不需要任何参数修改就可以包含的。 如果您是想添加新的文件的时候,是需要做参数设置的,比如您想在jtest example.jtest-examples.eval-下再新加一个名为simpletest1.java的测试用例,操作步骤如下: 点菜单栏中的jtesttest configurations.选择左边bulitinrun unit tests,点击右键选duplicate,将它复制到userdefined,选中它。点击右侧的execution,选中enable unit test execution这个复选框。选searchtest classes that match one of thses patterns relative to the classes in scope:点击new按钮,在弹出的edit pattern for unit test classes对话框中正确输入刚才我们新加的测试用例的路径,比如:project name: $project_name.jtest source folder: $source_folder package name: $package_name class name: $class_nametest1 设置好后点击ok。这时跑测试用例时我们要选jtesttest usinguser-definedrun unit tests。完成以上操作后就可以做到您想要的结果了。有没有关于jtest的详细使用说明书?关于使用手册,在我们工具的菜单栏的右上方helphelp contents里就是详细的说明书,您可以按顺序查看学习也可以搜速关键字来查阅想要的知识。或者您也可以到jtest安装目录下(默认:c:program filesparasoftjtest x.xmanuals)浏览jtest users guide (jtest8_users_guide.pdf)。什么是容器测试?我们要怎么做容器测试?首先jtest要做容器测试,必须要保证待测的工程是一个web project的工程,而且是要可以成功发布到容器中的工程。普通的java project是不可以跑容器测试的。 你可以按照以下方法导入事例工作练习研究:在package explorer右击-new-project-在jtest文件夹下选择jpetstore example project-next-选择framework, finish。导入后,具体操作步骤请参考help文档中generating and executing cactus tests for in-container testing。in-container测试主要是针对容器测试的。因为在实际测试中对服务器端的java组件的测试是十分困难的,而in-container测试会自动为服务器端的java组件(ejbs, servlets, struts action classes, spring classes 等等)产生基于cactus框架的测试用例,然后会自动的在应用容器中去模拟代码的真实运行环境去执行生成的测试用例。这样就可以在程序开发阶段就暴露出代码的问题。那什么是cactus呢,cactus其实是junit的一个扩展,但是它又和junit有些不同。cactus的测试分为三种不同的测试类别,jsptestcase,servlettestcase,filtertestcase,而不像junit就一种testcase,cactus的测试代码有服务器端的和客户端的两个部分,它们协调工作。更多的信息你可以去网上搜寻学习。test case parameterization主要功能是什么,该如何操作?通过jtest的test case parameterization可以自动产生也可以客户自定义各种复杂的输入值来提高测试覆盖率。通过使用test case parameterization,我们可以很方便的控制输入值的范围,类型还有输入顺序,从而产生复杂的test case scenarios来保证测试覆盖率。 具体的操作步骤你可以参照help文档中lesson 18: creating and using parameterized test cases。里面有非常详细的说明。近期在试用jtest,请问jtest tracer 能否在jboss中运行;调试参数是什么?jtest的tracer是可以在jboss中运行的。 步骤: 找到启动文件 jboss安装目录/bin/run.bat(windows平台) 或者 run.sh(unix平台) 在原始文件中修改 java_opts 参数 例如: set java_opts=%java_opts% -xms128m -xmx512m -xdebug -xrunpmt:monitor=soatest.showcase.ejb.book-store.*,file=c:tracerresult.out您只要在monitor=中加入您要监视的包或文件名。在file=中加入*.out文件的存放路径,保存。然后启动jboss后您就可以按正常操作网站,之后jtest就会记入下您的操作并在file指定的路径下生成out文件。更多信息您可以在help文档中查看“tips on configuring specific web servers for jtest tracer”。可否通过excel文件来准备测试数据并比较函数的测试结果?jtest是可以提供通过excel文件等其他形式来准备测试数据并比较函数的测试结果。如果您的函数的输入和输出都是对象或arraylist等,您可以在test case repository双击新建的test case然后在上面的图形化界面中您可以选择memberwise这个选项。如下图: 这时您就可以指定对象中的不同属性,当然对象中属性的具体值还是要像先前一样您需要手动的写好,这样jtest才能自动的帮您关联。更多信息请查看help文档中 “using data sources in tests”在jtest 测试报告中有时会出现low coverage是什么意思?jtest在单元测试测试覆盖率低于某个数值是会报“low coverage”,就像下面: 这说明在测试的时候覆盖率不能满足使用者的需求,提醒使用者注意。而这个数值客户可用在如下面板中完成自己的客制化数值。怎样可以提高生成的测试方法的数量吗? 您可以点击jtest工具栏中的jtesttest confirguration在buitin中选中“generate and run unit tests”点击右键,点duplicate。 然后您在上面userdefined中选中“generate and run unit tests”然后选择右边的generation选项卡,选择下面filter选项卡,然后去掉选中“only gneerate test cases which will increase branch coverage”的勾,保持。 在测试的时候您要选择下拉菜单中的test usinguser-definedgenerate and run unit test. 这样就会增加生成的测试用例说了。 当然另外一方面,生成的测试用例数和您被测方法有一定关系,如果您被测方法比较复杂,比如有多个分支,多种情况等,那相应的生成的测试用例数就多。 在生成jpetstore项目过程中,如果不指定sql sever那错误信息就不能存储吗?启动sql server是因为jpetstore这个项目在数据库中保存了一些宠物的信息而不是用户理解的存储错误信息的。所以要启动jpetstore项目就要同时运行sql server。而这个sql server是在新建项目时自动加载的hsql数据库。 启动方法: if you have closed and restarted jtest since creating the jpetstore project, start the sql server for jpetstore as follows: 1. right-click the jpetstore package explorer node, then choose run as run. 2. in the run dialog that opens, select java application start sql server. 3. click the run button 我使用 jtest 进行静态分析的时候,弹出以下窗口,请问可能是什么原因?这种错误信息,通常是这些java文件应该是编译就有问题没有通过,比如说有可能某些包没有引入正确等等。你可以看一下这些文件是否有编译错误。当项目并没有存放在jtest workspace下时,正确的命令行操作该如何写?重新在本地按照您的步骤在操作了一遍,运行是可以的。步骤如下: 重新新建了一个workspace,这样可以保证空间是干净的。 建好了以后jtest会从新启动,然后您就可以看见干净的jtest。然后您点击工具栏的jtesttest configurations您就能看到一个干净配置面板然后您选中run static analysisduplicate. 然后您可以修改名字如test。 导入项目 右键import项目您可以看到。我jtest的workspace在d:workspace1而项目的路径在d盘根目录您也可以看到d盘workspace下是没有项目的。 命令行操作 运行成功 jtestcli.exe -data d:workspace1 -resource jtest exampleexamplesevalsimple.java -config user:/test -report c:reportsreport1 您要注意的一点,-data后面是jtest的workspase。而不是项目的地址。用jpetstore例子做容器测试时,无测试用例生成,无法测试。什么原因?客户测试环境描述: eclipse 3.4 + jtest 8.4的插件版本,windows xp sp2系统。 问题定位应该是您的eclipse的安装程序中没有包含wst这个模块,所以造成生成的测试用例不能在容器中运行,所以还要烦请您到下面的链接下载wst模块安装到您的eclipse中再试试看。 /webtools/downloads/drops/r1.5/r-1.5.0-200606281455/如何自定义测试配置?用户除了可以使用jtest内建的常用测试配置以外,也可以符合自己需要的测试配置。 打开菜单jtest - test configurations弹出如下窗口: 选择需要作为模板的测试配置,以静态分析为例,请选择“run static analysis”测试配置。点击右键选择“duplicate”复制一份,则会在用户自定义分类“user-defined”中找到同名的测试配置,然后根据需要修改该测试配置来满足项目的要求。 如何获得jtest的测试报告? 在测试完成之后,可以通过测试进度面板上的report生成测试报告。 也可以在测试结果视图中生成最近一次测试的报告。 配置测试报告的生成路径: 默认生成的测试报告是html格式的。如下所示: 如果我在英文操作系统中如何才能使用日文版的jtest?jtest在安装的时候自动会根据您的操作系统安装相应语言的版本,如英文的操作系统默认的就是英文版的jtest,日文操作系统相应的就是日文版的jtest,如果您想在英文操作系统中使用日文版的jtest。操作如下: 选择jtest图标,右键属性,在下面 c:program filesparasoftjtest8.3jtest.exe 后面加 -nl ja 变成: c:program filesparasoftjtest8.3jtest.exe -nl ja 然后重启 tomcat中做tracer的操作步骤是什么样的?配置tomcat服务器脚本。做tracer。 选中工程,点击右键,选择run asrun 在弹出的run面板中做如下修改。 选择工程的服务器,选择右边面板的arguments,在vm arguments中的加入-xdebug -xrunpmt:monitor=org.springframework.samples.jpetstore.*,file=c:tracertracer and in-container.out。 然后apply保存。* 注意:(jdk不同版本的不同配置) 例如: -xdebug -xrunpmt:monitor=mypackage.*,file=c:monitor.out (java 5 and earlier) 变成 -agentlib:pmt=monitor=mypackage.*,file=c:monitor.out (java 6) 其中参数monitor是选择要监控的包名,参数file是选择*.out文件的存放路径 * 之后在启动服务器,打开ie浏览器后,jtest就会自动记录下在页面上的操作,并生成一个详尽的.out文件。 然后在test configuration中duplicate一个“generate and run from monitorin”配置选项,在后边的generation的inputs选项卡中选择“reading from a pre-recorded file:”然后选择之前产生的.out文件。 选中要测试的工程,然后选择test usinguser-defined下刚才保存的“generate and run from monitorin”这个测试配置。 注:另外有可能要在环境变量path中加 c:program filesparasoftjtest8.3pluginscom.parasoft.eclipse.api.win32_8.3.57jtestbin 因为做tracer的时候需要用到这个文件夹下的pmt.dll如何查看 jtest详细版本信息?请提供客户的jtest详细版本信息,helpabout parasoft jtest,点击parasoft图标,即可查看详细版本号,如下图: 为什么很多工程运行完后,只有行覆盖率呢?jtest中提供两种常用的覆盖率信息。line coverage 和 decision coverage 如果执行默认的run unit tests,只会生成line coverage行覆盖率。这样的设置可以使得单元测试的执行速度更快。如果希望得到其他覆盖率,请做如下设置:jtest-test configurations,弹出窗口中选择builtin - run unit tests, 右键点击该配置,选择duplicate拷贝该配置到user-defined,如图:选中该配置,点击右边execution面板,并选择filter标签。勾选report decision (branch) coverage 选项。,然后点击apply - close,重新选择该配置执行单元测试,如图:按照jtest tutorial的lesson 17做tracer练习时,不能正常运行错误如下:按下图所示启动tomcat。再重新操作。eclipse报告out of memory 错误,如何解决?有时候运行jtest的时候会产生

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论