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

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

用QTP做自动化测试过程剖析

发布: 2009-4-10 15:23 | 作者: 不详 | 来源: 测试时代采编 | 查看: 196次 | 进入软件测试论坛讨论

领测软件测试网

在我看来,实现自动化测试有两种方式:一、对于特定的系统录制或者编写脚本,实现特定系统的自动化测试。二、自己编写软件测试工具,对于同一类的软件进行测试。这种软件的基本功能是,抓取被测对象,根据抓取的对象生成测试脚本。这个适合于需要测试的多个项目具有大致相同的特征,比如说,要测试的项目都是管理信息系统,项目中大部分功能都类似。都是新增、修改、删除。功能相似的情况下,要进行测试的范围也大致相同。比如对于新增,都要测试超长啊,无效的数据。这种情况下,编写一个通用的工具,制定公共的测试点,然后根据被测对象生成测试脚本是比较可取的方法。

  下面我以 通过QTP工具实现对www.alipay.com中交易管理的自动化测试的过程为例子,说明一下我是如何做的及碰到的哪些问题。

  首先说下被测系统的背景知识。www.alipay.com是个支付平台,买家和卖家在这里完成完整的交易支付过程。

  下面我从几个方面来说一下实施自动化测试的一个大体的过程,当然这只是最基础的一部分,后面要做的工作还很多。

  首先,对所测的业务系统进行分析,抽取公共操作,定义接口参数。目前我简单分析了几个部分:
创建交易;买家付款;卖家发货;买家确认收货;买家发起退款_未收货;卖家同意退款;买家发起退款_已收货;卖家拒绝退款_买家已收货;买家修改退款协议_已收货;卖家同意退款_买家已收货;买家发货;卖家确认收货退款;

  其次,确定实现方式,也就是技术框架和细节。包括:

所有这些接口的调用方式;变量及函数的存放位置[位置有外部的vbx文件和QTP自己的文件]。 在QTP中,不支持调用脚本,只能调用脚本中的某个Action。所以最好把这些基础性的动作放在一个脚本文件中。 在QTP中,调用Action传参数可以通过两种方法实现:1、利用Action本身的参数。在Acition的属性中,可以定义输入输出参数。2、参数化输入数据。这两种方法都很容易的。 在别的脚本中调用其他脚本的Action时,还需要两个脚本共享对象库,被调用的Action还需要设置为Reusable。 最后,所有的技术细节都准备好后,就可以开始录制脚本了。

 录制过程中,千万要记得把一些组件或者页面重命名为有意义的,这样在以后维护的时候可以更清楚一些。否则以后你回对着N个相同的页面名称加上“_n"这样的后缀的对象不知所措。

  由于第一次接触QTP,工作过程中碰到了一些问题,把重要的列举如下:

  1、如何在一个脚本中调用另外的脚本?解决办法:在QTP中脚本无法重复调用,只能调用脚本中的Action。如果一个脚本中的某个Action需要被外部调用,需要设置:a、脚本的属性为Reusable。b、设置脚本的object repository type 为 shared,这样,此脚本的对象可以被别的脚本使用。

  2、登陆时用户名和密码的参数化问题:由于系统有两种用户,经常需要用不同的用户登陆,如果是把用户名和密码做成参数化,需要手工频繁修改参数。最后考虑把登陆部分放到外部文件中,以函数的形式调用。

  3、如何只运行指定的Action?我把所有的交易动作都放在了一个脚本里,每个动作是一个Action。这样需要组合不同的Action完成不同的业务,需要运行指定的Action。现在还没有找到方法。暂时采用新建一个运行脚本,调用基础脚本里的各种操作完成业务。

  4、一个Action的输入参数依赖于另一个Action的输出。这个在参数的传递上用什么来实现呢?用脚本里的全局参数来传递。

  5、把登陆函数写到外部vbx脚本后,发现验证点失败,但是用肉眼观察是验证点是可以成功的。说明vbx不支持验证点吗?此问题尚未解决。

  6、周五用自动化脚本进行CTU测试,发现用脚本顺序执行创建交易、买家付款、卖家发货交易后,没有记录到第一个动作和第三个动作的MAC地址,交换买家卖家身份重新执行还是这个情况。这个初步估计是脚本的问题,目前尚未解决。

延伸阅读

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

TAG: qtp QTP 剖析 自动化


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

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