心念旧安,夙夜忧叹。

WinRunner与QTP——我们该选择谁

上一篇 / 下一篇  2007-08-18 09:49:09 / 个人分类:转贴好文

Ci(l*NW%X3~0以下是pcl老师为学员解答的帖子,特此整理上来供大家学习

_ n;w!`B@ \ Zy0

S8S K2l9G }:Z(`&J0 

K1J3T.v t051Testing软件测试网9~Ub#N9Rjj@'o:o

 51Testing软件测试网9P+i?T,?v

51Testing软件测试网0Gc7qJ-J*z!i Sr

 51Testing软件测试网5Y2eHE:PhT;z

51Testing软件测试网8P2b5CS J}6|.Z

================================51Testing软件测试网 |Z"^ n;PlZ
pcl2004_27
1|)m e:ci-g0回帖:51Testing软件测试网u/`R\3q%Sj

~&a*yhy6Z&wA0区别51Testing软件测试网9h_+z"l0O}|M

51Testing软件测试网Dd)xY/q]!KV&w

1.工具试用环境(功能自动化测试工具的选择与开发语言有关系,性能测试工具选择与协议有关系)的区别,这个区别很重要是自动化实施选择的第一步:51Testing软件测试网(a mZ{zJI?8u
qtp 和 wr都适用的范围:Web-Related Environments, IE, Netscape, AOL  JDK, Java Foundation Classes, AWT  Symantec Visual Café   ActiveX Controls ERP/CRM:  Oracle: Jinitiator, 11i, NCA  Custom Client Server:   Windows  C++/C   Visual Basic Operating Systems:  Windows 98, 2000, NT, ME, XP Legacy:  3270, 5250 Emulators  VT10051Testing软件测试网8s9}s$LZ~ a+^\1M
仅仅 wr试用的
W0s)Eb3p3D,[G*r0Custom Client/Server :PowerBuilder  Forte  Delphi   Centura   Stingray   SmallTalk ERP/CRM: Baan  PeopleSoft Windows   Siebel 5, 6 GUI Clients   Oracle GUI Forms  PowerBuilder  51Testing软件测试网fwx ?OuC
Forte   Delphi   Centura   Stingray   SmallTalk  ERP/CRM: Baan  PeopleSoft Windows
B@,H3A8^J0Siebel 5, 6 GUI Clients  Oracle GUI Forms 
1| hs QP|w0仅仅qtp试用的范围:51Testing软件测试网7_&\z5b-V\.a
ERP/CRM   SAP  Siebel 7.x  PeopleSoft 8.x.Net  WinForms  WebForms .Net controls  Web Services  XML, HTTP  WSDL, SOAP  J2EE, .Net Multimedia  RealAudio/Video  Flash

+_;p,h.G:C0

u!H#cj{p.r0自动化测试工具的选型第一步就是看该工具是否适用于本软件系统的开发语言环境,否则自动化实施就会功败垂成。如:我们有学员去一家公司,该公司是用的是c#开发的软件,他们在用wr座自动化测试,经常会遇到识别对象的问题,脚本运行失败等,就是一个典型例子,工具选型错误。51Testing软件测试网*|2~"v'R x `#B E
从上边来看,现在大多数说wr做c/s架构,qtp做b/s架构的测试这是一种错误的说法,应该说他们更适用于什么架构的测试,因为适用环境决定了他们可以做这些事情。51Testing软件测试网9|4p a#x E0X

51Testing软件测试网Fh|+gN4I.g*M!m Z_"{

