51Testing软件测试论坛

标题: 单个的Action "的设计原则是什么,能举例说明吗 [打印本页]

作者: gyn    时间: 2006-9-28 10:32
标题: 单个的Action "的设计原则是什么,能举例说明吗
设计Reuseable action
   对于常用的Action,要把它设计为一个Reuseable action。引用像麦子华华说的,“ 一个好的脚本,要尽量多的Reuseable action,一个测试用例就是多个Reuseable action的串连。” 我现在的做法就是把单个的Action 都设计成Reuseable action, 然后 把他们串连(Insert Call the Copy of Action)起来,组成一个大的脚本。每次我只需要运行大的那个脚本就可以了。

想知道的一些东西,其中上面语句中的"单个的Action "的设计原则是什么,能举例说明吗
http://bbs.51testing.com/thread-24742-1-1.html
放在上面精华贴没人恢复,在这看看
作者: xiaonan    时间: 2006-9-28 10:59
说实话,这个问题问的太大,让人很难回答.更何况针对每个程序每个用例可能录制的情况是不同的.这不是什么数学公式,一定要怎样的
作者: kissing    时间: 2006-9-28 11:02
同意。。学到很多东西。。。
作者: yangkinki    时间: 2006-9-28 15:49
单个的action,易于维护和调用,帮助文档中有些相关的资料
作者: walker1020    时间: 2006-9-29 09:28
类似于程序开发中模块的设计原则,单个的Action的设计原则是:每个Action都能实现一定的功能,Action间的耦合度要低。不知道是否正确? 个人意见,仅供参考!
作者: hiyizhiyu    时间: 2006-9-29 10:22
将一组相关的case做成一个action
每个action的初始环境都一样
不管case pass 还是fail,action结束的时候都应该恢复到初始环境
作者: 麦子华华    时间: 2006-9-29 15:26
LZ说 : “我现在的做法就是把单个的Action 都设计成Reuseable action, 然后 把他们串连(Insert Call the Copy of Action)起来”
难道你们都是用的 Insert Call the Copy of Action 吗?这样你如何维护这个Action,实际上多个独立的Action了,应该用Call the Existing Action, 这样只需要维护一个Action了。

可能是搂着笔误了?呵呵,我来修正以下,以免给其他人误解。
作者: walker1020    时间: 2006-9-29 17:08
原帖由 麦子华华 于 2006-9-29 15:26 发表
LZ说 : “我现在的做法就是把单个的Action 都设计成Reuseable action, 然后 把他们串连(Insert Call the Copy of Action)起来”
难道你们都是用的 Insert Call the Copy of Action 吗?这样你如何维护这个Acti ...


我查了一下QTP8 Tutorial.pdf 文档中关于插入Action的两种方式的差别。具体内容如下:

When you insert a call to copy of an existing action, you can make changes to the copied action, and your changes will neither affect, nor be affected by, any other test. Calls to existing actions, however, are read-only in the calling test. They can be modified only in the test with which they were stored. Calls to existing actions enable you to call the same action from several tests and make it easy to maintain tests, because when your application changes you only have to update the existing action stored with the original test.

找到QTP8 Tutorial(简体).pdf文档, 它对上面一段的翻译是:

当你以复制的方式插入动作,则你可以修改这个动作的副本,并且你的修改不会影响原来的动作,原来动作的改变也不会影响这个副本。当你以呼叫的方式插入动作,这个动作会变成只读的动作,你只能在原来的测试脚本中,才能修改被呼叫的动作。使用呼叫的方式,测试脚本可以有比较好的可维护性,因为当被测系统改变时,你只要修改原始的测试脚本就可以了。

所以,为了使测试脚本可以有比较好的可维护性,应该使用Call the Existing Action。 麦子华华 说的对,是我写错了。 麦子华华 真细心,测试人员就应该有这样仔细认真的态度。 谢谢 麦子华华 !
作者: 麦子华华    时间: 2006-9-30 15:18
嘿嘿,又对了一次 [sdlkfj5]
作者: vprince    时间: 2007-1-26 12:09
这种思想是不是就是把一个大的脚本分成几个小的Action?
而当脚本出现问题时只要维护那小的Action??
这样更加规范,方便.

