51Testing软件测试论坛

标题: 到底什么是数据驱动? [打印本页]

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

[ 本帖最后由 lantianwei 于 2007-8-1 18:09 编辑 ]
作者: antsbee    时间: 2007-8-1 20:30
必须有数据来控制测试的业务流??
具体通过什么方法来控制? 希望解释下

本人菜鸟 麻烦了
作者: DERYCK    时间: 2007-8-1 22:58
顶~~!我又学到东西了~!
作者: vivian_zhuang    时间: 2007-8-1 23:00
下面这个连接,不防一看,本人空间上的关于数据驱动的,
http://www.51testing.com/?106666 ... e_itemid_15305.html
作者: dionysus    时间: 2007-8-1 23:22
QTP在关键字视图中可以做到方便的关键字驱动,我觉得这个就很适合一般测试人员使用。自动化框架解决的一部分问题就是如何让不懂脚本的人可以控制自动化工具,QTP和WR是比较典型的第三代测试工具和第二代测试工具。
我对数据驱动的真正应用还没有理解透,通过数据来控制动作?
作者: lantianwei    时间: 2007-8-2 09:06
标题: 回复 #4 vivian_zhuang 的帖子
您空间里关于数据驱动我觉得还是我上面说的高级的参数化。
作者: lantianwei    时间: 2007-8-2 09:08
标题: 回复 #5 dionysus 的帖子
数据驱动是可以控制业务流的,而关键字驱动是控制动作的。
作者: fengxueren    时间: 2007-8-8 17:21
我的理解就是,通过配置不同的数据来控制不同的业务流程

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

我们现在就是这么做的
作者: dionysus    时间: 2007-8-8 21:23
原帖由 fengxueren 于 2007-8-8 17:21 发表
我的理解就是,通过配置不同的数据来控制不同的业务流程

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

我们现在就是这么做的

能再详细的说一下么?
作者: fengxueren    时间: 2007-8-8 21:26
我们的做法就是,照着业务流程,按原子模块写一系列的函数,在函数中,对不通的参数做不同的分支处理。

对一系列的函数赋不通的参数,就可以组合出非常多的case
作者: dionysus    时间: 2007-8-8 22:09
原帖由 fengxueren 于 2007-8-8 21:26 发表
我们的做法就是,照着业务流程,按原子模块写一系列的函数,在函数中,对不通的参数做不同的分支处理。

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

是按被测程序的模块来分别写脚本么,之后通过一个主程序调用脚本以组合成不同的流程?
作者: lantianwei    时间: 2007-8-9 09:08
标题: 回复 #10 fengxueren 的帖子
呵呵 不错!
作者: fengxueren    时间: 2007-8-9 09:58
标题: 回复 #12 lantianwei 的帖子
呵呵,不过这随之带来的也是工作量的增大~~
这在某种意义上,已经相当于把开发的前台逻辑用脚本语言重新实现了一遍
作者: lantianwei    时间: 2007-8-9 10:03
那是肯定的,你做的越高级,前期的开发肯定是很大的。我前些日子实现一个关键字驱动,基本上就是把WR的基础脚本重写一下(但还是以WR本身的函数为基础),我只实现了一个很小的功能,就写了好多代码。sdlkfj5
作者: raymanan    时间: 2007-8-10 13:16
同意楼主的观点,期待高手给大家讲一下关键字驱动(或数据驱动)在实际项目中的应用.

[ 本帖最后由 raymanan 于 2007-8-10 21:49 编辑 ]
作者: loveclara    时间: 2007-8-23 17:40
还是看的不太懂啊。
作者: ytzfr    时间: 2007-8-27 15:27
好,顶下先
作者: cyz5566    时间: 2007-9-1 14:43
学习了。。。。
作者: cyz5566    时间: 2007-9-1 14:45
顶了那么久还是被扣光
他奶奶的。。。真他吗让人火大
作者: Banditu    时间: 2007-9-4 14:45
sdlkfj3 现在有少少明白数据驱动的含义了。通过传入的参数实现流程控制,谓之数字驱动,是吧?
但关键字驱动我还是不太明白。。
作者: lovetest6    时间: 2007-12-5 08:34
原帖由 lantianwei 于 2007-8-1 17:24 发表
最近听到一个高手跟我讲了数据驱动,这使我对数据驱动的理解完全改变了。
      什么是数据驱动呢?很大一部分人肯定认为数据驱动就是把需要参数化的东西写在EXCEL里,然后在跑脚本时调用。如果我告诉你,这其实不是 ...


高手的手越来越高了。
数据驱动,关键字驱动,决策表(表驱动) 分的清么?

楼主所遇到的高手想必把数据驱动和决策表搞混了。

数据驱动就是数据驱动,在决策表中发挥些作用罢了,除此之外,就是灌点数据,批量的检查一下交互的结果。
还有什么漏掉的么?
作者: 板砖    时间: 2007-12-5 09:51
纯理论争吵.
作者: 双面人    时间: 2007-12-6 10:31
高手真多
作者: bluewaves    时间: 2007-12-6 16:31
原帖由 lovetest6 于 2007-12-5 08:34 发表
数据驱动就是数据驱动,在决策表中发挥些作用罢了,除此之外,就是灌点数据, ...

作为菜鸟偶也就能体会到这步了。。。。。。
作者: zfylan    时间: 2007-12-12 17:15
这样就不错了,我还在混乱中呢!
作者: mythxhg    时间: 2007-12-13 14:25
我觉得参数化说明的是一种具体的动作,

参数化和数据驱动没有矛盾冲突.

数据驱动之不过是以驱动业务动作为目的的参数化而已.

一个强调目的,一个强调动作过程.

参数化可以做的不仅仅是数据驱动,还可以做很多其他东西,纯粹是赋予的目的不同而已.
作者: lvxjsheng0508    时间: 2008-9-12 09:47
现在有点明白了 。




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