描述性编程不是可以医治百病的灵丹妙药

上一篇 / 下一篇  2007-12-05 16:02:56 / 个人分类:QTP

 

昨天看见居然有人反对大量使用描述性编程而鼓励多用对象库,一时兴起,反驳了几句。没想到今天看了一下对方的回复,顿时惭愧万分,自己的经验的确不足,还需要多多学习。现将他人之玉记下,以供以后开山之用。红色为我的文笔,蓝色是best的反驳

1、测试脚本应该灵活,而对象库固定的层次结构和名称,导致脚本太呆板,不能满足程序开发变动的导致脚本变动这一客观事实的需要!
      对象库和描述性编程,两者主要差别是把对象特征写在对象库里还是写在脚本里而已。它们的层次结构完全一样的,有什么差别吗?

2、如果使用对象库,就必须采用录制——测试这种方式,而描述性编程可以使测试者自己编写脚本,完全脱离录制这种方式,然后灵活根据需要进行修改!这点上可以说是一种测试工作的更新!因为完全没有必要进行录制工作,减少了很多时间
  谁说一定要录制才能将对象加入仓库,我就经常直接抓取对象放入仓库,给对象起个好名字,然后手工写脚本
  而且录制也没什么不好,挺方便的,比你手工一个字母一个字母的敲出来轻松多了,还不容易出错。
  不能为了脱离依赖而搞脱离,你要看看它能给你带来什么好处。方便省事是第一的,不然你干脆用汇编用机器语言来编程好了,直接指挥硬件,最灵活,功能最强大!

3、描述性编程+正则表达式功能非常强大,这点需要好好学习
对象仓库里一样可以用正则表达式的啊!


其实,对象仓库很像编程里的常数定义。

1、首要的好处,是统一定义,一旦发生变化,只要改一个地方。
    几万行代码的大软件,使用常数定义,常数发生变化,只要改一个常数值就行了。要是没有常数定义,一旦发生变化,你在几万行代码里怎么去搜索,怎么去修改?!
    同样的,成千上万个Case里,某个对象发生了变化,你要怎么在这成千上万个Case里去搜索这个对象,怎么去修改?

2、其次的好处,是美化代码,增加可读性。
    编程里面你不用常量,直接写个数字,代码就很难看,谁知道这个数字代表什么意思啊!
    同样的,很多对象是没有标题,或者标题很长,或者标题很凌乱的(如IP地址,后三个数字的标题都是"."),你把它加进对象库后可以给它起个好名字,这样就把复杂的对象特征屏蔽在对象库里,留给脚本的是很清晰直观的对象名。

3、还有更重要的,你不统一定义,怎么继承和共享,尤其是多人合作开发时。
    编程时你不在一个常数库里统一定义统一共享,别人怎么知道有这个定义!到时各人各写各的,标准不一,混乱不堪。
    在QTP里面,很多对象的特征不是那么简单的,不用对象库,到时各人各自在脚本里用自己的方法来定义特征!或者不要说多个人,你自己自动化大量的Case时,你自己都记不清以前是怎么定义某些对象的特征了,可能长期下来,同个对象都有好几套特征定义了,不仅费力,还标准不一,混乱不堪。

反正你想想编程里常数的好处就好了。

其实对象库和描述性编程功能是差不多的,除了少数动态对象只能用描述性编程之外。

在我们的自动化小团队里,多人合作一起自动化,对象仓库可是最重要的!
各人写的脚本风格可以不同,但是对象仓库是统一共享的,决不允许你随意修改对象库。
对象初次加入对象库,也要遵循约定好的命名规则,要做到简单、清晰、易记!


TAG: QTP

引用 删除 北行雁   /   2015-05-15 09:40:53
5
ZHOU的个人空间 引用 删除 zhou840401   /   2007-12-10 15:02:28
能用对象库肯定用对象库啦,对于一些特别的应用或者不能用对象库来解决的,才用描述性编程.如:你要全部选中页面查询返回的结果(checkbox),这就要用描述性编程啦,因为你不知道结果是多少条数据.
 

评分:0

我来说两句

我的栏目

日历

« 2024-04-30  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 7828
  • 日志数: 8
  • 建立时间: 2007-12-04
  • 更新时间: 2008-04-11

RSS订阅

Open Toolbar