QTP和WinRunner区别

转自: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

 

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架构的适用性更胜一筹

转载于:https://www.cnblogs.com/x_wukong/p/3667836.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么卸载apowerrec_如何删除windows10自带应用

如何删除windows10自带内置应用方法/步骤1要卸载这些所有内置应用,就要用到WindowsPowerShell,它是win10系统自带的一个应用,要打开它,就单击开始菜单中的“所有应用”,然后找到WindowsPowerShell的文件夹,…

LeetCode7——Reverse Integer(将一个整数反转,注意溢出的处理)

题目: 解法一: 注意long long类型,表示64bit数字。 解法二: class Solution { public:int reverse(int x) {int ans 0;while (x) {int temp ans * 10 x % 10;if (temp / 10 ! ans)//溢出后,这里就会不成立了return …

shell 多线程

普通多线程(准确的讲应该是多进程),这种模式 并发大的时候会报错,影响运行速度 不可控制线程的数量 #!/bin/bashfor i in {1..254}do    #后台运行,每次都创建新的线程(进程){ip192.168.179…

Qt designer界面和所有组件功能的详细介绍(全!!!)

PyQt5和Qt designer的详细安装教程:https://blog.csdn.net/qq_43811536/article/details/135185233?spm1001.2014.3001.5501 目录 1. 界面介绍2. Widget Box 常用组件2.1 Layouts(布局)2.2 Spacers(间隔器)2.3 Item V…

[转]四边形不等式优化dp(POJ1160)

四边形不等式优化动态规划原理: 1.当决策代价函数w[i][j]满足w[i][j]w[i’][j’]<w[I;][j]w[i][j’](i<i’<j<j’)时,称w满足四边形不等式.当函数w[i][j]满足w[i’][j]<w[i][j’] i<i’<j<j’)时,称w关于区间包含关系单调. 2.如果状态转移方程m为且决策…

rabbitmq 安装 linux

rabbitmq是基于erlnag语言平台的&#xff0c;安装rabbitmq 先安装erlang 版本 erlang: otp_src_20.3.tar.gz rabbitmq: rabbitmq-server-generic-unix-3.7.13.tar.xz 查看对应版本:https://www.rabbitmq.com/which-erlang.html 1.安装erlang 解压 tar -zxvf otp_src_20.3.tar.g…

psql切换schema_PostgreSQL教程(二):模式Schema详解

一个数据库包含一个或多个命名的模式&#xff0c;模式又包含表。模式还包含其它命名的对象&#xff0c;包括数据类型、函数&#xff0c;以及操作符。同一个对象名可以在不同的模式里使用而不会导致冲突&#xff1b; 比如&#xff0c;schema1和myschema都可以包含叫做mytable的表…

C++新手之详细介绍MFC

我们都知道MFC是C类库&#xff0c;本文详细介绍C的这个类库&#xff0c;适合初学者阅读&#xff0c;希望对你有帮助&#xff0c;一起来看。 MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架&#xff0c;它的目的就是让程序员在此基础上来建…

maven 添加本地库

mvn install:install-file -DfileD:\test\PDFjet.jar -DgroupIdcom.pdf -DartifactIdPDFjet -Dversion1.0 -Dpackagingjar-DfileD:\test\PDFjet.jar 本地目标文件 -DgroupIdcom.pdf -DartifactIdPDFjet 拼接完成E:\.m2\repository\com\pdf 就是存放路径了 -Dve…

LeetCode27——Remove Element(移除数组中指定的元素)

题目&#xff1a; 解法&#xff1a; class Solution { public:int removeElement(vector<int>& nums, int val) {int cnt 0;for(int i 0 ; i < nums.size() ; i) {if(nums[i] val)cnt;elsenums[i-cnt] nums[i];//这里体现了删除。画图表示&#xff08;2不是&a…

inputstream的大小为0_刘科排列三第2020306期推荐:独胆参考0,双胆0和7

排列三第2020305期奖号开出373&#xff0c;奖号类型为组三&#xff0c;大小比为1:2&#xff0c;奇偶比为3:0&#xff0c;012路比为2:1:0。 组选类型推荐&#xff1a;历史上排列三第306期同期奖号中&#xff0c;组六出现10期&#xff0c;组三出现4次&#xff0c;豹子出现1期&…

图片缩放

https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit css 属性object-fit 转载于:https://www.cnblogs.com/gkxNB/p/11460456.html

页面乱码及页面传值出现乱码

.net页面乱码 解决方法&#xff1a;在页面的<head></head>部分确定你的页面字符集<meta http-equiv"Content-Type" content"text/html; charsetgb2312">比如gb2312,gbk,utf8 或 在web.config里增加修改 <system.web> <globali…

ARM指令集(下)

A.2.5 ARM 协处理器指令 ARM 支持协处理器操作&#xff0c;协处理器的控制要通过协处理器命令实现。表A-7给出全部的ARM协处理器指令。 表A-7 ARM 协处理器指令CDP 协处理器数据操作指令。ARM 处理器通过CDP 指令通知ARM 协处理器执行特定的操作。该操作由协…

LeetCode283——Move Zeroes(将0移动到数组最后面)

题目&#xff1a; 解法&#xff1a; class Solution { public:void moveZeroes(vector<int>& nums) {fill(remove(nums.begin(), nums.end(),0), nums.end(), 0);} }; oh&#xff0c;no&#xff01;解法二&#xff1a; void moveZeroes(vector<int>& nums)…

本地连接Linux工具

连接Linux命令 finaXshell 工具好用: 链接&#xff1a;https://pan.baidu.com/s/13yyOhi7GzcZNTxXseGO_fA 提取码&#xff1a;n4t6 上次Linux 文件工具&#xff1a; fileZilla ,这个网上去下载 转载于:https://www.cnblogs.com/duende99/p/11479182.html

java关闭一个窗口打开另一个_推开中式门窗,就像打开了另一个写意的世界…...

导语“湖光秋枕上&#xff0c;岳翠夏窗中。”在传承几千年的中式建筑文化中&#xff0c;自古以来就有多门窗、少实墙的传统&#xff0c;虚虚实实之间讲究内外空间融合&#xff0c;借景框景之时彰显人与自然和谐&#xff0c;门窗甚至直接决定着整体建筑的风格气质。随着时代的不…

同样是面对失败的责任:任春雷比杜一楠更有种

24 券创始人杜一楠最近成为热点人物&#xff0c;他的一篇“悔过书”引发各大媒体上万次的转载。一夜之间&#xff0c;这位与资方博弈的爷们儿却变成了一个负面人物&#xff0c;让人始料不及。业界人士评价说&#xff0c;这份“失败总结”满篇都是假大空&#xff0c;所总结的六点…

PopStar(消灭星星)游戏源代码下载、分析及跨平台移植---第四篇(关卡)

背景&#xff1a;本来打算把第三篇和第四篇合并都一起&#xff0c;但以前计划分开&#xff0c;就还是分来吧&#xff1b;一般的游戏涉及到关卡的话&#xff0c;一般都会建立一个数组来存放各种定义参数&#xff0c;消灭星星关卡比较容易&#xff0c;不需要建立数组&#xff0c;…

LeetCode344——Reverse String(将字符串反转)

题目&#xff1a; 解法&#xff1a; class Solution { public:string reverseString(string s) {int i0,js.size()-1;while(i<j){swap(s[i],s[j--]);}return s; } };