Rational 完成自动化功能测试(二)

图四、数据驱动的功能测试

在生成测试脚本的同时,RFT还能够帮助测试员在验证点中使用正则表达式或使用数据驱动的方法建立动态验证点。动态验证点用来处理普通验证点的期望值随着输入参数不同而发生变化的情况。在下面的例子中,如图五所示,订单总金额会随着购买商品数量的不同而变化,通过数据驱动的功能测试方法,测试员首先要对购买的商品数量和订单总金额进行参数化,然后编辑验证点中的期望值,将其用数据池中的对应订单总金额代替,这样验证点中的总金额就随着购买商品数量的不同而得出正确的总金额。通过简单操作、无需任何编程,测试员就可以很方便地实现动态验证点的功能。

图五、生成动态验证点

此外,测试员还可以通过在验证点中使用正则表达式,建立更加灵活的验证点,保证测试脚本的重用性。

图六、正则表达式在验证点中的应用

3.3 提供多种专利技术,提高脚本的可维护性
使用IBM Rational Functional Test工具进行JavaWeb应用系统测试时,标准Java的测试脚本语言,为测试脚本的可重用性和脚本能力提供了第一层保证。此外,通过维护"测试对象图"IBM为测试员提供了不用任何编程就可以实现测试脚本在不同的被测系统版本间的重用能力。"测试对象图"分为两种,一种是公用"测试对象图",它可以为项目中的所有测试脚本使用;另一种是私有"测试对象图",它只被某一个管理的测试脚本所使用。在软件开发的不同版本间,开发员会跟据系统需求的变化,修改被测系统和用于构建被测系统的各种对象,所以测试脚本在不同的版本间进行回归测试时经常会失败。因此,通过维护公用"测试对象图",如图七所示,测试员可以根据被测应用系统中对象的改变,更新测试对象的属性值及对应权重,这样在不修改测试脚本的前提下,就能使原本会失败的测试脚本回放成功。同时,为了方便测试员对测试对象图的修改和维护能力,RFT还提供了强大的查询和查询定制能力,帮助测试脚本维护人员快速找到变化的测试对象,进行修改和维护工作。

图七、测试对象图的维护

其次,IBM提供的ScriptAssurance专利技术,使测试员能够从总体上改变工具对测试对象变更的容忍度,在很大程度上提高了脚本的可重用性。ScriptAssurance技术主要使用以下两个参数:脚本回放时,工具所容忍被测对象差异的最大门值和用于识别被测对象的属性权重。使用这种技术,测试员可以通过Eclipse的首选项设定脚本回放的容错级别,即门值,如图八和图九所示:

图八、IBM专利技术:ScriptAssurance容错级别设定

点击高级,能够看到各种具体的可接受的识别门值。

图九、ScriptAssurance门值设定

其次,测试员可以根据被测对象实际更改情况,在测试对象图中(如图七所示)修改用于回放时识别被测对象的属性及其权重。在测试脚本回访时,测试对象的识别分数将由以下公式计算得出:

 

 

int score = 0;

for ( int i = 0; i < property.length; ++i )

score += (100 - match(property[i])) * weight;

其中,match()将根据属性的符合程度返回0100之间的值,完全符合返回100,完全不符合返回0

测试脚本回放成功与否则取决于:识别得分 < 识别门值。通过这一技术,如图十所示,通过设置恰当的ScriptAssurance门值和为用于识别对象的属性设置合适的权重,即使在两个回归测试的版本间测试对象有多个属性不同,对象仍有可能被正确识别,脚本仍有可能回放成功。这为测试脚本的重用提供了最大程度的灵活性。

图十、ScriptAssrance技术保证脚本的重用

3.4 与其它生命周期管理软件的完美集成
IBM Rational
的自动化功能测试工具基于Eclipse平台,提供了和需求管理工具(RequisitePro)、建模工具、代码级测试工具和变更及配置管理工具(ClearQuestClearCase)的完美集成,这使得系统测试人员能够和整个软件开发团队在同一个软件平台上,实现系统功能测试,完成测试脚本的配置管理和缺陷追踪。

4 小结
如果一种软件工具能够在提供强健的自动化测试脚本录制和自动化测试能力的同时,很好地解决测试脚本的可维护性、大批量数据驱动的软件测试和整个软件开发生命周期的集成问题,它无疑为降低软件测试的质量成本提供了重要保证,而IBM Rational Functional Tester正是这样的工具,它的出现必将使我们的测试生活变得更加美好!

5 参考资料

  • IBM Rational Functional Tester工具帮助
  • Evaluating Automated Functional Testing Tools by Carey Schwaber and Mike Gilpin

 


关于作者
宁德军,现为IBM中国有限公司软件部Rational高级技术专员。在Rational中国工作的三年的时间里,曾经为华为、中兴通讯、大唐移动、浙江移动、江苏移动、武汉精伦等多家公司提供过软件管理咨询服务。在此之前,宁德军曾任职于贝尔阿尔卡特公司,主要从事电信交换机、电子商务软件分析设计和开发工作。参加过ALCATEL多个版本的电信交换机系统、基于JAVAXML“WEB系统通信平台等软件项目的开发设计工作。在软件工程技术方面,宁德军有着多年的实践经验,对于Rational的软件工程技术有着深刻的理解。目前主要专注于软件测试技术、面向对象的可视化建模和软件配置管理等技术的研究。在软件测试方面,曾为中兴通讯、大唐移动、中国移动、中国工商银行、南瑞电力、UTStarCom等公司进行过专业咨询服务,内容包括主机和嵌入式软件的功能、性能、可靠性和测试管理咨询。

 

 

 

 

 

 

更多精彩内容请访问                www.17testing.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值