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详细对比

WinRunner and QuickTest Pro都适用的领域:
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

只能使用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架构的适用性更胜一筹.

注意:目前WinRunner已被HP淘汰,由QTP替代。

转:http://www.cnblogs.com/Lemon_s/archive/2008/10/10/1307769.html

QTP和WinRunner区别的更多相关文章

  1. Robotium 系列(1)

    之前也写过一些blog,可是没什么坚持.这个系列算是对之前工作的一个总结和提高:也与大家共同进步! 本文主要介绍的内容是: 1. 软件测试的基本概念 2. 自动化测试的概念 3. 手动测试和自动化测试 ...

  2. 【转】腾讯移动品质中心TMQ [腾讯 TMQ] 测试管理平台大比拼

    简介 测试管理平台是贯穿测试整个生命周期的工具集合,它主要解决的是测试过程中团队协作的问题,比如缺陷管理.用例管理.测试任务管理等. 目前市面上比较流行的测试管理工具有QC. Mantis. BugZ ...

  3. Watir、Selenium2、QTP区别

    1.支持的语言 Watir:ruby Selenium2:支持多种语言,如:python,ruby,java,c#,php,perl,javascript QTP:vbscript 2.支持的浏览器 ...

  4. qtp与selenium2的区别

    QTP:  我觉得qtp适合的人: 对编程不是很熟悉的 厌烦了手动的功能测试,想快速进入自动化行业的 公司想快速自动化项目,并且对价格或者对盗版无所谓的 vbs脚本语言易于上手,可以培训你对代码的兴趣 ...

  5. qtp type和set方法的区别

    type模拟键盘输入,是一个字符一个字符的输入. set是整个输入框一起置值. 例如:winedit中输入a后,再用type输入b,结果就是ab 如果用set输入a后,再用set输入b,结果就是b. ...

  6. 自动化测试工具QTP的使用实例 分类: 软件测试 2015-06-17 00:23 185人阅读 评论(0) 收藏

    1. QTP简介 1.1QTP功能与特点 QTP是QuickTest Professional的简称,是一种自动化软件测试工具.在软件的测试过程中,QTP主要来用来通过已有的测试脚本执行重复的手动测试 ...

  7. 自动化测试工具QTP和SilkTest横向PK(转)

    转自:http://www.uml.org.cn/Test/201405212.asp?artid=1686 众所周知,自动化测试工具曾几何时三足鼎立,Mercury QTP/WinRunner系.I ...

  8. QTP之delphi试用感想一(自动化测试)

    这两天一直在琢磨自动化测试,自动化测试,其实与单元测试有一些相同之处,单元测试的目的也是可以一次写,多次运行,对于测试驱动及后期维护真是有非常多的好处,用自动化测试工具也是如何,主要目的是为了回归测试 ...

  9. 整理QTP知识之1

    以下说明由网络其他文章整合而成. 一.关于QTP的说明 QTP是目前市场上占有率最高的一款自动化测试工具,也是每一位测试工作者最想掌握的工具之一,也是目前流行的基于GUI的功能自动化测试工具之一. Q ...

随机推荐

  1. docker 使用

    https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-docker-application http ...

  2. jQuery Mobile笔记

    1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ...

  3. Vue列表渲染

    gitHub地址:https://github.com/lily1010/vue_learn/tree/master/lesson09 一 for循环数组 <!DOCTYPE html> ...

  4. setTimeout实现动画的黄金优化法则

    1.使用递归思想实现setTimeout的轮询动画:在每一次执行方法的时候都重新的设置一个定时器,然后在指定时间内重新的执行当前的方法 问题:每一次设置的定时器,虽然不执行了,但是还存在呢,浪费性能 ...

  5. JavaScript焦点轮播图

    在慕课学习了JavaScript焦点轮播图特效,在此做一个整理. 首先是html结构,我用的是本地同文件夹下的三张图片,多出来的第一张(pic3副本)和最后一张图片(pic1副本)是为了实现无缝切换效 ...

  6. 【使用 DOM】使用事件

    1. 使用简单事件处理器 可以用几种不同的方式处理事件.最直接的方式是用事件属性创建一个简单事件处理器(simple event handler).元素为它们支持的每一种事件都定义了一个事件属性.举个 ...

  7. SharePoint 使用代码为页面添加WebPart

    传统的SharePoint实施中,我们通常会创建SharePoint页面,然后添加webpartzone,而后在上面添加webpart:但是有些情况下,也要求我们使用代码,将webpart添加到相应w ...

  8. Android子线程更新UI主线程方法之Handler

    背景: 我们开发应用程序的时候,处于线程安全的原因子线程通常是不能直接更新主线程(UI线程)中的UI元素的,那么在Android开发中有几种方法解决这个问题,其中方法之一就是利用Handler处理的. ...

  9. Python基础(5)--字典

    字典由多个键及与其对应的值构成的对组成(把键值对成为项),每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典由一对大括号括起来.空字典由两个大括号组成:{} 本文地址:http:/ ...

  10. CoreAnimation-03-隐式动画

    简介 每个UI控件,默认自动创建一个图层(根图层),即每个UI控件对应于至少一个图层 可以手动创建图层,这些图层为非根图层 对非根图层的某些属性(标记为Animatable的属性)进行修改,默认会自动 ...