2.工具本身特点:51Testing软件测试网 wp6qmN@'}
验证点问题:wr有四种验证点,qtp有9种验证点(题外话 robot有13种验证点),这种验证点的类型越多提供的验证方式越多,就越减少验证脚本的开发难度,而且有些验证点类型是qtp独有的,比如xml验证点,wr就没有,所以从这点上来看,验证点多其实简化脚本开发难度,让软件更容易使用,那么和你的团队状况有关系,比如你的团队是技术人员欠缺的话,那么自动化测试工具的易用性更加重要。51Testing软件测试网/B!e:q A^{3G
3.脚本开发的特点:51Testing软件测试网.Pf)lv#Ps P9@S
wr是tsl脚本,类c,qtp是vbs脚本,从脚本的难度来看,vbs更容易上手,c要上手周期比较长,所以根据一个团队的人员技术情况,会选择一个更加符合实际情况的工具51Testing软件测试网Z:iI&a}uDk(|
4.脚本的可扩展性
*d)\$WX)~Dc2Di|0  在脚本开发过程中对脚本的稳定性,识别对象的能力,脚本的可维护性等都有要求,wr是c的脚本他没有办法直接调用window底层的com对象(这些对象的调用弥补了脚本开发的不足),只能通过两种办法一种是通过其他工具(vc,delphi等)开发相应的dll(vb除外,因为vb开发的也是com),这样加大了团队技术人员的要求;一种方法是写vbs,然后再wr中调用,这种方法的缺点是脚本的衔接性不好。而qtp利用的是微软的脚本引擎,直接可以调用vbs语句,可以直接调用底层com对象,对脚本开发能力 大大的增强了51Testing软件测试网xLS'yu:l
这里要说的是wr可以做到qtp的效果,但是需要绕行,增加了脚本开发的难度,不是说他不能做。

"V}$s-H,nV7Ds-f j051Testing软件测试网3h[1mU%\&s i*z+[

5.脚本对象的维护
K$h8@!R j2K"cD_0  在脚本开发过程中,这两个工具都有一个很重要的特点,脚本与测试对象分离,wr把对象保存在gui map中,qtp把对象保存在对象库里 repository.
%y(h+_rku%p;ln0  在实际脚本开发过程中很多情况都用到了,对想描述,在wr中其实也可以做到对想描述,只是没有和qtp一样那么好听的名字“可描述编程语言”(qtp的叫法)而已。wr的gui map就是一个文本文件,qtp的repostory是个xml描述。实际项目开发过程中,qtp更多的是把对象描述出来,而wr在脚本开发过程中限于环境应用都把他保存在gui map里,因为描述出来的对象不象qtp那样好维护,wr描述出来的就是一个字符串而已51Testing软件测试网m$T+c yi1o x
6.脚本的可维护性
v r7D)Aa0他们都可以和td(qc)整合,通过td(qc)来维护脚本,搭成自动化测试框架。但是td(qc)调用wr可以直接调用,调用qtp需要安装插件。

