51Testing软件测试论坛

标题: QTP自动化项目实战心得 [打印本页]

作者: yujie6832    时间: 2010-3-9 13:49
标题: QTP自动化项目实战心得
1、有扎实的QTP基础(熟练运用QTP编写代码,各种各样的东西都要会,能举1反10,不是录制)
2、理解一定的自动化测试框架(了解下即可,中国的框架形同虚设)
3、能独自将前2者运用起来,做的不好没关系,可以改!(QC+QTP先用好即可,或者自己兴趣一高,VBS小小编写下玩玩)
4、脚本写的越简单越好,注释该加的别漏加,还一定要直观,多用WITH,不错的,据说还能增加性能
5、编写脚本,最好还是符合“高内聚,低耦合”的软件工程理念比较好,我们自动化测试也是需要的
6、能重用的脚本坚决要重用,不然就是浪费时间,浪费金钱
7、脚本细分化大家都会,但是它是一门很深的技术
8、场景恢复要到位,多思考
9、搞不定的控件也尽量少用虚拟对象、对象映射等技术,多用旁门左道去搞定,至少比前两者来的稳定
10、写脚本,会举一反三
11、尽量别用数据库检查点(WUGECAT补充)
12、写好测试用例(WUGECAT补充)
13、涉及到设计层(思想层)的东西都比较难 实现层(代码层)就会好很多(蓝天伟补充)


大家一起补充。。。

[ 本帖最后由 yujie6832 于 2010-3-9 16:53 编辑 ]
作者: near    时间: 2010-3-9 14:05
顶一下
作者: wujianping    时间: 2010-3-9 14:11
路还很长,加油!
作者: xiaoyaoke    时间: 2010-3-9 14:40
1、有扎实的QTP基础
-->什么叫扎实的QTP基础?
2、理解一定的自动化测试框架
-->复杂度低的工作何须所谓的框架?不是使用了QTP COM,自定义了Report就叫框架了

5、编写脚本,最好还是符合“高内聚,低耦合”的软件工程理念比较好,我们自动化测试也是需要的
-->怎么样才能“高内聚,低耦合”?

实在是不想说了。。。
作者: wugecat    时间: 2010-3-9 14:54
你都说的这么全面了,让别人怎么补充??
作者: wugecat    时间: 2010-3-9 14:56
11.尽量别用数据库检查点
作者: yujie6832    时间: 2010-3-9 15:04
标题: 回复 4# 的帖子
那就别说了,兄弟~我知道,您是高人~技术呆子!其实我可以回驳你N句,但是我也实在不想说了~

最近又有新的对于技术的理解了,技术就是大蒜和咖啡的区别
作者: zjx1001    时间: 2010-3-9 16:34
会做和会说是2回事,不光要会做,还要把自己理解的东西分享给别人,有可能是不对,但至少敢于提出,和别人分享。支持yujie6832
作者: zzxxbb112    时间: 2010-3-9 16:37
支持~~
作者: wugecat    时间: 2010-3-9 16:41
12.写好测试用例
作者: lantianwei    时间: 2010-3-9 16:45
个人觉得涉及到设计层(思想层)的东西都比较难 实现层(代码层)就会好很多
作者: yujie6832    时间: 2010-3-9 16:53
原帖由 lantianwei 于 2010-3-9 16:45 发表
个人觉得涉及到设计层(思想层)的东西都比较难 实现层(代码层)就会好很多

