回忆之城
生命在于折腾
posts - 575,comments - 9,trackbacks - 0
刚开始学QTP时,用的是对象库,因为对象库简单易学,使用方便;后来慢慢地,有人说描述性编程(简称DP)功能强大,所以也很自然的用起了DP。
Xx2st9u6vi0          首先说一下我在一个项目中的真实经历:我在之前用QTP做了一个WEB项目,在该项目中全部用了DP,其实原本是想用对象库的,但考虑到用对象库的话,必须严格按照对象库命名规范,比较烦琐,而且那个系统还有一个特殊的地方,就是所以的网页都是在一个PAGE下,那么势必导致所有的子对象都会在一个PAGE下,这样维护起来也是非常麻烦的,不过其实这个问题是可以解决的(yabest兄给了一个比较好的解决方案-http://bbs.51testing.com/thread-102128-1-1.html),大家如果以后遇到也可以参考一下。在整个项目用DP的开发过程中确实发现DP可以提高脚本的编写速度,而且DP的使用起来也非常灵活。但慢慢地随着项目进度的发展,发现项目中还是会有较多的UI发生了改变,这时麻烦的事就来了,需要一个一个地到脚本文件里进行修改,非常麻烦,脚本少还可以处理一下,如果非常多的话,那会晕死人的。还有如果在脚本中不进行一些特殊处理,那么具体定位到出错的对象也是非常困难的事(我们项目用的是FUNCTION,可能ACTION会好些)。因此可以看出DP将会导致了一个非常严重的问题:项目后期对象的维护将会变地非常困难!软件测试专业网站:51Testing软件测试网mqEN5?
           如果用DP,有什么办法可以避免这种问题呢?也许有人会说有,自己再建个XML来放置对象库吧,这样就可以通过外部文件修改对象了啊!其实不知道大家有没有发现,如果我们用一个XML来管理对象库和我们用QTP的对象库来管理有什么本质区别吗?其实他们的本质是一样的,都是一个外部文件,目的都是可以独立地对对象库进行管理维护,而且自定义的XML远没有QTP自身提供的对象库功能强大!那么我们何必要舍近求远呢?硬要自己搞出一个东西来呢!可能有时还会沾沾自喜地和别人炫耀:看,我把DP的对象处理问题解决了!呵呵。。。。真有点让人哭笑不得!我这里有一个比较好的关于DP的处理工具,是老外写的,应该比我们一般的简单好用,特奉献给热衷于DP的朋友们使用(下载地址:http://www.qantom.shubharaghu.com/html/dor_download.html),具体的使用可以参看该工具自带的说明,确实非常方便!但存在的问题也显而易见!!!软件测试专业网站:51Testing软件测试网9N/w_qK5~V:t~W
           当然DP并不是没有存在的理由!首先有一个取子对象(ChildObjects)的例子就只有DP可以做到,其他的应该DP可以做到的,对象库也可以办到。还有一个,也就是DP最突出的优势,可能我们平时也不怎么碰到,大家也就可能都不知道DP的核心用处原来是这个,那就是当我们在开发项目时,我们需要自动化测试,软件开发同步进行,而这时因为我们的项目还没有开发出来,那么UI对象就无从说起,所以这时我们要用对象库进行自动化测试显然是不现实的,而这时DP就可以大显神威了,呵呵。。。。我想此时再没有人会对DP抱怨了!
"O9NG%HfS6qdR0           综合上述,我个人觉得我们在做自动化项目时(如果项目已开发出来)还是应该以对象库为主,DP为辅,要不后期项目的对象库维护将会非常困难(当然你确定你的项目中的对象不发生变化或变化极少除外)。工具中对象库的出现本身就是为了解决对象和脚本的分离,以便更好地对对象进行管理和维护,因此我觉得我们没有必要再吃回头草了。(这里也说一个特例,比如是外包项目,你想偷懒,也可以用DP。哈哈。。。。)
`L#H/V#Z^y!~0           [以上是本人在学习DP和对象库过程中的一点看法,欢迎大家提出不用看法!]
1R2E2`WS5^Ub0软件测试专业网站:51Testing软件测试网6T9nL []pe+w8ID&y W
[ 本帖最后由 lantianwei 于 2008-3-5 10:29 编辑 ]
posted on 2008-03-18 11:44 回忆之城 阅读(193) 评论(0)  编辑 收藏 引用 所属分类: 测试技术相关
只有注册用户登录后才能发表评论。