专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »软件测试 » ibmrational:IBM Rational帮助你轻松的完成自动化的功能测试 »正文

ibmrational:IBM Rational帮助你轻松的完成自动化的功能测试

来源: 发布时间:星期六, 2008年12月13日 浏览:26次 评论:0
1 解析自动化测试困惑

在软件Software工程领域如果说有种工作让人在痛苦中感受它价值、在无休止加班中体会它苦涩、在技术进步中体验它快乐那它定是软件Software测试计算机技术发展到今天自动化测试工具广泛应用使人们重新认识到测试源动力:最优质量成本软件Software开发过程中测试及各种质量保证活动无疑是在追求软件Software质量成本和收益间最佳平衡点

谈到自动化测试首先我们要明确什么情况下需要自动化自动化测试是通过自动执行测试脚本使测试人员在更短时间内能够更快地完成更多软件Software测试并提供以更高频率执行测试能力从而有效降低测试成本、提高测试效率从软件Software测试成本来看使用测试工具进行软件Software自动化测试成本可以以下公式表示:

自动化测试成本=测试工具成本+测试脚本创建成本+测试脚本维护成本

既然自动化测试在于降低测试成本、提高测试效率因此测试团队(Team)在选择自动化测试工具时必须在提高测试效率同时尽量做到自动化测试总体成本小于手工测试成本因此自动化测试工具脚本自动化创建能力和可维护性就成了衡量自动化测试工具重要原因

在实际测试工作中般说来我们选择自动化功能测试工具无外乎要解决以下 3个问题:

  • 自动化功能回归测试
  • 大批量数据驱动软件Software测试
  • 整个软件Software测试生命周期管理
在选择自动化测试工具解决这些问题过程中人们主要关心问题是使用自动化测试工具创建测试脚本能力、工具易用性、测试脚本编程和扩展能力、测试脚本参数化技术以及作为软件Software开发重要环节测试工作和其它软件Software生命周期管理工具集成能力

因此摆脱自动化测试困惑根本途径就是理解自动化测试本质明确自己自动化测试需求选择合适自动化测试工具帮助测试团队(Team)提高效率、降低成本最终实现软件Software开发过程全过程质量保证




="no-pr">





2 IBM最新自动化功能测试解决方案:Rational Functional Tester

IBM Rational Functional Tester(简称RFT)是款先进、自动化功能和回归测试工具它适用于测试人员和GUI开发人员使用它测试新手可以简化复杂测试任务很快上手;测试专家能够通过选择工业标准化脚本语言实现各种高级定制功能通过IBM最新专利技术例如基于Wizard智能数据驱动软件Software测试技术、提高测试脚本重用scrīptAssurance技术等等大大提高了脚本易用性和可维护能力同时它第次为Java和Web测试人员提供了和开发人员同样操作平台(Eclipse)并通过提供和IBM Rational整个测试生命周期软件Software完美集成真正实现了个平台统整个软件Software开发团队(Team)能力




="no-pr">




3 使用IBM RFT轻松完成自动化功能测试

3.1 基于和开发人员同开发平台功能测试

IBM RFT最大特色就是基于开发人员开发平台(Eclipse)为Java和Web测试人员提供了自动化测试能力如图所示使用RFT进行软件Software测试时我们只要在开发人员工作Eclipse环境中打开Functional Test透视图就会马上拥有专业自动化功能测试工具所拥有全部功能


、IBM Rational Functional Test工作界面
图<img src='/icons/21814yi.gif' />、IBM Rational Functional Test工作界面
在RFT中实现测试脚本过程和大部分自动化测试工具是基于录制脚本生成技术当我们完成测试用例后只要在功能测试工具条上选择测试脚本录制按钮就会启动测试用例脚本实现过程

如图 2所示在脚本录制"选择脚本资产"对话框中用户可以选择预定义好公用测试对象图和公用测试数据池也可以选择在脚本录制过程中生成私有测试对象图和数据池测试对象图是IBM用来解决测试脚本在区别被测版本间成功回放关键技术它为测试脚本重用提供了重要保证;而测试数据池是IBM用来实现数据驱动自动化功能测试重要手段使用智能化数据驱动测试向导测试脚本参数化几乎变得易如反掌