恩,这点遗漏了,我补充下~设计的确是后期证明实力的精华,代码写多了都会写
作者: yujie6832    时间: 2010-3-9 16:55
标题: 回复 10# 的帖子
恩,两条先补充上去,过段时间,大家一起总结总结,呵呵
作者: xiaoyaoke    时间: 2010-3-9 17:32
标题: 来说下吧
其实,没有挑起事端的意思,只是觉得这样总结有很多混淆的地方,这个坛子现在新人太多了,而LZ本身又是版主,很多新人对于LZ的话必然信服,唯恐对他(她)们造成误导。
1、有扎实的QTP基础
-->扎实的QTP基本,这点上理解就比较难。怎么叫扎实的QTP基本?一般大家都认为QTP的主要原理是DOM+HOOK,通过HOOK记录页面的操作,然后IE支持的接口进行回放。当前在点击页面对象时候也是DOM的分析。但用得多了,就会更多的觉得QTP更接近一款IDE,是我们的一个编程工具。既然是编程工具,可能它只是解析执行用户的代码,具体代码的内容是什么是用户自己要保证的事情了。
我刚开始的时候用QTP做FTP新版本的下载工作,根本就没有任务UI或者WEB测试的内容,就是纯粹的把他当作IDE。到这里,如果想要用好,就不是简单的VBS和VBS的内置对象和函数就能满足你的需求了吧?
起码的只是DOM(HTML,XML),COM,一些基本的操作系统的知识,可能还有一些特殊的需求,比如我之前写过连LINUX后台的,连数据库的,写SQL等等,就到要有了解了。
这一点在帖子如何成为QTP程序员中有体现,也是我最近关于技术的感悟:技术是立体的。想做要一点,必须要有面的知识,这样来龙去脉才都了解。
作者: xiaoyaoke    时间: 2010-3-9 17:39
标题: 2、理解一定的自动化测试框架
说说框架,现在测试框架真的很热,但基本上我们这个板块看到的所有框架都同根同源,来自于之前见过的一个轻量级自动化测试框架,当然可能是更前的,就不太记得了。
这样的框架能称之为框架吗?之前有过很多的论战,我一直是坚持在Shanxi一边的。最近柳胜出了本书《软件测试化测试框架设计与实践》大家可以借鉴。或者直接download Selenium去分析人家的自动化测试框架。
当我们的需求复杂度根本不高的时候,是没有意义去做框架的,我们现在也在做一款框架,叫做Helium,当然是山寨Selenium的意思,然后是因为我们需要这个框架是实现类似QC的功能,要集成对QTP,Selenium,Autoit等工具的调用,当然也要控制虚拟机,完成SVN自动打包,完成产品的自动安装等等较多的功能,其实功能罗列再多也不能称之为框架,而是你的东西是不是符合框架的概念。
我刚来公司的时候有个人说:框架就是给你一个入口,然后后续的操作由它来完成。而我们公司的产品基本都是在自由框架上开发的,它的存在的确给工作提供了便利和指导意义。
所以,当我们再次提及框架的时候,要想想是否框架的开发给工作带来了实际的意义并能指导后续别人的工作?
作者: xiaoyaoke    时间: 2010-3-9 17:46
标题: 先去阿凡达,晚上再说
我喜欢和别人探讨,可能这也是当前这个板块缺少的,希望大家都能把自己的想法说出来
作者: yujie6832    时间: 2010-3-9 17:47
标题: 回复 14# 的帖子
我觉得您写的太复杂了,这样更不利于新人,这个等级甚至连我,有的都没接触过,比如你说的连LINUX后台,让新人们一步步来吧,我知道您技术强~但是别动不动就那种态度,你现在态度还行~咱们还能沟通
作者: xiaoyaoke    时间: 2010-3-9 17:50
标题: 回复 17# 的帖子
呵呵,如果觉得我态度不好,我道歉,别误会
作者: yujie6832    时间: 2010-3-9 17:51
原帖由 xiaoyaoke 于 2010-3-9 17:39 发表
说说框架,现在测试框架真的很热,但基本上我们这个板块看到的所有框架都同根同源,来自于之前见过的一个轻量级自动化测试框架,当然可能是更前的,就不太记得了。
这样的框架能称之为框架吗?之前有过很多的论战, ...

我很包容的对新人说了一句:框架先随便用着,就算错也没关系,吸取个教训,就是考虑到国内的框架。。。,所以才这么说的,说的不对吗?呵呵,如果你觉得对,那请你把不客气的语气编辑掉,谢谢,我们还是可以多探讨探讨,或者说我多像你请教请教,不过,本来我的确什么都不想说了
作者: yujie6832    时间: 2010-3-9 17:52
标题: 回复 18# 的帖子
原来你还没去看阿凡达,呵呵,没事~就当误会吧,阿凡达不错!特别是IMAX
作者: 海福    时间: 2010-3-10 17:57
ding
作者: wuyuzimu    时间: 2010-3-11 09:43
对我来说,还是太深奥了。。。。。
作者: liuxl    时间: 2010-3-11 16:01
我想说的是如果把QTP当做IDE又何必花那么多钱去买呢?
花钱就是要他发挥自己的价值,QTP就是基于UI的,能录制的时候何必自己动手写呢?
至于说到连接数据库,SQL之类的我想需要了自然也就会了,没必要拿来这里说的了,技术上的问题根本就不是问题了

