ZT - RFT ScriptAssure 技术解析及应用实例(2)

什么是 ScriptAssure

ScriptAssure 目前为 IBM 的专有技术,通过对用户界面细节的识别阈值的定制,来实现了一种先进的查找最合理候选对象的匹配机制,使得脚本的维护工作不再囿于界面的频繁改动,变得更加轻松。稍后我们会通过一些实例来详细了解这项技术的精髓。

[@more@]

ScriptAssure 技术降低了脚本独立性的实现成本

“录制和回放”模式是脚本独立性的最常见的实现模型。不论你是否反感“录制和回放”,它在测试工具演化历史里都有它的一席之地。人们不喜欢它主要是因为随着使用时间的延长,脚本很难维护。这种缺陷也是其他独立性较强的测试脚本的通病:你的脚本越多,你就要投入更多的时间和精力来维护他们。因为脚本间相互独立,如果你有 100 个脚本,一旦某个基本的相关对象发生变化,需要对 100 个脚本一一做出对应修改。

而 ScriptAssure 是一组 Rational Functional Tester 中为功能测试和回归测试而提供的高级特性,它可以帮助你显著降低在脚本维护上的投入。通常情况下,某个用户界面上对象的细小变化都会打断自动测试的顺利执行。为了使脚本更加的灵活、健壮,ScriptAssure 技术将界面部件的功能从对象本身剥离开来。作为脚本设计人员,他可以对界面对象的颜色、位置、逻辑名称等特性设定权重,这些权重告诉 ScriptAssure 在寻找匹配对象时是否需要取舍这些特性的变化。对于低权重的特性,即使它们发生了变化,这些变化也会被脚本在一定程度上忽略,保障原先的脚本可以具有一定的容错性,在变化后的界面里继续工作,这大大降低了维护成本。而且还使测试人员在用户界面设计没有完全确定前,就可以开展前期测试。

ScriptAssure 技术可用来验证应用程序中的变动数据

如果被测应用程序里会有很多动态生成的数据,如零件编号或确认码,这可能需要测试人员进行乏味的人工干预来保障测试运行。 ScriptAssure 支持对动态数据进行自动化测试,消除了不必要的人力介入,测试人员能够轻松地验证动态生成的内容验证工作。有了 ScriptAssure,测试人员可以设置一个可接受的测试集的数据范围,施行自动化测试。


Rational Functional Tester 中的 ScriptAssure 提供了一种很灵活的对象查找和匹配机制,使得被测应用程序发生变化后,您仍然可以成功地回放同一脚本。

脚本在录制时,测试对象图也随之更新,来储存相关控件。测试对象图里的每个对象都有着对应的一组可识别属性,这些通常都是在录制时保存下来的。例如,一个按钮会有 5 个可识别属性:名称、类型、角色、对象类别和索引。在回放过程中要定位被测应用程序里的一个对象,Rational Functional Tester 会将这个对象与测试对象图里预先储存的可识别属性做比较,来确定某个属性最接近的候选者。同时,每一个测试对象的可识别属性还有一个关联权重,数值从 0 到 100。Rational Functional Tester 使用这个权重值来确定可识别属性的重要性。例如,按钮的名称、类型、角色,及对象类别的识别权重是 100,但索引的权重却只有 50。


图 2. 测试对象图里保存的可识别属性,及权重信息
图 2. 测试对象图里保存的可识别属性,及权重信息

Rational Functional Tester 在识别被测应用程序里的对象时,要求该对象属性必需和对象图中事先保存的属性一致。默认情况下,Rational Functional Tester 最多可以容忍有 1 个或 2 个属性值出现偏差。如果有 2 个属性值不能和对象图内容相匹配,Rational Functional Tester 会在结果报告里记下一个“弱识别”警告,如果有 2 个以上的属性值不符,Rational Functional Tester 就无法找到目标对象了。

如果被测应用程序的对象发生了改变,您仍然可以回放功能测试脚本,这归功于脚本使用了 ScriptAssure 技术来控制对象匹配的敏感度。稍后我们还有实例来阐述。

在 Rational Functional Tester 中您可以打开“窗口”菜单里的“首选项”,使用两种模式来配置 ScriptAssure:

  • 标准模式

ScriptAssure 标准模式,您可以使用滑块控制在回放时的匹配灵敏度。要设置在应用程序对象之间的识别宽容度,可以在“严格”和“宽松”间调整滑块来设置识别水平。同时也可以设置警告级别,一旦出现识别差异后,应如何处理,在结果报告里抛出警告或者忽略。


图 3. ScriptAssure 标准模式
图 3. ScriptAssure 标准模式
  • 高级模式

在 ScriptAssure 页的高级模式下(点击上图的“高级”按钮后),可以设置识别分数的阈值,更加细致地来控制 ScriptAssure 的应用。可以设置一个最高分,来决定是否接受该候选对象;如果候选对象和原先定义间识别分数大于阈值,则被视为不可接受。


图 4. ScriptAssure 高级模式
图 4. ScriptAssure 高级模式

Rational Functional Tester 用以下算法来计算被测应用程序里对象的识别分数。例如,如果某对象和对象图里的属性值完全匹配,其得分为 0。如果目标对象有一个权重为 100 的属性不相符,它的评分是:

Σ(不相符属性的权重 *100) = 100*100 = 10,000。如果对象有两个权重 100 的属性不匹配,它的评分是 20,000。识别分值越高,表明差异越大、匹配越不精确,识别分值喻示着不匹配的程度,我们在测试时还是希望识别分值越小越好。

您可以自行设定识别分数的阈值,比如接受承认的最大分值的阈值,最后一次机会识别分值,模糊识别分数偏差的阈值,并且如果我们接受了大于阈值的分数会发出警告。在回放过程中,测试对象所有属性的识别分数会相加在一起,用总值来和阈值比较,确定相应的处理方式。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16896827/viewspace-1036471/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16896827/viewspace-1036471/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值