图 2、"选择脚本资产"对话框
图 2、选择脚本资产对话框
如图 3所示在功能测试录制监视窗口测试员可以根据提示启动被测应用系统执行测试用例中规定测试步骤实现测试脚本录制在测试脚本录制过程中测试员可以根据需要插入验证点和数据驱动测试脚本验证点是在指令中比较实际结果和预期结果测试点自动化功能测试工具正是通过它实现对被测系统功能需求验证


图 3、测试脚本录制窗口
图 3、测试脚本录制窗口
完成脚本录制过程以后RFT会自动生成用工业标准语言Java描述测试脚本如下所示:


import resources.ThirdwithDatapoolHelper; import com.rational.test.ft.*; import com.rational.test.ft.object.erfaces.*; import com.rational.test.ft.scrīpt.*; import com.rational.test.ft.value.*; import com.rational.test.ft.vp.*; /** * Descrīption : Functional Test scrīpt * @author ndejun */ public ThirdwithDatapool extends ThirdwithDatapoolHelper { /** * scrīpt Name : <b>ThirdwithDatapool</b> * Generated : <b>2005-4-17 15:22:36</b> * Descrīption : Functional Test scrīpt * Original Host : WinNT Version 5.1 Build 2600 (S) * * @since 2005/04/17 * @author ndejun */ public void testMain(Object args) { startApp("ClassicsJavaB"); // Frame: ClassicsCD icsJava(ANY,MAY_EXIT).close; } }



基于Java测试脚本为高级测试软员提高了更强大编程和定制能力测试员甚至可以通过在Helper类中加入各种客户化脚本实现各种高级测试功能

3.2 使用RFT轻松实现数据驱动软件Software测试

RFT具有基于向导(Wizards)数据驱动功能测试能力在功能测试脚本录制过程中如图 4所示我们可以方便选择被测应用图形界面上各种被测对象进行参数化通过生成新数据池字段或从数据池中选择已存在数据字段实现数据驱动功能回归测试


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


图 5、生成动态验证点
图 5、生成动态验证点
此外测试员还可以通过在验证点中使用正则表达式建立更加灵活验证点保证测试脚本重用性


图 6、正则表达式在验证点中应用
图 6、正则表达式在验证点中<img src='/icons/21814de.gif' />应用
3.3 提供多种专利技术提高脚本可维护性

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


图 7、测试对象图维护
图 7、测试对象图<img src='/icons/21814de.gif' />维护
其次IBM提供scrīptAssurance专利技术使测试员能够从总体上改变工具对测试对象变更容忍度在很大程度上提高了脚本可重用性scrīptAssurance技术主要使用以下两个参数:脚本回放时工具所容忍被测对象差异最大门值和用于识别被测对象属性权重使用这种技术测试员可以通过Eclipse首选项设定脚本回放容错级别即门值如图 8和图 9所示:


图 8、IBM专利技术:scrīptAssurance容错级别设定
图 8、IBM专利技术:scrīptAssurance容错级别设定
点击高级能够看到各种具体可接受识别门值


图 8、scrīptAssurance门值设定
图 8、scrīptAssurance门值设定
其次测试员可以根据被测对象实际更改情况在测试对象图中(如图 7所示)修改用于回放时识别被测对象属性及其权重在测试脚本回访时测试对象识别分数将由以下公式计算得出:


score = 0; for ( i = 0; i < property.length; i ) score (100 - match(property[i])) * weight;



其中match将根据属性符合程度返回0~100的间完全符合返回100完全不符合返回0

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


图十、scrīptAssrance技术保证脚本重用
图十、scrīptAssrance技术保证脚本<img src='/icons/21814de.gif' />重用
3.4 和其它生命周期管理软件Software完美集成

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

标签:自动化测试 ibmrationalrobot ibmrationalrose ibmrational
下载文章的 PDF文档电子版 离线看
0

相关文章

读者评论

发表评论

热门标签

精华推荐

最新标签

Dig排行

阅读排行

最新文章