• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

一种高效的对象缓存机制在测试框架中的应用

发布: 2011-2-10 10:06 | 作者: 不详 | 来源: 领测测试网采编 | 查看: 43次 | 进入软件测试论坛讨论

领测软件测试网

  一种高效的对象缓存机制在测试框架中的应用  软件测试

  如果在 IBM Rational Functional Tester(RFT) 项目中完全使用动态搜索的方式获得对象,那么有可能你将面临严重的性能问题,尤其是当你需要测试的应用中对象层次十分多而复杂时,比如 Microsoft Office 软件。Object Map 是一种选择,可 Object Map 常常不能满足你的要求,比如 ObjectMap 经常需要跟随测试的应用改变而更新,而且有很多对象无法使用 Object Map 获取等等。本文提供一种高效的对象缓存机制,不但可以对已经获取的对象进行有效的缓存,快速的提取,还可以在对象层次复杂时,极大的改善动态搜索对象的性能。

  使用 RFT 进行 GUI 测试自动化

  自动测试解决了传统手工测试中的很多问题,把测试人员从繁重而重复的测试工作中解脱出来,节省了很多人工时间。RFT 是一种非常有效,使用方便的测试自动化工具,在很多项目中得到应用。用户可以选择使用 RFT 进行录制播放的方法来进行自动化测试,也可以选择编写测试框架,并在框架的基础上编写脚本的方式实现。前者的缺点很明显,就是在测试的应用发生变化时需要重新进行录制,而当变更涉及到很多 case 时,这将带来很大的工作量,这也许比手工测试花费的时间还长。所以除非能避免这个问题,所有的项目都采用后者。在我们的项目中也是如此

  Object Map

  在 GUI 测试中,RFT 提供了两种获取对象的方法,一种是通过 ObjectMap,由 RFT 对需要测试的对象进行识别,用户可以根据需要选择把哪个对象引入测试脚本,RFT 自动生成 getter 方法供使用者调用。RFT 提供的录制播放功能也是采用 ObjectMap 来实现对象获取。此方法的优点是用户不用关心对象获取的细节。然而缺点与使用录制播放的方式类似,就是当测试的应用界面结构变化时,用户经常需要重新更新 ObjectMap,尽管 RFT 有搜索权重机制,一些微小的变化不会导致更新。而且用户经常会遇到无法使用 ObjectMap 获取的对象。

  有很多关于如何使用 ObjectMap 的文章和资源,这里只给出一个简单的例子。

  Microsoft word 2007 是一个非常适合做例子的应用。测试步骤共两步:

  打开 word 2007;

  在菜单栏中点击”View”,再点击”Home”。

  图 1. “View”和“Home”在 word 2007 的 ObjectMap 结构中的位置

  在 RFT 中新建一个脚本叫做”ObjectMap.java”,在自动生成的代码中,这个类继承自“ObjectMapHelper.java”。然后把“View”和“Home”两个对象插入到这个脚本中。RFT 会自动为这两个对象生成 get 方法,并插入到 ObjectMapHelper.java 中。

  图2. ObjectMapHelper.java

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网