是否??
怎么操作我也有待研究了........thssdlkfj5
作者: Coffey111111    时间: 2007-1-26 15:31
学习麦子华华,学习~~
作者: kevin_swpi    时间: 2007-1-26 15:48
原帖由 vprince 于 2007-1-26 12:09 发表
这种思想是不是就是把一个大的脚本分成几个小的Action?
而当脚本出现问题时只要维护那小的Action??
这样更加规范,方便.

是否??
怎么操作我也有待研究了........thssdlkfj5


你的说法个人理解错了
不是分成几个小的action  我想脚本也没有大小action之分吧

是按照功能的不同来分成
将各个功能独立成脚本
然后根据需要再来设计可重复用或者作为副本

记得QTP_Tutorial上就有这样的一个例子

登陆(reusable)
顶票(copy of action)
注销(reusable)

可以去看一下那个例子应该就会明白了
作者: vprince    时间: 2007-1-26 15:57
标题: QTP_Tutorial
QTP_Tutorial哪找得到???
   见笑了sdlkfj3
作者: yhzmw    时间: 2007-1-31 16:30
原帖由 kissing 于 2006-9-28 11:02 发表
同意。。学到很多东西。。。

哈哈。我不知道你学了什么东西?
作者: aishary    时间: 2007-5-18 13:14
恩,是按照功能的不同来分成
将各个功能独立成脚本
然后根据需要再来设计可重复用或者作为副本
作者: alextowxm    时间: 2007-11-1 17:59
明白 就是这个原理
知道了
但是在做的每录一个action 保存一下
我感觉应该是这样
作者: jackymail    时间: 2007-11-2 09:41
除了xiaonan,我觉得其余的人似乎都不太明白QTP到底是什么。

过多地强调某种设计方法容易给初学者造成错觉。

还是怎样用的方便怎样用比较好。尤其现在的开发模型还不够成熟
作者: zhumingwei    时间: 2007-11-5 13:19
凡是说应该用Call the Existing Action的.我估计都没有真正调用过action.如果你真正调用过就知道其实Call the Existing Action也有很多不方便的地方.
这就像楼上说的,没有应该不应该,只有适合不适合.
作者: jaunty    时间: 2008-2-29 16:35
我不知道你们在做 resuable的时候 粒度是多少

我觉得按照功能模块分的话 其实他的reuse 性还不是很高
作为一个系统 它使用最频繁的也无疑是 Login和logout

----------------------------------------

我说一下我这边作的方式
我做的粒度会细化到 功能点。  什么叫功能点?
例如常用的增 删 改 查
它就是4个功能

假设 删除 和 修改 都需要从列表里选一条记录  然后再操作
那么删除功能 就是由  选中  和 确认删除 两个功能点组成
那么修改功能 就是由 选中 和 输入新数据 及 确认修改 三个功能点组成
--------------------------------------

这样的话 删除 功能就可以有 2个 小 action
修改功能就可以有3个小action

这里可以看到两者选中的action是同一个  所以我就可以只作一个action 然后 分别在两个功能里去call
确认删除和 确认修改  其实 action 也是相似的 就是点击button  提交数据。 我们可以把这个action也录成独立的,不同的功能里调用 只需要修改被操作对象属性就Ok了


这是我做的resuable

有什么问题 请多指教  欢迎讨论

[ 本帖最后由 jaunty 于 2008-2-29 16:37 编辑 ]
作者: pangge369    时间: 2008-2-29 16:58
如果有管理工具的话或许不要再组成一个新的ACTION,我们可以建立一个测试集,按照片顺序将各可用的脚本排列起来!(TD里可以实现)
作者: 任道远    时间: 2008-3-11 16:44
函数调用
作者: dsy851009    时间: 2008-8-6 17:47
看这种讨论性的文章就是舒服,比看书好多了。顶一个了!
作者: feier_y    时间: 2008-8-7 13:26
以前我也理解错了 reuseable ,不过现在还是不太明白啊
作者: ltp401128401128    时间: 2008-8-29 18:44
一个action一个功能测试点
作者: duzilonglove    时间: 2009-2-10 14:59
标题: 请教高手
看了你们的留言似乎有点感觉,所以想问一下,所谓的划分reuseable   action 的原则是不是就像程序设计时代模块化的原则,增加内聚;降低耦合??
作者: walker1020    时间: 2009-2-20 13:18
讨论比较充分 深入的帖子,放在精华区 供大家参考。




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