以上纯属个人观点

[ 本帖最后由 liuxl 于 2010-3-11 16:04 编辑 ]
作者: yujie6832    时间: 2010-3-11 16:41
标题: 回复 23# 的帖子
QTP是个自动化测试工具,他是直接面向GUI测试的,原理也是如此,为什么光录制不行?因为他根本满足不了大家的需求,如果能满足,没人会去写代码,还有一点就是,如果QTP光靠录制能满足80%需求了,我想他翻倍的价格都会有更多的公司买,呵呵
总结:为什么要手写?因为录制根本发挥不了作用~满足不了需求,呵呵

软件测试自动化工程也是一门学问,有的地方的确是可以录制的,但是大家都知道,录制出来的东西,对象库是以QTP的方式命名的,那么你手动改需要时间吗?然后还要调整代码结构,对象还需要维护(这点没什么疑问吧?如果自动化脚本是一次性的,那还是别自动化了)不是更浪费时间?而且一半录制一半手写,你觉得能统一吗?自动化不是一个人在做,如果都不能统一,怎么做下去呢?QTP的价值不是在于它的录制功能,而是它有办法(懂得真正使用它的人会有办法的)去解决自动化,不然也不会卖的那么贵了,但是实现的方法绝对是录制做不到的!

暂时只能解释这么多,希望能给您带来帮助,如果有写的不对的地方也请指点
作者: liuxl    时间: 2010-3-11 16:53
呵呵,不想辩解,我做自动化实现了几千个用例,我只是想反驳前面的某楼的一些观点,谁都知道光录制时不可行的,这点没必要再解释了吧,我只是想说我们的目的是要实际应用而不是钻研与技术
作者: yujie6832    时间: 2010-3-11 16:59
标题: 回复 25# 的帖子
比如哪几点?真诚求教,关于数据库那个是人家的观点,我觉得我写的还算中肯,也是把技术放在了后面,实际放在了第一位
作者: liuxl    时间: 2010-3-11 17:01
我最想反驳的就是把QTP当做IDE来用
作者: liuxl    时间: 2010-3-11 17:02
版主面对的是新手,但是不是每个人都是新手
作者: liuxl    时间: 2010-3-11 17:05
其实你喜欢用描述性编程没问题,只是我觉得qtp本身带的录制回放挺好的,不可否认需要维护对象库,但是难道手动写脚本就不需要维护了吗?
作者: yujie6832    时间: 2010-3-11 17:13
标题: 回复 29# 的帖子
说IDE的不是我,嘿嘿~

我喜欢用对象库,一直用的对象库

我自动化做到现在基本是以对象库为基础的手写脚本,不过添加对象的时候我就直接添加了,不是用录制的,我会为每一个对象严格命名
作者: liuxl    时间: 2010-3-11 17:14
恩,我没说是你,被你劈头盖脸的一大堆说下来,我脸都红了
作者: yujie6832    时间: 2010-3-11 17:16
呵呵,不过说句实在话,QTP自HP收购,10.00的推出,它的确越来越像一个IDE了,我个人也挺喜欢的
作者: zhengpeipei    时间: 2010-3-11 17:16
路过
作者: yujie6832    时间: 2010-3-11 17:19
不过我有一个问题要问下,你的1000个脚本,你如何去管理好它的?
作者: liuxl    时间: 2010-3-11 17:19
楼上的肯定把路过这两个字先copy上,需要了直接Ctrl+V,呵呵
作者: liuxl    时间: 2010-3-11 17:20
首先我是实现了几千个用例,不是1000个脚本,其次1000个脚本一个简单的框架也能管理起来,前提是自动化的流程要做起来
作者: yujie6832    时间: 2010-3-11 17:28
标题: 回复 36# 的帖子
框架自己小设计下?还是直接套用QC+QTP?呵呵
作者: xiaoyaoke    时间: 2010-3-11 18:00
标题: 回复 25# 的帖子
呵呵,不想辩解,我做自动化实现了几千个用例,我只是想反驳前面的某楼的一些观点,谁都知道光录制时不可行的,这点没必要再解释了吧,我只是想说我们的目的是要实际应用而不是钻研与技术

