QTP与RFT比较

上一篇 / 下一篇  2009-03-11 18:53:53 / 个人分类:自动化测试

注明:QTP选用9.2版本;

       RFT选用7.0.1版本。

 

一.QTP介绍

Mercury QuickTest Professional的简称,HP自动化测试工具;

是一种针对功能测试和回归测试自动化提供的测试软件,通过加载不同插件来支持主要的软件应用程序和环境,默认只支持标准windows控件,VB,和ActiveX;

是关键字驱动测试方法。(不绝对,主要看如何使用工具)

二.RFT介绍

Rational Functional Tester的简称,IBM自动化测试工具;

是一个面向对象的自动测试工具,默认支持大多数的应用程序,而其他的非默认支持的应用程序可以通过加载不同的支持Jar包或自定义对象识别进行操作;

是数据驱动的测试方法。(不绝对,主要看如何使用工具)

 

比较项

QTP

RFT

说明

学习难度

工具的图形化操作功能比较简单;

脚本编写比较简单;

可以通过简单的描述性编程实现手动识别对象。

工具的图形化操作功能比较简单;

脚本编写比较难;

通过find方法实现手动识别对象,使用难席比较大点。

RFT比QTP难说一些。

帮助文档

帮助文档挺系统,还对各类控件进行归类,方便查找;也提供了内置对象和内置函数的查找文档;还提供了对外接口说明文档;整个帮助有不少例子。

帮助文档和教程很少,很不系统。

而提供的API接口只有说明文档,未提供如何使用该文档;提供的例子很少。

QTP比RFT更全、更人性化。

环境要求

环境要求较低,有512M内容就能比较顺畅的使用了。

环境要求比较高,至少得1G内存才能比较顺畅使用,512M内存时比较卡,速度慢。

RFT要求比较高。

脚本语言

VBS

Java、VB.NET

 

支持应用程序

默认支持windows控件,VB,和ActiveX;

可以加插件来支持其他常用的应用程序。不过插件都是要单买的,价格很高。

默认支持大部分常用的应用程序。

其他应用程序可以通过加载相应的识别Jar包进行识别,可惜,这些Jar包没有现成的。

都差不多,就看钱的问题了。

录制脚本

支持图形化的操作录制脚本;

支持图形化的操作添加验证点;

支持图形化的操作应用正则表达式。

支持图形化的操作录制脚本;

支持图形化的操作添加验证点;

支持图形化的操作应用正则表达式。

(有一个比较怪的做法,默认情况下,在一个文本框中输入值,是先获取此文本框的对象,然后点击文本框范围内的点,然后通过键盘输入方式输入值;下拉框对象也是点击下拉框的值。但是RFT可以手工修改脚本,改成直接赋值的方法)

RFT功能更强一些,不过QTP更易用一些。

参数化

支持图形化的数据表格式数据操作;

使用的是Excel文件来作为测试数据存储介质;

可以直接打开Excel数据文件修改数据;

支持指参数化数据;

支持图形化的数据表格式数据操作;

使用的是Xml格式文件来存储测试数据;

Xml测试数据只支持在RFT软件中使用格式化方式显示和修改;

Xml测试数据使用标准的数据格式,通用性更好。

QTP更容易用一些,RFT更标准化一些。

测试数据加载

测试数据加载简单,使用内置函数能方便实现。

可以用封装的方法来动态加载数据,不过比较复杂,而且还得修改脚本中参数化的地方。

QTP简单些

对象识别能力

有内置识别的比较标准的控件识别强;

组合的控件识别较弱;

默认支持dom,可以直接操作。

有内置识别的比较标准的控件识别强;

自定义的控件识别较弱;

可以自定义非标准控件的识别;

当然,通过Jar包的加载,理论上可以操作任何想操作的对象。

差不太多,RFT的定制能力更强,但难度也比较大。

手动添加对象

提供树形的对象选取方式,可以选择当前节点,也可以选择父节点或子节点,使用挺方便。

提供节点直接选择和对象遍历选择,

不大实用。

首先,节点直接选择不能选择父节点或子节点,很多情况是直接选择不到要选的节点的;

其次,遍历节点更是不可能,因为页面经常一遍历就有好几百个对象,很是不好找。

QTP更好一些,也更人性化。

控件在页面中情况

提供了Active Screen,即页面的缓存,方便在编写脚本时查看页面情况。

未提供相应功能。

QTP更人性化一些。

脚本编辑

提供步骤编辑界面,方便不会不会编程的人员使用;

脚本编辑器的功能比较弱。

只有脚本编辑器,没有步骤编辑器;

脚本编辑器的功能比较强,跟操作Eclipse差不太多。

RFT强些。

脚本调试

HP为QTP加入了VBS调试功能;

调试功能比较弱。

直接使用Eclipse调试Java的强大功能。

RFT强些。

回放速度

速度比较快。

速度较慢。

QTP快些。

结果报告

树形显示各个步骤的执行情况。

可以在代码中向报告写内容。

提供多种形式的结果显示。

可以在代码中向报告写内容。

差不太多。

扩展性

除了加插件,扩展的东西不多。

有Jar包,几乎就可以扩展。

RFT强些。

结合性

提供了与其他程序结合的接口,对C#、VB和VBS结合性比较好。

可以通过C#、VB和VBS等编写程序方便的调用和操作QTP。

这个不太清楚,暂未用到,后期补充。

暂不清楚。

 

 


TAG:

mbsunflower的个人空间 引用 删除 mbsunflower   /   2016-07-04 10:13:40
5
yytz的个人空间 引用 删除 yytz   /   2012-08-09 12:49:28
赞 学习了
yytz的个人空间 引用 删除 yytz   /   2012-08-09 12:49:16
5
mr_tank的个人空间 引用 删除 mr_tank   /   2012-03-28 13:37:06
楼主强人啊,我现在做了快2年的RFT自动化,感觉没什么职位了。自从4个月前换工作后现在还一直在做手工测试
mr_tank的个人空间 引用 删除 mr_tank   /   2012-03-28 12:55:49
5
nancyhua的个人空间 引用 删除 nancyhua   /   2011-12-22 15:57:53
5
 

评分:0

我来说两句

chenyb85

chenyb85

大海无量。。。 QQ:20710378

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 18936
  • 日志数: 20
  • 建立时间: 2009-03-11
  • 更新时间: 2011-08-21

RSS订阅

Open Toolbar