51Testing软件测试论坛

标题: WinRunner与QTP——我们该选择谁 [打印本页]

作者: kueryang    时间: 2008-12-4 11:35
标题: WinRunner与QTP——我们该选择谁
区别
1.工具试用环境(功能自动化测试工具的选择与开发语言有关系,性能测试工具选择与协议有关系)的区别,这个区别很重要是自动化实施选择的第一步:
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 VT100
  仅仅 wr试用的
Custom Client/Server :PowerBuilder Forte Delphi Centura Stingray SmallTalk ERP/CRM: Baan PeopleSoft Windows Siebel 5, 6 GUI Clients Oracle GUI Forms PowerBuilder
Forte Delphi Centura Stingray SmallTalk ERP/CRM: Baan PeopleSoft Windows
Siebel 5, 6 GUI Clients Oracle GUI Forms
  仅仅qtp试用的范围:
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
  自动化测试工具的选型第一步就是看该工具是否适用于本软件系统的开发语言环境,否则自动化实施就会功败垂成。如:我们有学员去一家公司,该公司是用的是c#开发的软件,他们在用wr座自动化测试,经常会遇到识别对象的问题,脚本运行失败等,就是一个典型例子,工具选型错误。
从上边来看,现在大多数说wr做c/s架构,qtp做b/s架构的测试这是一种错误的说法,应该说他们更适用于什么架构的测试,因为适用环境决定了他们可以做这些事情。
2.工具本身特点:
  验证点问题:wr有四种验证点,qtp有9种验证点(题外话 robot有13种验证点),这种验证点的类型越多提供的验证方式越多,就越减少验证脚本的开发难度,而且有些验证点类型是qtp独有的,比如xml验证点,wr就没有,所以从这点上来看,验证点多其实简化脚本开发难度,让软件更容易使用,那么和你的团队状况有关系,比如你的团队是技术人员欠缺的话,那么自动化测试工具的易用性更加重要。

3.脚本开发的特点:
  wr是tsl脚本,类c,qtp是vbs脚本,从脚本的难度来看,vbs更容易上手,c要上手周期比较长,所以根据一个团队的人员技术情况,会选择一个更加符合实际情况的工具

4.脚本的可扩展性
  脚本开发过程中对脚本的稳定性,识别对象的能力,脚本的可维护性等都有要求,wr是c的脚本他没有办法直接调用window底层的com对象(这些对象的调用弥补了脚本开发的不足),只能通过两种办法一种是通过其他工具(vc,delphi等)开发相应的dll(vb除外,因为vb开发的也是com),这样加大了团队技术人员的要求;一种方法是写vbs,然后再wr中调用,这种方法的缺点是脚本的衔接性不好。而qtp利用的是微软的脚本引擎,直接可以调用vbs语句,可以直接调用底层com对象,对脚本开发能力 大大的增强了
这里要说的是wr可以做到qtp的效果,但是需要绕行,增加了脚本开发的难度,不是说他不能做。
5.脚本对象的维护
  在脚本开发过程中,这两个工具都有一个很重要的特点,脚本与测试对象分离,wr把对象保存在gui map中,qtp把对象保存在对象库里 repository.
在实际脚本开发过程中很多情况都用到了,对想描述,在wr中其实也可以做到对想描述,只是没有和qtp一样那么好听的名字“可描述编程语言”(qtp的叫法)而已。wr的gui map就是一个文本文件,qtp的repostory是个xml描述。实际项目开发过程中,qtp更多的是把对象描述出来,而wr在脚本开发过程中限于环境应用都把他保存在gui map里,因为描述出来的对象不象qtp那样好维护,wr描述出来的就是一个字符串而已

6.脚本的可维护性
  他们都可以和td(qc)整合,通过td(qc)来维护脚本,搭成自动化测试框架。但是td(qc)调用wr可以直接调用,调用qtp需要安装插件。
  还有更多的不同,以上随手写出,提供大家参考,希望大家在实际项目中更多的体会,你们在培训过程中学到的自动化测试脚本开发的技术完全满足其他工具的应用,不要因为工具而工具,而是更多的脱离工具,手中无剑,心中有剑。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2