关于脚本的规范
才接触QTP一段时间不久,对自己写的脚本也在不断的改进中有了一定的认识,但是现在还是没有想出一个比较完美的脚本规范来,希望有经验的高手来指教下一、对于Action的分布
1、整个测试脚本就一个action:
优点:只有一个对象库,对象的更新非常方便,只需要更新一个对象库中的对象
缺点:代码太混乱,一个action中的代码太多,不方便查找和修改
2、整个测试脚本有多个action,如新增一个action,修改一个action,或每一个步骤一个action
优点:代码清晰明朗,方便修改,在测试结果中也比较容易查看
缺点:每一个action都有一个对象库,更新对象的时候需要更新每个action中的相应对象,太麻烦
二、对于参数化
1、使用DataTable来进行参数化
优点:能够在检查点或其他地方非常方便的取得dataTable中的值
缺点:灵活性太差了,而且不直观(别人使用你的脚本时也许不知道要修改datatable中的参数)
2、使用函数和变量来进行参数化(用随机函数或定义全局变量等)
优点:可以放在脚本的最前面或单独的一个action中,方便用户使用脚本前进行配置参数
缺点:无法在添加检查点中直接引入这个参数,只有通过DataTable来中转或手动用于编写检查的脚本
三、对于描述性编程
也是无法在ActiveScreen中直接插入检查点,只能自己手动编写用来检查的函数。
上面遇到的这些问题,对于脚本的规范,大家有没有好的建议或项目中的实际经验,说说吧~ 呵呵,等你对QTP熟悉到一定程度,抛弃Action、DataTable、检查点和ActiveScreen吧!
采用Function+Library+共享对象仓库,你会得到自由! LS说得有一定道理,但是对于比较复杂的系统来说,放弃QTP本身方便的脚本生成方法,完全手工的去写脚本的话,一是时间上可能不允许,二是QTP跟开发工具相比,所使用的语言有一定的局限性啊。 那你这些问题也不是什么问题!
一、对于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中直接插入检查点,只能自己手动编写用来检查的函数。
没必要用描述性编程了
这样有深度的讨论越多越好 支持一下下sdlkfj3 !!! ding 顶一下 感觉每次看yabest的帖子都能得到点什么,支持
Function+lib+共享对像库,good idea
Function+lib+共享对像库,感觉很好请教yabest楼主几个问题:
1.这样的对象库建立是否方便并易于维护
2.如果需要检查的地方很多,事先怎么记得清楚要使用Function或者lib检查什么
3.这样的自动化测试框架的效果怎么样?能否考虑系统意外重启和被测试产品或者系统意外崩溃
4.这样的自动化测试占所有测试case的百分比是多少 原帖由 househou 于 2007-7-31 10:08 发表 http://bbs.51testing.com/images/common/back.gif
Function+lib+共享对像库,感觉很好
请教yabest楼主几个问题:
1.这样的对象库建立是否方便并易于维护
2.如果需要检查的地方很多,事先怎么记得清楚要使用Function或者lib检查什么
3.这样的自动化测试框架的 ...
>1.这样的对象库建立是否方便并易于维护
用共享对象库,清晰明了、统一定义、集中维护、方便共享
>2.如果需要检查的地方很多,事先怎么记得清楚要使用Function或者lib检查什么
脚本要分层的,函数也是分层的,中间的业务函数层相对独立于Case需要,直观封装创建、修改、删除、查询等业务操作,
上层的Case函数层才调用业务函数层,得到数据,并自己做数据检查。
>3.这样的自动化测试框架的效果怎么样?
这样的框架是我们团队初期QTP开发遇到很多问题后的反思和总结的成果,使用以后效果很好,我们团队都一直在用呢。
>能否考虑系统意外重启和被测试产品或者系统意外崩溃
这些情况复杂了,无法一一检测。
我们每个Case结束后都有检查和恢复操作,如果意外发生,为了保证测试进行,就不管是啥情况,直接重启被测客户端程序。
>4.这样的自动化测试占所有测试case的百分比是多少
我们绝大多数QTP Case都是按照这种模式来开发的。
回复 11# 的帖子
请教lib是什么?我不太明白,还望指点。 lib是 library 的缩写,意思是 库文件。如果你做过开发,就很容易理解了回复 11# 的帖子
水平不行,等待以后和你们讨论 共享对象库的确不错,易于管理,但是如果所有对象都存放于一个对象库中,一旦对象过多那么查找起来就太花费时间了。回复 1# 的帖子
学习中呀,让我倍感汗! "可以使用 DataTable + Excel配置文件 的方式,你录脚本时只要面对DataTable,用户只要面对外部的Excel配置文件,只要你在开始运行时,写段脚本,将Excel配置文件内容相应的读入DataTable中即可"-------
我现在在做的项目就想用这种方法,但是我完全不知道要怎么写脚本把Excel配置文件内容相应的读入DataTable??可不可以提示下??? 很好很强大继续关注 原帖由 爱喝可乐的蚊子 于 2008-10-23 00:15 发表 http://bbs.51testing.com/images/common/back.gif
"可以使用 DataTable + Excel配置文件 的方式,你录脚本时只要面对DataTable,用户只要面对外部的Excel配置文件,只要你在开始运行时,写段脚本,将Excel配置文件内容相应的读入DataTable中即可"
-------
我现在在 ...
是啊,所谓“在开始运行时,写段脚本,将Excel配置文件内容相应的读入DataTable中即可”,我也曾这么想过。
但将Excel配置文件内容读入相应的DataTable中,有具体施行的例子么? 用Import方法导入到DATATABLE表里
页:
[1]
2