现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

QTP与RFT比较

2012-11-11 23:07 工业·编程 ⁄ 共 1997字 ⁄ 字号 暂无评论

注明: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。

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

暂不清楚。

 

 

【上篇】
【下篇】

给我留言

留言无头像?