你以后会发现这么想很危险的
作者: Joker.Z    时间: 2010-3-11 23:23
恩。学习了~
作者: yujie6832    时间: 2010-3-12 09:17
标题: 回复 39# 的帖子
MN
作者: mowandao1985    时间: 2010-3-12 09:21
很精彩的对话,受益匪浅啊!
作者: walker1020    时间: 2010-3-12 09:37
看到大家有深度的讨论,深有感触:理论指导实践,实践是检验真理的唯一标准。大家讨论的目的都是在总结自己的经验,以提高大家应用QTP进行自动化的水平,所以千万不要有针对个人的言论出现。
作者: walker1020    时间: 2010-3-12 09:40
楼主是把自己的某些经验写了出来,和大家一起分享。这值得学习。可能由于每个人的经历不同,或者其它条件所限,所以无法写的非常具体,希望大家谅解。
作者: yujie6832    时间: 2010-3-12 09:44
标题: 回复 43# 的帖子
谢谢理解,也希望大家踊跃探讨,这才是本意~这样大家的水平才能提高
作者: fanliukund    时间: 2010-3-12 17:03
听说我要顶一下
作者: gjay1688    时间: 2010-3-12 22:07
从辩论中我们可以得到我们想知道的
作者: vic_peng    时间: 2010-3-16 11:28
感觉太复杂了 完全不明白
作者: rojer521    时间: 2010-3-18 00:24
很不错的讨论
作者: luckysea_cd    时间: 2010-3-18 11:36
我也要学习QTP了,但是你们说的什么我听的一头雾水
作者: zrg9399    时间: 2010-3-18 13:01
好贴要顶起来
作者: 10885    时间: 2010-3-18 15:51
原帖由 gjay1688 于 2010-3-12 22:07 发表
从辩论中我们可以得到我们想知道的

学习~·
作者: love33    时间: 2010-3-21 22:38
原帖由 yujie6832 于 2010-3-12 09:44 发表
谢谢理解,也希望大家踊跃探讨,这才是本意~这样大家的水平才能提高

我觉得LZ说的很对吗,所谓论坛就是用来讨论的,如果没有各位的参与那也就没有实际意义了,反之我们才能够学到更多的东西。
作者: samueloyang    时间: 2010-3-22 14:52
技术不讨论不分享,就没得提高啊!顶起

[ 本帖最后由 samueloyang 于 2010-3-22 14:53 编辑 ]
作者: yiran163    时间: 2011-11-18 09:02
现在开始学习QTP,以后会常来
不过不知道为什么不能访问楼主的个人博客
作者: wanderx    时间: 2012-4-9 10:40
回复 1# yujie6832

楼主啊,我是一个菜鸟,你能不能推荐下一些QTP比较入门的书籍啊、,最好是你出版的书,谢谢啦
作者: yujie6832    时间: 2012-4-9 12:11
回复 55# wanderx


    我不是刚出了一本书吗?《精通QTP——自动化测试技术领航》,初学者只要看前2大章就可以了,很科学的排版,跟着学,傻瓜式教学,全都是编码方面的,不会教你“录制”
作者: hbycyf123    时间: 2012-4-28 23:14
高手过招,路过,学习了!
作者: zz45509    时间: 2012-5-2 11:22
老师的《精通QTP》最后的框架部分,有很多字眼都是打开啥,点击哪,好像老师把源文件给我们了,我表示很蛋疼,还有对于没有开发经验的我来说,不知如何实现。那些源代码不知如何衔接?忘老师指教。
作者: 小街深巷    时间: 2016-7-8 17:33
我就是新人。然后正在根据您编辑的书《精通QTP——自动化技术领航》进行学习着,不过,确实有好多不太理解的,新人嘛,就连问问题都不知道该怎么提出的。很委屈啊。希望得到版主的支持与帮助。




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