51Testing软件测试论坛

标题: 如何编写一份完整的QTP自动化测试方案? [打印本页]

作者: zhyb_2008    时间: 2007-7-10 10:01
标题: 如何编写一份完整的QTP自动化测试方案?
使用QTP进行WEB的自动化测试,涉及的页面广,业务流程多,需要处理的自动化脚本也不少,如何可以在做自动化测试之前,编写一个指导整个自动化进程的方案,显的越来越重要,因为自动化测试应该更规范化,系统化,而不是一个简单的ACTION就可以叫做自动化测试
     所以,我想让大家讨论一下,基于WEB的自动化测试方案(或者计划)的编写规范,希望大家踊跃发言呀
     我对QTP自动化测试方案有这样看法:
     页面清单,说明(对相似,相关联页面调用分类等)
     业务清单,流程图(对网站处理事物,和服务器有数据交互的业务进行列表,分类,复杂业务有流程图,保证自动化脚本的完整)
     预编写脚本分类(根据页面和不同业务,将需要的自动化用例的脚本进行分类,列出需要执行的关键脚本清单)
     预编写函数清单(考虑到业务中经常调用的方法,进行方法化,或编写的一些会经常被调用的函数,对预写函数进行估计)
     脚本中ACTION分类 (复杂业务通过分隔ACTION产生,对ACTION的分类估计)
     共用ACTION的列表(多个脚本可能调用的共同的ACTION进行列出,如登录ACTION)
     自化化执行控制(如:运行环境设定,自运运行时间确定等)

     希望大家可以有完整的方案想法,供小弟学习。谢谢!
作者: ax2004    时间: 2007-7-10 11:30
我们采用的是,编写一个QTP 脚本框架,采用数据驱动的方法 运行脚本.
脚本分成两类,一类是 测试 基础功能脚本(验证各个模块的基本功能)
一类是  业务流功能脚本.(按照业务逻辑,测试相关模块的功能)

因为是 采用描述性编程 搭建的脚本框架..所以 和测试工具本身 测试对象库 没有依赖关系.也无需要 相关Action的设置,
框架可以完成想要的各种流程步骤.


由于 测试动作 和 测试数据 分离, 可以尽可能的将脚本进行复用.为了让 业务流脚本尽可能套用 基础功能脚本.
因此在 做基础功能脚本时,每条事件 所用到的数据,要设计的合理,便于业务流脚本进行复用.同时编写各个事件
流时,简要描述该事件所执行的动作是什么.


在完成各个脚本后,由于某些脚本需要相应的 一些环境设置..因此需要单令写一份文档,
简要描述,运行某些脚本时,需要相应的哪些环境配置.

参照楼上的想法, 业务清单,流程图,可以写在 自动化测试大纲(用例) 里.

页面清单,通过列表的形式,作为 自动化测试脚本的 一个自查表,统计,查看脚本覆盖了当前系统哪些页面.
并作为测试报告中的一部分,供后续版本工作时,作为经验和教训.
作者: james.zhong    时间: 2007-7-10 13:04
楼上写到还可以!
支持你~~
作者: topor    时间: 2007-7-10 14:17
学习了。。。
作者: zhyb_2008    时间: 2007-7-10 16:00
ax2004 说的很好,谢谢.sdlkfj2
作者: ybbiagu    时间: 2007-7-10 19:19
说的好,学习了
作者: wtucel    时间: 2007-7-10 19:41
可以使用TD+QTP的自动化测试框架,就不需要什么页面清单了,业务流程也可以使用work flow来实现.
作者: zhyb_2008    时间: 2007-7-11 09:46
本来我也想,直接在QC中,加入自动测试用例,在测试LAB中,进行工作控制,就行了,但是,领导非要正式的方案文档.
谁能尽快生成一个正规的模板,上传到这儿呀.呵呵.sdlkfj2
作者: loho1968    时间: 2007-7-11 10:34
原帖由 ax2004 于 2007-7-10 11:30 发表
我们采用的是,编写一个QTP 脚本框架,采用数据驱动的方法 运行脚本.
脚本分成两类,一类是 测试 基础功能脚本(验证各个模块的基本功能)
一类是  业务流功能脚本.(按照业务逻辑,测试相关模块的功能)

