51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6035|回复: 33
打印 上一主题 下一主题

[原创] Data Table 和测试架构的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-28 13:05:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
假设我有三个test script: Test_Main, Test_Create, Test_Modify, Test_Delete

其中Test Main是主控程序,用它来调用Test_Create, Test_Modify, Test_Delete
我想在Test Main中存放Test_Create, Test_Modify, Test_Delete用到的所有参数,比如定单号码OrderNo。

我的问题是:
1)Test_Main中除了Globle 和local 的Data sheet外,还可以再加自己想加的表么
2)假如我在Test_Main的Locat table中定义了这个Test_Create, Test_Modify, Test_Delete中都需要用到的订单号码
   怎么应用它呢?比如说在Test_Create中?

谢谢

[ 本帖最后由 vaguely 于 2007-8-31 18:26 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

34#
 楼主| 发表于 2007-9-4 11:18:14 | 只看该作者
谢谢楼上各位的热心回答,现在我要去实践拉sdlkfj6
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    33#
    发表于 2007-9-4 09:46:10 | 只看该作者
    不同的项目,有不同的要求,因此有自动化测试框架是合理的,也是必然的。我说的方法只是根据我的实践和理解给你提供的建议,
    至于具体适合你,只有靠你去实践了。就像我的签名说的那样:“实践是检验真理的唯一标准”。我不了解你的具体情况,所以还是靠你在
    实践中去检验哪种方法最适合你,找到合适的方法。

    另外,内容相对于形式来说,内容是最重要的,千万不要为了形式而全部使用 Action或 Function。个人建议,仅供参考。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32#
    发表于 2007-9-4 09:08:36 | 只看该作者
    方法多种多样,不一定别人说的就一定是最适合你的,上面几个高手说的方法我基本都实践过,最后我的大量脚本还是使用的最原始的方法,就是8楼的兄弟说的使用外部EXCEL。原因就是我的脚本有时并不是我自己来跑,别人也要用,自己搞复杂了,人家难理解。具体情况具体分析,别太死。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    31#
    发表于 2007-9-4 00:49:29 | 只看该作者
    虚心向你学习。分享点资料啥的给我看看阿。。。。发邮件,即时消息,来电来函均可。。。期待·!!
    楼主关于数组的问题你要是有疑问我不知道该怎么解释了。数组就是excel和数据库的鼻祖。。。我觉得。呵呵。我只是提供一种存储数据的方法。


    原帖由 yabest 于 2007-9-4 00:41 发表


    测试脚本不管是写在Action里还是写在Function里,都可以一样的使用OR的,不是说写在函数里就不能使用OR了。
    我们的OR是Shared模式的,整个Test里的全部Action都使用同一个Shared模式OR。不是使用Per-Actio ...

    [ 本帖最后由 jackymail 于 2010-4-27 15:26 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    30#
    发表于 2007-9-4 00:41:03 | 只看该作者
    原帖由 vaguely 于 2007-9-3 23:45 发表
    TO walker1020 (walker)

    "没有必要把所有的脚本都写在函数里面,特别是那些只会运行一次的脚本。我们目前的主要做法是: 与Object Repository有关联的内容都放在了脚本里面,否则就写在Function里面放在了 公共的VBS文件里"
    谢谢您的回答,不过我觉得这样做有点不统一:)

    To yabest :
    还没有看到您的回答,但我印象中,您是尽量不用DP的。所以很想知道您是怎么处理函数和OR的关系的



    测试脚本不管是写在Action里还是写在Function里,都可以一样的使用OR的,不是说写在函数里就不能使用OR了。
    我们的OR是Shared模式的,整个Test里的全部Action都使用同一个Shared模式OR。不是使用Per-Action模式OR。
    OR是被测软件的映像,每个OR文件对应每个被测软件的每个版本,比如 NMS_V1.0.tsr, OSS_V2.0.tsr
    你要测试哪个系统,就把对应的OR文件载入,然后所有Action和Function里的脚本,都可以使用这个OR文件,来操作被测软件了。

    [ 本帖最后由 yabest 于 2007-9-4 00:44 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29#
     楼主| 发表于 2007-9-3 23:45:52 | 只看该作者
    TO walker1020 (walker)
    "没有必要把所有的脚本都写在函数里面,特别是那些只会运行一次的脚本。我们目前的主要做法是: 与Object Repository有关联的内容都放在了脚本里面,否则就写在Function里面放在了 公共的VBS文件里"
    谢谢您的回答,不过我觉得这样做有点不统一:)

    To yabest :
    还没有看到您的回答,但我印象中,您是尽量不用DP的。所以很想知道您是怎么处理函数和OR的关系的

    To jackymail :
    谢谢回答。但是我也没看看懂。请问
    每个action数组中的值是什么意思呢?是代表不同的功能么?

    我也准备用Firefox做测试,如果可以,请您给我一个msn,我们可以讨论。谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28#
    发表于 2007-9-3 23:02:01 | 只看该作者
    有经验的人往往不愿意分享他们全部的东西,比如firefox在qtp中如何被支持,我问了好几天都没有人回答,回答了也只是说:能用。


    关于你的问题我没有太看明白,给你个建议:
    可以声明数组:
    dim action1(3)
    dim action2(5)
    dim action3(2)
    action1(0)="liang"
    action1(1)="guo"
    action....
    action3(1)="finish"
    把这个段保存到一个vbs里面,也就是qtp的library里面,然后在需要使用的地方通过option->test settings->resouces关联一下就可以直接使用了。
    他们所说的object repository是所有action用到的对象的汇总。汇总的文件tsr需要关联到各个使用的action里面。

    原帖由 vaguely 于 2007-9-3 20:16 发表
    不好意思,还想继续请教yabest 和walker1020


    "呵呵,我们的框架里,脚本都写在函数里面"
    这样的话,除非是全部用DP, 否则和各个具体TEST CASE关联的OBJECT DEPOSITORY怎么包含进去呢?
    我很困惑。

    谢谢

    [ 本帖最后由 jackymail 于 2007-9-3 23:09 编辑 ]
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    27#
    发表于 2007-9-3 22:54:49 | 只看该作者

    To vaguely

    1, 没有必要把所有的脚本都写在函数里面,特别是那些只会运行一次的脚本。我们目前的主要做法是: 与Object Repository有关联的内容都放在了脚本里面,否则就写在Function里面放在了 公共的VBS文件里面。
    2,在Action里面也可以写Function。既然在 Action里面可以使用Object Repository相关联的对象及其操作,那么从理论上来说,在ExpertView里写的 Function 也可以使用Object Repository里的对象及其操作。 这一点尚待验证。
    3,考虑到GUI的变化,有些Test Case全部是用描述性编程的语句来写的,因此 它们就都是由函数来组成的了。

    [ 本帖最后由 walker1020 于 2007-9-3 22:56 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    26#
     楼主| 发表于 2007-9-3 20:16:45 | 只看该作者
    不好意思,还想继续请教yabest 和walker1020


    "呵呵,我们的框架里,脚本都写在函数里面"
    这样的话,除非是全部用DP, 否则和各个具体TEST CASE关联的OBJECT DEPOSITORY怎么包含进去呢?
    我很困惑。

    谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    25#
     楼主| 发表于 2007-9-3 11:19:54 | 只看该作者
    非常感谢yabest 和walker1020 !!!
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    24#
    发表于 2007-9-1 22:34:36 | 只看该作者
    目前我们的自动化测试框架和 yabest  说的差不多。我想楼主可以借鉴一下yabest 的做法,根据你的实际情况,搭建合适的框架。
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    23#
    发表于 2007-9-1 22:33:09 | 只看该作者

    To vaguely

    不要有什么顾虑。既然是搞测试的,那么你可以大胆地去尝试、去测试呀,即使是错了,你也可以去改呀。这样你就知道此方法不能用,换一种方法就可以了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22#
    发表于 2007-9-1 02:20:23 | 只看该作者
    呵呵,我们的框架里,脚本都写在函数里面,函数分层,包括Case函数层、业务函数层、基本函数层。

    参数都是由Case函数来读取,并通过函数参数传给各个业务函数和基本函数。

    参数都是存储在一个外部Excel文件里,这个Excel文件里包括整个模块的Case列表信息和各个Case的参数信息。
    用户在里面选择要运行的Case和这些Case的参数。

    运行时用ImportSheet将这外部Excel文件导入QTP里,然后Case函数通过一个Get_Param函数来搜索这个参数sheet,得到各个参数的值。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
     楼主| 发表于 2007-8-31 18:25:42 | 只看该作者
    再顶一下

    高手们可能都用QTP从事测试很长时间,有了很多心得了。
    但是像我们这些刚刚学习的小虾米,搭建测试的构架的时候还是有很多的顾虑的。

    所以非常想得到大家的指点:
    你们是怎么控制你们那么多的TEST CASES的?从MAIN TEST的MAIN ACTION调用?
    Test cases list放在data table中?

    还是写成了FUNCTION还控制TEST CASES?
    每个TEST CASES是QTP TEST还是vbs function?

    大家可不可以在继续谈谈亚? 谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2007-8-30 17:12:11 | 只看该作者
    没人回答么?sdlkfj1
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2007-8-30 11:02:41 | 只看该作者
    有点明白了,是不是把test_create,test_modify, test_delete中的变量都放到
    test_main的函数中?

    运行的时候,首先是test_main, 然后调用函数得到这些变量,再把它们传递到
    test_create,test_modify, test_delete。

    可是如果变量很多,还有例如用到了array这样的话,怎么办呢?谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2007-8-30 09:16:23 | 只看该作者
    原帖由 vaguely 于 2007-8-29 15:47 发表
    请问yabest怎么用Function/Library呢?
    能否给我一个具体的简单的例子呢? 多谢!sdlkfj5


    如果你想“共享”的参数数量不多,完全可以在Test main中编写函数来实现

    Test Main
       Call MyLib(Para1,Para2,Para3)

    Function MyLib(para1,para2,para3)
        Action可以完成的事,这里都可以完成
    End Function
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2007-8-30 09:04:05 | 只看该作者
    呵呵,学习......
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2007-8-29 15:47:26 | 只看该作者
    请问yabest怎么用Function/Library呢?
    能否给我一个具体的简单的例子呢? 多谢!sdlkfj5
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 17:04 , Processed in 0.095115 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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