google搜索 站内搜索                 软件测试门户 | 软件测试培训 | 文章资料精选 | 软件测试论坛 | 测试解决方案 | 软件测试博客 | 测试招聘求职 
打印

关于脚本的规范

关于脚本的规范


才接触QTP一段时间不久,对自己写的脚本也在不断的改进中有了一定的认识,但是现在还是没有想出一个比较完美的脚本规范来,希望有经验的高手来指教下

一、对于Action的分布
     
      1、整个测试脚本就一个action:
      
      优点:只有一个对象库,对象的更新非常方便,只需要更新一个对象库中的对象
      缺点:代码太混乱,一个action中的代码太多,不方便查找和修改
      
      2、整个测试脚本有多个action,如新增一个action,修改一个action,或每一个步骤一个action
      
      优点:代码清晰明朗,方便修改,在测试结果中也比较容易查看
      缺点:每一个action都有一个对象库,更新对象的时候需要更新每个action中的相应对象,太麻烦

二、对于参数化

     1、使用DataTable来进行参数化
      
     优点:能够在检查点或其他地方非常方便的取得dataTable中的值
     缺点:灵活性太差了,而且不直观(别人使用你的脚本时也许不知道要修改datatable中的参数)

     2、使用函数和变量来进行参数化(用随机函数或定义全局变量等)

     优点:可以放在脚本的最前面或单独的一个action中,方便用户使用脚本前进行配置参数
     缺点:无法在添加检查点中直接引入这个参数,只有通过DataTable来中转或手动用于编写检查的脚本

三、对于描述性编程

      也是无法在ActiveScreen中直接插入检查点,只能自己手动编写用来检查的函数。

   
     上面遇到的这些问题,对于脚本的规范,大家有没有好的建议或项目中的实际经验,说说吧~

TOP





呵呵,等你对QTP熟悉到一定程度,抛弃Action、DataTable、检查点和ActiveScreen吧!
采用Function+Library+共享对象仓库,你会得到自由!

TOP

LS说得有一定道理,但是对于比较复杂的系统来说,放弃QTP本身方便的脚本生成方法,完全手工的去写脚本的话,一是时间上可能不允许,二是QTP跟开发工具相比,所使用的语言有一定的局限性啊。

TOP





那你这些问题也不是什么问题!

一、对于Action的分布
     
      1、整个测试脚本就一个action:
      
      优点:只有一个对象库,对象的更新非常方便,只需要更新一个对象库中的对象
      缺点:代码太混乱,一个action中的代码太多,不方便查找和修改
      
      2、整个测试脚本有多个action,如新增一个action,修改一个action,或每一个步骤一个action
      
      优点:代码清晰明朗,方便修改,在测试结果中也比较容易查看
      缺点:每一个action都有一个对象库,更新对象的时候需要更新每个action中的相应对象,太麻烦


      可以使用共享方式(shared)的对象仓库,所有Action共用一个仓库。不要用每个Action方式(Per-Action)的对象仓库。


二、对于参数化

     1、使用DataTable来进行参数化
      
     优点:能够在检查点或其他地方非常方便的取得dataTable中的值
     缺点:灵活性太差了,而且不直观(别人使用你的脚本时也许不知道要修改datatable中的参数)

     2、使用函数和变量来进行参数化(用随机函数或定义全局变量等)

     优点:可以放在脚本的最前面或单独的一个action中,方便用户使用脚本前进行配置参数
     缺点:无法在添加检查点中直接引入这个参数,只有通过DataTable来中转或手动用于编写检查的脚本


      可以使用 DataTable + Excel配置文件 的方式,你录脚本时只要面对DataTable,用户只要面对外部的Excel配置文件,
      只要你在开始运行时,写段脚本,将Excel配置文件内容相应的读入DataTable中即可


三、对于描述性编程

      也是无法在ActiveScreen中直接插入检查点,只能自己手动编写用来检查的函数。


      没必要用描述性编程了

TOP

这样有深度的讨论越多越好
实践是检验真理的唯一标准。

TOP

支持一下下sdlkfj3 !!!
人生=事业+爱情+生活

TOP

ding

TOP

顶一下

TOP

感觉每次看yabest的帖子都能得到点什么,支持

TOP

Function+lib+共享对像库,good idea


Function+lib+共享对像库,感觉很好
请教yabest楼主几个问题:
1.这样的对象库建立是否方便并易于维护
2.如果需要检查的地方很多,事先怎么记得清楚要使用Function或者lib检查什么
3.这样的自动化测试框架的效果怎么样?能否考虑系统意外重启和被测试产品或者系统意外崩溃
4.这样的自动化测试占所有测试case的百分比是多少

TOP

引用:
原帖由 househou 于 2007-7-31 10:08 发表
Function+lib+共享对像库,感觉很好
请教yabest楼主几个问题:
1.这样的对象库建立是否方便并易于维护
2.如果需要检查的地方很多,事先怎么记得清楚要使用Function或者lib检查什么
3.这样的自动化测试框架的 ...
>1.这样的对象库建立是否方便并易于维护
  用共享对象库,清晰明了、统一定义、集中维护、方便共享

>2.如果需要检查的地方很多,事先怎么记得清楚要使用Function或者lib检查什么
  脚本要分层的,函数也是分层的,中间的业务函数层相对独立于Case需要,直观封装创建、修改、删除、查询等业务操作,
  上层的Case函数层才调用业务函数层,得到数据,并自己做数据检查。

>3.这样的自动化测试框架的效果怎么样?
  这样的框架是我们团队初期QTP开发遇到很多问题后的反思和总结的成果,使用以后效果很好,我们团队都一直在用呢。

>  能否考虑系统意外重启和被测试产品或者系统意外崩溃
   这些情况复杂了,无法一一检测。
   我们每个Case结束后都有检查和恢复操作,如果意外发生,为了保证测试进行,就不管是啥情况,直接重启被测客户端程序。

>4.这样的自动化测试占所有测试case的百分比是多少
   我们绝大多数QTP Case都是按照这种模式来开发的。

TOP

回复 11# 的帖子


请教lib是什么?我不太明白,还望指点。

TOP

lib是 library 的缩写,意思是 库文件。如果你做过开发,就很容易理解了
实践是检验真理的唯一标准。

TOP

回复 11# 的帖子


水平不行,等待以后和你们讨论

TOP

共享对象库的确不错,易于管理,但是如果所有对象都存放于一个对象库中,一旦对象过多那么查找起来就太花费时间了。

TOP

回复 1# 的帖子


学习中呀,让我倍感汗!

TOP

"可以使用 DataTable + Excel配置文件 的方式,你录脚本时只要面对DataTable,用户只要面对外部的Excel配置文件,只要你在开始运行时,写段脚本,将Excel配置文件内容相应的读入DataTable中即可"
-------
我现在在做的项目就想用这种方法,但是我完全不知道要怎么写脚本把Excel配置文件内容相应的读入DataTable??可不可以提示下???

TOP

 
当前时区 GMT+8, 现在时间是 2008-11-24 02:45Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