<!--[if !supportLists]--> 对于windows 标准控件支持和面向对象的支持<!--[endif]-->
Rational Robot
对于
windows
标准控件支持非常好,并且可以识别出标准控件的所有属性。
QTP
对于
windows
标准控件的支持一般,特别是对于
ObjectIndex
这样的空间属性无法识别。
验证方法
分别运行
两个工具软件的
Object Spy
,识别标准控件的属性。以及在实际脚本中使用。
发现
QTP
对象的辨认需要每个控件都手工辨认,无法用变量识别。
可能导致的风险
在项目的实际运用中,如果面向对象的支持不好,将可能导致脚本的重复使用率很低,特别需求变更频繁的项目需求,界面变化大,很可能导致
QTP
脚本不能重复使用。
<!--[if !supportLists]--> 对于Windows API 标准函数的调用<!--[endif]-->
Robot
支持标准的
Win API
函数,包括系统函数和高级语言编写的
标准接口的
Windows API
函数。
QTP
无法调用
Win API
函数,支持
WScprit (Windows Script Host)
的对象应用,能使用一些简单的函数功能。
验证方法
实际应用
可能导致的风险
无。但是
WINAPI
函数的使用将会使脚本更加灵活,编程也事半功倍,特别是在对于一些算法的验证的时候,可以用高级语言如
C++
编写算法功能,编译成动态链接库,让
Robot
调用
,并比较界面结果和算法结果。
<!--[if !supportLists]--> 对于第三方控件的支持<!--[endif]-->
两个软件对于第三方的控件支持都很差,尽管
Robot
提供了控件解决方法,但是,该控件要在编译源代码的时候被编译进去(这是很多程序员都不愿意发生的事情),而
QTP
也无法识别第三方控件,特别是基于
C/S
结构的应用程序时
验证方法
实际应用,可以用部分第三方控件作试验,可以看到,当
Robot
在编译了
Rational ActiveX TestControl
控件以后,可以支持控件的识别,但是还是不能识别该控件的属性。以下举例说明两个软件对于一个第三方提供的
DBGrid
控件的支持程度。
Robot
在添加了
ActiveX test Control
以后,我们发现它可以识别一些控件属性,至少可以保证在测试过程中不会因为控件无法识别而导致脚本出错。而很遗憾的,我们看到
QTP
无法识别该控件。
可能导致的风险
由于第三方控件的应用,使自动化测试的风险大大的增加,因为在实际的运用过程中,会发现因为识别的问题,会使脚本无法流畅运行,测试结果无法交验,自动化的测试过程变成半自动化半手工的方式。现在,还没有更好的解决方法,只能期待以后测试软件的更新。
<!--[if !supportLists]--> 自动脚本功能模块化<!--[endif]-->
将自动化测试脚本的各个功能模块化,是自动化测试脚本中的一个重要任务,使得自己编写的功能模块提供接口,
可以被整个测试小组使用,这将减少测试人员的重复劳动,并且使脚本更加易于维护。
Rational Robot
很好的提供了头文件的调用,把功能函数写入头文件,在各个脚本中调用就可以了。
至今尚未发现
QTP
提供该功能,或类似的功能。只能支持在同一个脚本中调用功能函数。或许与
TD
联起来以后能支持该功能,尚待研究。
验证方法
实际应用。
可能导致的风险
测试脚本的功能模块化,可以使整个测试小组更有效率的合作,避免重复劳动,提高工作效率。同时,减少脚本的维护时间和复杂程度,以应对需求变更频繁的项目。在实际工作中,应尽可能的将软件功能细化,并编写与之对应的脚本。
<!--[if !supportLists]--> 学习难易度<!--[endif]-->
Robot
是使用
Rational
公司自己的
QABasic
语言,类
VB
,需要有一定的编程经验,学习周期比较长。其界面
完全是脚本。
QTP
是
VbScript
语言,同时支持比较直观的界面操作,简单易学,容易上手,学习周期很短。
<!--[if !supportLists]--> 学习资料方面<!--[endif]-->
网上基于
Rational Robot
的自动化测试框架,已经比较成熟,并被应用,该自动框架提供了许多有用的、成熟的、可靠的功能函数,可以被直接运用到项目中不必自己再耗费精力开发。
QTP
尚未发现该相对应的函数库。
<!--[if !supportLists]--> 脚本的管理方面<!--[endif]-->
Rational
使用自己的
Project Manager
与相关的项目联系,可以在
Project Manager
中直接编写测试用例,并将脚本与之关联。并可在
Project
中直接运行脚本。
QTP
需要与
TD
结合起来,一起使用。
<!--[if !supportLists]--> 数据驱动<!--[endif]-->
Robot
提供自带的
Datapool
的功能,可以从数据库,文件,或自己生成数据,但是应用比较复杂,也可以使用自己编写的函数直接从
Excel
文件中读取数据作为数据驱动。
QTP
直接在界面上就可以操作数据驱动,直观而且简单。
基准测试对比性测试
,
一般用来厂商之间同类产品之间
,
相同产品版本之间的对比。