《商业功能测试工具QTP与RFT比较.doc》由会员分享,可在线阅读,更多相关《商业功能测试工具QTP与RFT比较.doc(3页珍藏版)》请在金锄头文库上搜索。
1、商业功能测试工具QTP与RFT比较 http:/ 邮件群发 MILY: verdana; TEXT-ALIGN: left QTP选用9.2版本;RFT选用7.0.1版本。一QTP介绍是Mercury QuickTest Professional的简称,HP自动化测试工具;是一种针对功能测试和回归测试自动化提供的测试软件,通过加载不同插件来支持主要的软件应用程序和环境,默认只支持标准windows控件,VB,和ActiveX;是关键字驱动测试方法。(不绝对,主要看如何使用工具)二RFT介绍是Rational Functional Tester的简称,IBM自动化测试工具;是一个面向对象的自动测
2、试工具,默认支持大多数的应用程序,而其他的非默认支持的应用程序可以通过加载不同的支持Jar包或自定义对象识别进行操作;是数据驱动的测试方法。(不绝对,主要看如何使用工具)比较项QTPRFT说明学习难度工具的图形化操作功能比较简单;脚本编写比较简单;可以通过简单的描述性编程实现手动识别对象。工具的图形化操作功能比较简单;脚本编写比较难;通过find方法实现手动识别对象,使用难席比较大点。RFT比QTP难说一些。帮助文档帮助文档挺系统,还对各类控件进行归类,方便查找;也提供了内置对象和内置函数的查找文档;还提供了对外接口说明文档;整个帮助有不少例子。帮助文档和教程很少,很不系统。而提供的API接口
3、只有说明文档,未提供如何使用该文档;提供的例子很少。QTP比RFT更全、更人性化。环境要求环境要求较低,有512M内容就能比较顺畅的使用了。环境要求比较高,至少得1G内存才能比较顺畅使用,512M内存时比较卡,速度慢。RFT要求比较高。脚本语言VBSJava、VB.NET支持应用程序默认支持windows控件,VB,和ActiveX;可以加插件来支持其他常用的应用程序。不过插件都是要单买的,价格很高。默认支持大部分常用的应用程序。其他应用程序可以通过加载相应的识别Jar包进行识别,可惜,这些Jar包没有现成的。都差不多,就看钱的问题了。录制脚本支持图形化的操作录制脚本;支持图形化的操作添加验证
4、点;支持图形化的操作应用正则表达式。支持图形化的操作录制脚本;支持图形化的操作添加验证点;支持图形化的操作应用正则表达式。(有一个比较怪的做法,默认情况下,在一个文本框中输入值,是先获取此文本框的对象,然后点击文本框范围内的点,然后通过键盘输入方式输入值;下拉框对象也是点击下拉框的值。但是RFT可以手工修改脚本,改成直接赋值的方法)RFT功能更强一些,不过QTP更易用一些。参数化支持图形化的数据表格式数据操作;使用的是Excel文件来作为测试数据存储介质;可以直接打开Excel数据文件修改数据;支持指参数化数据;支持图形化的数据表格式数据操作;使用的是Xml格式文件来存储测试数据;Xml测试数
5、据只支持在RFT软件中使用格式化方式显示和修改;Xml测试数据使用标准的数据格式,通用性更好。QTP更容易用一些,RFT更标准化一些。测试数据加载测试数据加载简单,使用内置函数能方便实现。可以用封装的方法来动态加载数据,不过比较复杂,而且还得修改脚本中参数化的地方。QTP简单些对象识别能力有内置识别的比较标准的控件识别强;组合的控件识别较弱;默认支持dom,可以直接操作。有内置识别的比较标准的控件识别强;自定义的控件识别较弱;可以自定义非标准控件的识别;当然,通过Jar包的加载,理论上可以操作任何想操作的对象。差不太多,RFT的定制能力更强,但难度也比较大。手动添加对象提供树形的对象选取方式,
6、可以选择当前节点,也可以选择父节点或子节点,使用挺方便。提供节点直接选择和对象遍历选择,不大实用。首先,节点直接选择不能选择父节点或子节点,很多情况是直接选择不到要选的节点的;其次,遍历节点更是不可能,因为页面经常一遍历就有好几百个对象,很是不好找。QTP更好一些,也更人性化。控件在页面中情况提供了Active Screen,即页面的缓存,方便在编写脚本时查看页面情况。未提供相应功能。QTP更人性化一些。脚本编辑提供步骤编辑界面,方便不会不会编程的人员使用;脚本编辑器的功能比较弱。只有脚本编辑器,没有步骤编辑器;脚本编辑器的功能比较强,跟操作Eclipse差不太多。RFT强些。脚本调试HP为QTP加入了VBS调试功能;调试功能比较弱。直接使用Eclipse调试Java的强大功能。RFT强些。回放速度速度比较快。速度较慢。QTP快些。结果报告树形显示各个步骤的执行情况。可以在代码中向报告写内容。提供多种形式的结果显示。可以在代码中向报告写内容。差不太多。扩展性除了加插件,扩展的东西不多。有Jar包,几乎就可以扩展。RFT强些。结合性提供了与其他程序结合的接口,对C#、VB和VBS结合性比较好。可以通过C#、VB和VBS等编写程序方便的调用和操作QTP。这个不太清楚,暂未用到,后期补充。暂不清楚。