51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 26936|回复: 26
打印 上一主题 下一主题

到底什么是数据驱动?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-1 17:24:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近听到一个高手跟我讲了数据驱动,这使我对数据驱动的理解完全改变了。
      什么是数据驱动呢?很大一部分人肯定认为数据驱动就是把需要参数化的东西写在EXCEL里,然后在跑脚本时调用。如果我告诉你,这其实不是数据驱动,而只是较高级的参数化,你肯定会很惊讶!现在我来解释一下:首先为什么叫数据驱动呢,那么它肯定有驱动的含义,比如你用EXCEL可以控制测试的业务流吗?回答是不能的。那又如何作到驱动呢?所以说我们将测试数据放在独立的文件里只是高级的参数话。而数据驱动,你必须有数据来控制测试的业务流。比如你测一个WEB程序,有很多页面,你可以通过一个数据来控制每次是再哪个页面下工作的(即通过数据来导航到相应的页面)。它是关键字驱动的低级版本,他控制的是函数级的,而关键字是控制动作级的。所以数据驱动应该是可以控制整个测试的。
      如有不同意见,欢迎发表看法!

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

使用道具 举报

该用户从未签到

2#
发表于 2007-8-1 20:30:52 | 只看该作者
必须有数据来控制测试的业务流??
具体通过什么方法来控制? 希望解释下

本人菜鸟 麻烦了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-8-1 22:58:35 | 只看该作者
顶~~!我又学到东西了~!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-8-1 23:00:41 | 只看该作者
下面这个连接,不防一看,本人空间上的关于数据驱动的,
http://www.51testing.com/?106666 ... e_itemid_15305.html
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-8-1 23:22:54 | 只看该作者
QTP在关键字视图中可以做到方便的关键字驱动,我觉得这个就很适合一般测试人员使用。自动化框架解决的一部分问题就是如何让不懂脚本的人可以控制自动化工具,QTP和WR是比较典型的第三代测试工具和第二代测试工具。
我对数据驱动的真正应用还没有理解透,通过数据来控制动作?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-8-2 09:06:40 | 只看该作者

回复 #4 vivian_zhuang 的帖子

您空间里关于数据驱动我觉得还是我上面说的高级的参数化。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-8-2 09:08:22 | 只看该作者

回复 #5 dionysus 的帖子

数据驱动是可以控制业务流的,而关键字驱动是控制动作的。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-8-8 17:21:59 | 只看该作者
我的理解就是,通过配置不同的数据来控制不同的业务流程

测试人员通过配置不同的测试数据,来跑同一个winrunner脚本来实现流程,模块的覆盖

我们现在就是这么做的
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-8-8 21:23:09 | 只看该作者
原帖由 fengxueren 于 2007-8-8 17:21 发表
我的理解就是,通过配置不同的数据来控制不同的业务流程

测试人员通过配置不同的测试数据,来跑同一个winrunner脚本来实现流程,模块的覆盖

我们现在就是这么做的

能再详细的说一下么?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-8-8 21:26:19 | 只看该作者
我们的做法就是,照着业务流程,按原子模块写一系列的函数,在函数中,对不通的参数做不同的分支处理。

对一系列的函数赋不通的参数,就可以组合出非常多的case
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-8-8 22:09:59 | 只看该作者
原帖由 fengxueren 于 2007-8-8 21:26 发表
我们的做法就是,照着业务流程,按原子模块写一系列的函数,在函数中,对不通的参数做不同的分支处理。

对一系列的函数赋不通的参数,就可以组合出非常多的case

是按被测程序的模块来分别写脚本么,之后通过一个主程序调用脚本以组合成不同的流程?
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-8-9 09:08:00 | 只看该作者

回复 #10 fengxueren 的帖子

呵呵 不错!
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-8-9 09:58:02 | 只看该作者

回复 #12 lantianwei 的帖子

呵呵,不过这随之带来的也是工作量的增大~~
这在某种意义上,已经相当于把开发的前台逻辑用脚本语言重新实现了一遍
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2007-8-9 10:03:06 | 只看该作者
那是肯定的,你做的越高级,前期的开发肯定是很大的。我前些日子实现一个关键字驱动,基本上就是把WR的基础脚本重写一下(但还是以WR本身的函数为基础),我只实现了一个很小的功能,就写了好多代码。sdlkfj5
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-8-10 13:16:13 | 只看该作者
同意楼主的观点,期待高手给大家讲一下关键字驱动(或数据驱动)在实际项目中的应用.

[ 本帖最后由 raymanan 于 2007-8-10 21:49 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-8-23 17:40:58 | 只看该作者
还是看的不太懂啊。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-8-27 15:27:14 | 只看该作者
好,顶下先
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-9-1 14:43:48 | 只看该作者
学习了。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2007-9-1 14:45:14 | 只看该作者
顶了那么久还是被扣光
他奶奶的。。。真他吗让人火大
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2007-9-4 14:45:14 | 只看该作者
sdlkfj3 现在有少少明白数据驱动的含义了。通过传入的参数实现流程控制,谓之数字驱动,是吧?
但关键字驱动我还是不太明白。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 00:39 , Processed in 0.082414 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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