s Sj0tGl\c)]051Testing软件测试网{%y"N:v7~#O3|O(U

还有更多的不同,以上随手写出,提供大家参考,希望大家在实际项目中更多的体会,你们在培训过程中学到的自动化测试脚本开发的技术完全满足其他工具的应用,不要因为工具而工具,而是更多的脱离工具,手中无剑,心中有剑。

*~(`F0Y-Px H d BPk0

TAG: 转贴好文

引用 删除 keyisoft_ylw   /   2016-04-07 14:39:31
1
大师兄--绝迹江湖 引用 删除 songfun   /   2007-09-02 22:18:08
Mercury Interactive, WinRunner, and QuickTest Pro
Introduction
This document was created because of the major amount of confusion out there about Mercury's intentions with WinRunner and QuickTest Pro. There have been a lot of questions about whether scripts would have to be converted, thrown away, or be reusable. I talked with Mercury over the span of a couple conference calls to get things cleared up. The content and direction of the this document comes from questions that were offered by QAForums users and questions that I had for my own knowledge.
This thread should not be replied to, please reference it in other threads. Thanks. I will update this thread as needed, with information confirmed by Mercury.

From what I have gathered from questions that I've been asked and the statements that I'm hearing, I think *most* of everyone's fears about this new dynamic can be summed up with what Mercury has been saying all along:


WinRunner and its support are not going away.

Now, the 'how will things be handled in the future' and 'will WR do this and will QTP do that' issues are going to take some discussion. So, here we go.

"Ok, I got QTP and I've got an app that I'm testing with it. What about my WR stuff? Should I just throw those scripts out?" No, no, no. Again, I say, "No." QTP is going to (if not already) have the ability to launch WR and have your scripts run. You're not going to lose all the scripts, etc. that you've built. You've had your WR scripts call other WR scripts before... it's going to be the same concept. And what's coming in the "near future" is a centralized results set. Where you run your WR/QTP scripts and they call QTP/WR scripts and your reported results at the end of your test run are all in one place.

So an environment that has been using WR and need a .NET solution would build .NET app scripts in QTP and:


  a.Have your WR scripts call your QTP/.Net tests

  b.Run your QTP/.Net scripts and call your WR scripts as needed.
大师兄--绝迹江湖 引用 删除 songfun   /   2007-08-22 11:52:56
这位同行的文章的原始出处在
http://www.blogjava.net/xingcyx/archive/2006/12/25/89932.aspx
大师兄--绝迹江湖 引用 删除 songfun   /   2007-08-22 11:52:27
网上另一个同行总结的:
测试工具QTP与WinRunner的比较
QTP,全称为Quick Test Professional,它与WinRunner同为MI公司开发的功能强大的功能测试工具。从时间上来看,WinRunner在1995年便已经推出,远早于QTP,而QTP直到2002年才正式推出。从MI公司提供的一些官方资料来看,虽然他们宣称暂时不准备淘汰WinRunner,但他们的宣传资料上又明确表示,QTP已经具备了WinRunner中几乎所有的特性,同时具备了一些独有的特性,并且总体来说,使用更简单、更易扩展和维护,推荐新用户使用QTP,并建议已使用WinRunner的老客户逐渐实现转换。由此看来,MI公司实际上已经有使用QTP逐步取代WinRunner的计划。更重要的是,QTP对J2EE,.NET架构的应用程序支持得比WinRunner要好(从我实际的试用过程中,也感到确实是如此),因此我认为,从我们公司的实际情况出发,针对产品综合部今后将逐步开展自动化测试的计划,QTP应该是一个比较好的选择。
不论是WinnRunner还是QTP,它们都是功能十分强大的测试工具,加上目前国内关于测试工具的培训和文档资料,实在是少之又少,因此要完全了解和掌握它们,绝不是一朝一夕的事情。在这里我只能就目前对它们的理解程度粗略地介绍一下二者的两点主要不同之处。
1、       使用的脚本语言不同。WinRunner使用的是TSL语言,这是MI公司独有的语言,有特殊性,因此在学习上会有一定难度,不过好在它与C 语言比较类似,如果测试人员有一定的C语言编程基础,会相对容易一些。而QTP使用的则是微软的VBScript语言,比较通用,而且也相对简单易学。从语言上的比较上来看,我个人觉得在编程能力上,WinRunner更胜一筹,因为它拥有相当丰富的C语言函数库,而相对而言,QTP则更大众化,它面向的是没有太多技术背景和编程经验的测试人员。
2、      QTP8.0具有的一大特性:关键字驱动测试(keyword-driven testing)。它的具体操作方法我将有另外的文档详细说明,这里只是简单介绍一下。通过“关键字驱动测试”,测试人员不需要“录制”测试脚本,而可以改成“设计”测试脚本。即:先将应用程序的GUI对象添加到QTP的对象仓库(Object Repository)中,然后针对每一个需要操作到的对象设计每个测试步骤。我个人感觉,这的确是一个很酷的特性,它使我们可以不必实际去操作应用程序,就可以编写出测试脚本,这样做既节省了时间,而且还有一个更大的好处就是可以在应用程序还没有设计完成,或者由于出错无法正常执行的时候仍然可以编写我们的测试脚本。应用程序只需要有使用界面(UI),而不必实际运行,测试人员就可以开始建立测试脚本,为我们实施自动化测试赢得更充足的时间。而在 WinRunner中,虽然也可以采用先学习对象,然后编写代码的方式来完成测试脚本,但这样做要求测试人员对TSL语言比较熟悉才做得到,远不如QTP 来得简单。在实际的操作中我还发现,有些时候采用录制的方法无法捕获对应用程序的操作,此时改用关键字驱动测试却可以收到不错的效果。
3、相对WinRunner,QTP还具有很多优点,例如“数据表整合”,“Active Screen”,“point and click”,更容易参数化等等,但对于这几点我还没有深入的做过比较,如果今后我对此有了更多的体会和了解,我将再作整理。
 

评分:0

我来说两句

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 453823
  • 日志数: 138
  • 图片数: 4
  • 建立时间: 2006-11-26
  • 更新时间: 2013-08-30

RSS订阅

Open Toolbar