因为是 采 ...


测试中遇到的各种错误是如何处理的呢?
作者: hxf    时间: 2007-7-11 15:22
要将通过qtp执行测试的功能在列表中列举出来,将要加什么检查点,在什么地方加入检查点应该有个计划。
作者: wtucel    时间: 2007-7-11 15:43
理论上是需要什么都计划好,并写成相应的文档,但实际上估计没有一家公司做得如此完美的,
就像在什么地方加入检查点,这个看起来简单,其实很难的,而且现在的系统都比较复杂,要全部写
成文档,工作量巨大啊
作者: nangoutai    时间: 2007-7-11 23:24
ax2004看来很懂,能共享个简单示例,做个参考吗?这方面的资料,我一直没有找到还。
作者: ax2004    时间: 2007-7-11 23:47
回复 loho1968,对于异常的处理,框架中 会根据执行的 操作函数 是否成功,来调用相应的错误处理函数。
设置了一些 错误状态码。根据操作函术操作不成功时,将相应的错误状态码,传入 错误处理函数中,将错误结果
写入 excell 表中。
作者: yilan836200    时间: 2007-7-12 11:19
ding
作者: 阿驴    时间: 2007-7-12 20:26
学习
作者: dyq    时间: 2007-7-16 13:32
自动化测试方案或框架还真是现在真在研究的问题。。。
作者: wtucel    时间: 2007-7-16 22:14
原帖由 ax2004 于 2007-7-11 23:47 发表
回复 loho1968,对于异常的处理,框架中 会根据执行的 操作函数 是否成功,来调用相应的错误处理函数。
设置了一些 错误状态码。根据操作函术操作不成功时,将相应的错误状态码,传入 错误处理函数中,将错误结 ...



顶一个,看来ax2004对自动化框架很有研究啊,不知道能不能举一个实际的例子或共享一些函数,让我们学习学习.

现在对自动化框架方面的研究一头雾水,而且大部分的脚本还是用的录制......
作者: hotmail624    时间: 2007-7-17 11:03
学习中,我也在考虑这方面的工作,期待ax2004能共享一下 呵呵
作者: ax2004    时间: 2007-7-17 11:22
这里说一下思想,框架 的作用 是便于 我们更好的维护脚本,降低维护的强度和复杂度, 将测试动作和测试数据分开,框架读取 测试动作 和测试数据,并按照给定的调用顺序来执行..经过框架实际执行的语句,就是我们所录制的各个动作了,它仅仅是将 各个动作,合理的控制起来,并进行先后的调用.

    即:用户只需要将 框架"关心"的数据传递给框架里.就能按照我们所录制的 意志 去执行了.sdlkfj2
作者: zcfkiki    时间: 2007-7-18 15:06
混点分下好东西
作者: haha    时间: 2007-7-19 09:18
我是学习QTP的新手,现在按照QTP使用说明书将自带的定机票的例子学习了一遍,下面不知道学什么、怎么学了,还请ax2004指点迷津,多谢!
作者: wtucel    时间: 2007-7-19 09:49
原帖由 haha 于 2007-7-19 09:18 发表
我是学习QTP的新手,现在按照QTP使用说明书将自带的定机票的例子学习了一遍,下面不知道学什么、怎么学了,还请ax2004指点迷津,多谢!


