转自:http://www.cnblogs.com/Lemon_s/archive/2008/10/10/1307769.html
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”,更容易参数化等等,但对于这几点我还没有深入的做过比较,如果今后我对此有了更多的体会和了解,我将再作整理。
转自:http://www.blogjava.net/xingcyx/archive/2006/12/25/89932.aspx
*********************************************************************************
QTP和WINRUNNER详细对比
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 |
|
|
C++/C |
|
Visual Basic |
Operating Systems |
Windows 98, 2000, NT, ME, XP |
Legacy |
3270, 5250 Emulators |
|
VT100 |
只能使用WinRunner的领域:
Custom Client/Server |
PowerBuilder |
|
Forte |
|
Delphi |
|
Centura |
|
Stingray |
|
SmallTalk |
ERP/CRM |
Baan |
|
PeopleSoft Windows |
|
Siebel 5, 6 GUI Clients |
|
Oracle GUI Forms |
只能使用QuickTest Pro的领域:
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 |
Winrunner的测试流程
1. 识别应用程序的GUI对象
2. 建立测试脚本
3. 对测试脚本除错
4. 在新版应用程序执行测试脚本
5. 检视测试结果
6. 回报缺陷
WINRUNNER的优点:
1.主要还是面向c/s架构,对此类产品的支持比较好
2.不必购买昂贵的Addin即可识别相应的控件,并进行测试脚本的录制和回放; 可以自定义识别大部分的常用控件,而且可以保存下来供长期使用
WINRUNNER的缺点:
1. WR的对象管理不如QTP那么有效
2. WR的语言主要是基于类C的TSL,是Mercury发明的语言, 在学习上会有一定难度
3. WR的稳定性不行,而且无意人为的干扰可能导致回放的失败
4.应用程序中控件的位置是固定的,不能随着窗口或分辨率的变化而变化; 一个窗口中不能有两个同类的控件位置相同;部分控件还是不能识别
QTP自动化测试流程:
1 准备测试用例
2 配置QTP(QTP通过插件方式支持不同的开发环境,正式开始录制前需要根据被测程序
3. 录制脚本
4. 修改增强脚本
5. 调试脚本
6. 回放脚本
7. 脚本维护
QTP的优点:
1.操作简单,有3种视图,适合不同掌握程度的人使用,可以快速上手
2.数据表整合,Active Screen,point and click,更容易参数化
3.VBScript简单易学
4.具备了WINRUNNER几乎所有的特性
QTP的缺点:
1.对于CS架构的一些软件,需要下载插件,否则无法识别
2.录制时,产生大量重复的对象
当进行录制时间,WR会对选取的每个对象做唯一的描述并写入GUI MAP中,GUI MAP和测试脚本被分开保存维护.当软件用户界面发生变化时,只需更新GUI MAP即可
从适用范围来看:WR比较适用于C/S架构软件,而QTP对于C/S架构的也适用,但对于B/S架构的适用性更胜一筹