软件测试学习体会Vol42.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试学习体会Vol 42 ? 用对象模式实现QTP的远程调用 随着测试团队的不断增大,测试脚本的数量也日渐增多。相信很多有自动化项目经验的人都体会过,使用单个机器去运行所有脚本,会导致整个测试过程冗长而缺乏稳定性。而且,很多自动化测试的要求是一套脚本,多环境运行。当遇到项目所提供的测试周期经常,用例数量大,测试环境多这样的问题时,分步试运行就变得尤为重要。 像Load Runner一样,我们需要一个Controler来发布测试命令,驱动其他Generator运行脚本,最后再将测试结果发回Controler汇总。 说到这里,很多人自然会想到Quality Center。在QTP10.0中,增加了提供远程调用的Agent。在QC中,可以通过选择不同的主机,来控制具体某一台机运行指定的测试集。QC确实是QTP紧密捆绑的框架,但是特定的项目需求,光依赖QC是不够的,一大堆配置就已经够恼人的了。相信很多使用者都希望自己设计框架来满足项目的需要。 那么下面讨论用对象模式实现QTP的远程调用,就可以满足这样的需求。代码很简单,以下是VBS示例: Dim qtApp Set qtApp=CreateObject(QuickTest.Application,\xx.xxx.xx.xxx) qtApp.Launch qtApp.Visible=True qtApp.Open\xx.xxx.xx.xxx\Testaction,False qtApp.Test.Run qtApp.Quit Set qtApp=nothing 其中XX.XXX.XX.XXX代表远程运行机的IP地址,Testaction表示QTP工程文件的名称。 光有这一小段代码还不够,接下来还有一些配置需要完成。 1、控制机和测试机需要在同一个域中。 2、保证控制机对测试机上的脚本储存文件夹,例如Testaction具有访问权限。 3、修改测试机的DCOM配置。 关于DCOM的配置如下: 1、在开始-运行中输入:dcomcnfg,点击OK。 2、在Component Services窗口中,打开图中所示的DCOM Config。 3、选中QuickTest Professional Automation,右键打开Properties。 4、切换到Security标签,在Launch and Activation项处选择,Customize,并点击Edit. 5、在Permission窗口中点击添加按钮,在弹出的窗口中添加控制机在域中的管理员账号,并赋予操作权限。 完成以上配置后,在控制机运行包含代码的VBS文件,远程测试机已经成功启动QTP并运行指定的测试集。 有了这个方法,在自动化框架中便可以分布式的灵活指定不同的机器运行脚本了。 ===分割线=== ===分割线=== 测试小兵成长记:磨刀不误砍柴工 本故事纯属虚构,如有雷同,纯属巧合 大毛又忙了一个星期,总算是让领导满意了。 嗯,从这个结果来看大毛的奖金才有希望嘛。 啊?才有希望而已? 对啊。那怎么样才能落实呢… 这个…难道要写更少的测试用例? 大毛你做过自动化测试没有啊? 听说过,没做过。 那知道为什么要做自动化测试吗? 好像是为了代替人来执行测试用例吧。 那我得纠正你一下。主要目的其实有四个:短时间内执行大量的测试用例(见注1);确保每个测试用的每次执行都是一致的步骤;让不熟悉测试用例的人也可以执行测试用例;执行人类难以执行的测试用例。 没概念… 没关系。把你写的测试用例分分类,看看如果要做自动化测试的话,分别是为了达到刚才说的四个目的之中的哪一个。 我只能凭想象做做看了。 做了再说吧。 两天之后… 老大,我是做完了,但是有些用例怎么看都可以是为了达到多个目的,我没法判断应该是哪一个目的啊。 实际情况就是这样的。 我倒… 我给你归纳一下吧。 这些用例主要是API测试,数量很多,与此同时自动化执行的速度相当快,所以让机器执行就相当省时省力。 这些用例是为了保证上次发现的bug不要再出现,所以务必要重复一致的步骤,因为那些bug就是在固定的步骤下才能重现的。万一步骤不一致,而bug又没有出现,那就无法判断到底上次发现的bug有没有出现了。 这些用例是要让开发人员在提交代码之前保证没有大问题的,如果每个开发人员都依赖测试人员来执行的话,累都累死测试团队了,而且又不可能让每个开发人员都熟悉每个测试用例,只有让机器执行,这样就两边的人都不会麻烦了。 这些测试用例要么是极快地,要么是长时间地与产品交互操作,人类没有那样的速度和耐心,所以只能让机器执行。 哦,我有点概念了。那我不太明白一件事,看起来所有测试用例都可以是为了达到第一个目的嘛(注2)。 没错,但那并不一定是主要目的啊。 还主要目的次要目的咧。老大,为什么我们要想那么多呢?

文档评论(0)

lxm + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档