找个具体的项目做你就知道该学什么了?想想把你以前对这个项目的手工测试逐步用自动化来代替.
作者: terrylight    时间: 2007-7-19 10:09
手工测试用自动化代替很多人都想但是操作起来的确是有些难度,特别是对我这种没有开发经验的人来说,脚本的进化是比较有难度的
作者: 唱歌的樱桃    时间: 2007-7-19 10:50
好东西,谢谢分享!
作者: haha    时间: 2007-7-19 17:03
标题: 回复 #22 wtucel 的帖子
感谢wtucel!不知道有没有指导性的资料共享共享?
只知道一些理论,想找个实际的例子(稍微复杂点的)练习、理解
作者: vsfire    时间: 2007-8-5 08:27
2楼的好经验 可以借鉴
作者: zhyb_2008    时间: 2007-8-7 11:22
标题: 未完成的方案,请指正!
上传一份未做完的方案,请大家进行批改,指正,希望可以尽可能完整,像个方案
作者: leay    时间: 2007-8-10 15:40
??
作者: bird1    时间: 2007-8-10 17:18
好好
作者: bird1    时间: 2007-8-10 17:18
好好
作者: bird1    时间: 2007-8-10 17:18
好好
作者: nedved1020    时间: 2007-8-10 17:29
思想框架的概念挺好,学习中!!!维护脚本比较麻烦,经常进入误区,学习学习
作者: zhangj8826    时间: 2007-8-15 11:01
QTP有这么多的功能啊,看来需要下功夫去学习了。
作者: 地瓜1984    时间: 2007-8-16 14:57
不错
作者: zengfanjin5588    时间: 2007-8-16 16:01
ding
作者: zengfanjin5588    时间: 2007-8-16 16:02
ding
作者: zengfanjin5588    时间: 2007-8-16 16:03
不错
作者: zengfanjin5588    时间: 2007-8-16 16:03
不错
作者: zengfanjin5588    时间: 2007-8-16 16:04
不错
作者: zengfanjin5588    时间: 2007-8-16 16:05
不错
作者: zengfanjin5588    时间: 2007-8-16 16:05
不错
作者: zengfanjin5588    时间: 2007-8-16 16:06
不错
作者: zengfanjin5588    时间: 2007-8-16 16:07
不错
作者: zengfanjin5588    时间: 2007-8-16 16:11
不错
作者: zengfanjin5588    时间: 2007-8-16 16:11
不错
作者: luofeng    时间: 2007-8-16 16:12
UP
作者: zengfanjin5588    时间: 2007-8-16 16:18
jifen
作者: FLY000    时间: 2007-8-18 19:16
过段时间我也要开始自己做框架了。
作者: weakly    时间: 2007-9-30 13:58
gggggggggggg
作者: weakly    时间: 2007-9-30 14:05
aaaaaaaaaaaaaaa
作者: myth007    时间: 2007-10-8 11:07
不错,顶一下
作者: toyfrog    时间: 2007-10-9 16:59
学习学习再学习
作者: yuqingannie    时间: 2007-10-10 12:01

作者: three116    时间: 2007-10-11 15:25
不错 开始有设计架构上的讨论了  学习中
作者: toyfrog    时间: 2007-10-16 22:19
学习学习
作者: toyfrog    时间: 2007-10-16 22:20
学习学习
作者: toyfrog    时间: 2007-10-16 22:56
学习学习
作者: yuqingannie    时间: 2007-10-17 11:00
请教:如何在QTP 中实现动作和对象分离呢?怎样建立和管理对象呢.
作者: 情梦江南    时间: 2007-10-17 11:38
支持一下:)
作者: 看雪时节    时间: 2007-10-19 10:57
原帖由 zhyb_2008 于 2007-8-7 11:22 发表
上传一份未做完的方案,请大家进行批改,指正,希望可以尽可能完整,像个方案


