51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9822|回复: 25
打印 上一主题 下一主题

[讨论] 单个的Action "的设计原则是什么,能举例说明吗

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-9-28 10:32:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
设计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
放在上面精华贴没人恢复,在这看看
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-9-28 10:59:30 | 只看该作者
说实话,这个问题问的太大,让人很难回答.更何况针对每个程序每个用例可能录制的情况是不同的.这不是什么数学公式,一定要怎样的
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-9-28 11:02:09 | 只看该作者
同意。。学到很多东西。。。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2015-4-23 14:35
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
    发表于 2006-9-28 15:49:19 | 只看该作者
    单个的action,易于维护和调用,帮助文档中有些相关的资料
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2006-9-29 09:28:27 | 只看该作者
    类似于程序开发中模块的设计原则,单个的Action的设计原则是:每个Action都能实现一定的功能,Action间的耦合度要低。不知道是否正确? 个人意见,仅供参考!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2006-9-29 10:22:09 | 只看该作者
    将一组相关的case做成一个action
    每个action的初始环境都一样
    不管case pass 还是fail,action结束的时候都应该恢复到初始环境
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2006-9-29 15:26:38 | 只看该作者
    LZ说 : “我现在的做法就是把单个的Action 都设计成Reuseable action, 然后 把他们串连(Insert Call the Copy of Action)起来”
    难道你们都是用的 Insert Call the Copy of Action 吗?这样你如何维护这个Action,实际上多个独立的Action了,应该用Call the Existing Action, 这样只需要维护一个Action了。

    可能是搂着笔误了?呵呵,我来修正以下,以免给其他人误解。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2006-9-29 17:08:10 | 只看该作者
    原帖由 麦子华华 于 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。 麦子华华 说的对,是我写错了。 麦子华华 真细心,测试人员就应该有这样仔细认真的态度。 谢谢 麦子华华 !
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2006-9-30 15:18:51 | 只看该作者
    嘿嘿,又对了一次 [sdlkfj5]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-1-26 12:09:34 | 只看该作者
    这种思想是不是就是把一个大的脚本分成几个小的Action?
    而当脚本出现问题时只要维护那小的Action??
    这样更加规范,方便.

    是否??
    怎么操作我也有待研究了........thssdlkfj5
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-1-26 15:31:14 | 只看该作者
    学习麦子华华,学习~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-1-26 15:48:24 | 只看该作者
    原帖由 vprince 于 2007-1-26 12:09 发表
    这种思想是不是就是把一个大的脚本分成几个小的Action?
    而当脚本出现问题时只要维护那小的Action??
    这样更加规范,方便.

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


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

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

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

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

    可以去看一下那个例子应该就会明白了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-1-26 15:57:51 | 只看该作者

    QTP_Tutorial

    QTP_Tutorial哪找得到???
       见笑了sdlkfj3
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-1-31 16:30:53 | 只看该作者
    原帖由 kissing 于 2006-9-28 11:02 发表
    同意。。学到很多东西。。。

    哈哈。我不知道你学了什么东西?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-5-18 13:14:30 | 只看该作者
    恩,是按照功能的不同来分成
    将各个功能独立成脚本
    然后根据需要再来设计可重复用或者作为副本
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2007-11-1 17:59:01 | 只看该作者
    明白 就是这个原理
    知道了
    但是在做的每录一个action 保存一下
    我感觉应该是这样
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2007-11-2 09:41:55 | 只看该作者
    除了xiaonan,我觉得其余的人似乎都不太明白QTP到底是什么。

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

    还是怎样用的方便怎样用比较好。尤其现在的开发模型还不够成熟
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2007-11-5 13:19:46 | 只看该作者
    凡是说应该用Call the Existing Action的.我估计都没有真正调用过action.如果你真正调用过就知道其实Call the Existing Action也有很多不方便的地方.
    这就像楼上说的,没有应该不应该,只有适合不适合.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2008-2-29 16:35:44 | 只看该作者
    我不知道你们在做 resuable的时候 粒度是多少

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

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

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

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

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

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


    这是我做的resuable

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

    [ 本帖最后由 jaunty 于 2008-2-29 16:37 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2008-2-29 16:58:35 | 只看该作者
    如果有管理工具的话或许不要再组成一个新的ACTION,我们可以建立一个测试集,按照片顺序将各可用的脚本排列起来!(TD里可以实现)
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 23:46 , Processed in 0.122347 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表