这个很有学习价值,谢谢!~~
作者: yuqingannie    时间: 2007-10-19 11:23
深受启发,感谢分享
作者: jysql    时间: 2007-11-14 17:25
越看越头晕哦
作者: cdq1010    时间: 2007-11-14 17:36
说得很好,学习了
作者: xiasan2004    时间: 2007-11-15 09:07
为什么我在论坛上看到的都是关于网页上的qtp录制方案的解决
有没有关于应用程序的一些自动化测试方案??
作者: pangge369    时间: 2007-11-15 10:39
学习了,为我以后的自动化加了块小砖头
作者: lovealina    时间: 2007-11-23 19:03
很好噢
作者: sxhangela    时间: 2007-11-26 14:24
最近也在学习qtp,照QTP使用说明书将自带的定机票的例子学习了一遍。
由于是自学,所以不知如何自己针对一个项目来进行自动化测试。以及脚本技术如何应用。
请高人指点。
作者: pxwcypx    时间: 2007-11-26 15:06
很有帮助对于现在的我来说
作者: joseph_wh    时间: 2007-11-26 18:23
借鉴,借分。
作者: lizkli    时间: 2007-11-27 16:38
正在學習中
學習知識不夠,也不知道怎么說
作者: ax2004    时间: 2007-11-27 17:44
回复 27楼 :zhyb_2008
                       “家园管理中的所有业务,拥有各自的自动化测试框架,由基本动作或基本功能组成。”

                        框架事实上只有一个,它包含引入外部文件(我们将一些操作函数声明在里面,如:
【查找要执行的操作码】

'【获得控件识别方式】

'【针对单独控件的操作映射】

等等、这些函数通过描述性编程来告知QTP如何去工作,如何去找到当前的测试环境初始窗口,如何去通过读取外部的EXCELL 文件中,所填写的测试数据,作为我们函数里,所需要用到的各个参数,最终促使这个函数去根据我们所给的测试数据信息去执行,完成我们手工测试的目地)

业务流程的用例,可以按照场景的方式来录制,每个场景要执行哪个基本流,或者哪几个基本流以及备选流。每个场景的录制完后,起一个明确的名字,每个测试脚本配备相应的 测试数据文件,用于测试脚本读取相应的测试数据,每个场景的测试脚本,可以不同(引入检查点,或者直接 手写检查函数,于你的预期值是否匹配,是则生成一条结果,不是则记录不匹配,同时继续执行)

另写一个脚本,根据你的需要,可以将各个场景的测试脚本串起来,完成一个完整的逻辑上顺序的业务流程。
注意的是,当某个脚本出现致命的错误时,能正确的跳转到下一个场景的测试脚本,基本上,我们在做测试数据的时候,不要让脚本之间因为数据引起关联性,这样就会导致脚本无法继续执行下去。因为是由,测试数据驱动测试的,一般此类业务脚本,只是验证程序最基础的功能。(各个模块的添加删除,修改,引入,导出。查找等。)

比较复杂的场景的测试脚本,需要单独来制作,测试数据设计好后,调试好脚本,下次在运行时,不能正常跑完整个流程的,要么是开发方面对程序更新后,引起某些控件无法正确识别,导致流程中断,要么是程序本身存在问题,跳转的页面出错,出现异常。按钮不存在了。。等等。
作者: pbulic    时间: 2007-11-27 18:17

作者: fish726    时间: 2007-12-6 13:56
不错
作者: henrybenben    时间: 2007-12-6 15:53
我正在公司建TD+QFP的平台,谢谢指点。
作者: yangzx554    时间: 2007-12-6 16:39
QTP 很贵,有不好用,多是被培训机构给骗了,看看国外,有多少测试在用QTP的
作者: yangzx554    时间: 2007-12-6 16:43
在WEB自动化测试中,到底有多少在用QTP,QTP不是测试全部
作者: tina0418    时间: 2007-12-27 17:32
说得更详细点
作者: amdyygy    时间: 2008-5-8 20:45

作者: bowen601    时间: 2009-2-4 16:52
拜读了 zhyb_2008 上传的《家园自动化测试方案》,写的不错,持续学习
作者: 兰兰    时间: 2009-2-5 09:39
自动化测试框架的初级学习阶段,到处在找经验!very good!
作者: ym_wei    时间: 2009-2-5 09:40
下载了,谢谢分享
作者: weixiu.ling    时间: 2010-6-1 16:07
哎,自动化测试框架
作者: yxd2006    时间: 2011-6-27 14:27
关注中
作者: datouniuniu    时间: 2011-7-1 17:11
学习一下




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2