51Testing软件测试论坛

标题: 关于数据库检查点 [打印本页]

作者: zhenhaiou    时间: 2005-2-25 15:38
标题: 关于数据库检查点
我想检查数据库中是否包含某个数据,用数据库检查点能实现么?
如何实现?
谢谢!
作者: QA_BAY    时间: 2005-2-26 15:41
Originally posted by zhenhaiou at 2005-2-25 03:38 PM:
我想检查数据库中是否包含某个数据,用数据库检查点能实现么?
如何实现?
谢谢!


这个问题提得好!
做软件测试经常会用到这个!
这个本人已经试过,可以实现!
按以下的思路可以实现!
1.把你想检查的数据用数据驱动放到EXECL表中,
然后在后面加入数据库检查点就可以了,
这样当读到EXECL表中的数据时,它就会跟数据库中的数据对比,
当脚本跑完时,你可以看到结果中的显示!
(搭建的过程有点复杂,值得去深入研究)
如果你这种做法成功的话,
那你就可以直接从数据库中调用数据,
这种更方便而且很有用!
不用自己输入数据这么麻烦!
以上是个人意见!
作者: zhenhaiou    时间: 2005-3-1 15:04
Originally posted by QA_BAY at 2005-2-26 03:41 PM:

这个问题提得好!
做软件测试经常会用到这个!
这个本人已经试过,可以实现!
按以下的思路可以实现!
1.把你想检查的数据用数据驱动放到EXECL表中,
然后在后面加入数据库检查点就可以了,
这样当读到EXECL表中的数据时,它就会跟数据库中的数据对比,
当脚本跑完时,你可以看到结果中的显示!
(搭建的过程有点复杂,值得去深入研究)
如果你这种做法成功的话,
那你就可以直接从数据库中调用数据,
这种更方便而且很有用!
不用自己输入数据这么麻烦!

如果每次执行时,要检查的数据都是不固定的,而是前边的步骤产生的数据,又怎么能做成数据驱动呢?

另外,数据库检查点可以检查数据驱动表中的数据么??
作者: QA_BAY    时间: 2005-3-1 15:12
如果每次执行时,要检查的数据都是不固定的,而是前边的步骤产生的数据,又怎么能做成数据驱动呢?

另外,数据库检查点可以检查数据驱动表中的数据么??

1)如果是前边的步骤产生的数据,那就不要用数据驱动了,你可以用一个FUNCTION就可以了,而这个FUNCTION要根据你录制的脚本而定.
2)我所说的就是你可以放一些随机数到数据驱动的EXECL表里面,然后跟数据库里面的数据作对比.
作者: zhenhaiou    时间: 2005-3-1 15:30
还是不太清楚

1)比如某个步骤产生了数据x,要检查这个数据在数据库a中是否存在,这个function要实现什么功能?模拟数据库检查点??
2)是不是说直接对比两个数据表?
作者: QA_BAY    时间: 2005-3-1 15:38
Originally posted by zhenhaiou at 2005-3-1 03:30 PM:
还是不太清楚

1)比如某个步骤产生了数据x,要检查这个数据在数据库a中是否存在,这个function要实现什么功能?模拟数据库检查点??
2)是不是说直接对比两个数据表?

1)FUNCTION是自己写一条TSL或者加一条自己可以读取数据X,因为你的数据是不停的在变的,所以需要把它变成变量的形式.
2)不是,把变量里的数据跟数据库里的作对比!
作者: zhenhaiou    时间: 2005-3-1 15:42
呵呵,原来是我没说清楚
现在我是已经取到这个值了,就是不知道怎么把变量里的数据跟数据库里的进行对比。
作者: QA_BAY    时间: 2005-3-1 15:50
我记得以前有回过别人这样的贴,你查找一下吧.
都很久了,我差不多都忘了是什么贴了.
作者: zhenhaiou    时间: 2005-3-1 15:54
哦,好吧,
谢谢
作者: 飘雪    时间: 2005-3-1 17:10
插入带参数的数据苦检测点:
db_check("list2.cdl", "dbvf2", NO_LIMIT, dbvf2_params);
初始化参数:dbvf2_params[1] = "ASP008"
在Update mode模式下运行,可以运行成功,但是查看测试结果不正确,请问知道我那设置的不正确吗?详细信息见附件:
作者: ctisy    时间: 2005-3-1 20:37
实际值和期望值都无效,看看数据是否有问题
作者: 飘雪    时间: 2005-3-3 16:36
1、插入不带参数的数据库检查点:db_check("list1.cdl", "dbvf1");运行测试脚本,可以看到检测结果。
2、插入带参数的数据库检测点:
dbvf2_params[1] = "admin";#数据库中存在值“admin”
db_check("list2.cdl", "dbvf2", NO_LIMIT, dbvf2_params);运行时出错信息见上贴,插入检测点的sql语句为:select dim_user.user_name,dim_user.user_id,dim_user.org_id from dim_user where dim_user.user_name=?
请问,我什么地方写错了?谢谢!
作者: 飘雪    时间: 2005-3-3 17:24
在update run mode  模式下运行该脚本,问题解决
作者: QA_BAY    时间: 2005-3-4 11:29
db_check ( checklist, expected_results_file [ , max_rows [
, parameter_array ] ] );
帮助中的可以查到答案,
max_rows:
The maximum number of rows retrieved in a database. If no maximum is specified, then by default the number of rows is not limited. If you change this parameter in a db_check statement recorded in your test script, you must run the test in Update mode before you run it in Verify mode.
作者: yjb    时间: 2005-8-29 11:13
Originally posted by 飘雪 at 2005-3-3 04:36 PM:
1、插入不带参数的数据库检查点:db_check("list1.cdl", "dbvf1");运行测试脚本,可以看到检测结果。
2、插入带参数的数据库检测点:
dbvf2_params[1] = "admin";#数据库中存在 ...


我也是遇到这样的问题?把RowsCount 的预期值设为1,实际值总是Cannot Capture,如果在update模式下运行,会将预期值改为Cannot Capture,再次运行时不会报错,但是预期值和实际值都是Cannot Capture,这样就失去了检查点的意义了,希望高手解答。
作者: yjb    时间: 2005-8-29 11:15
Originally posted by QA_BAY at 2005-3-4 11:29 AM:
db_check ( checklist, expected_results_file [ , max_rows [
, parameter_array ] ] );
帮助中的可以查到答案,
max_rows:
The maximum number of rows retrieved in a database. If no maximum is specif ...

max_rows 和结果中的预期值有什么关系?如果没有关系的话我并没有修改 max_rows 应该不需要在update下运行以便呀
作者: yjb    时间: 2005-8-29 15:39
update的作用是取预期值,如果我用的是数据驱动,那么预期值是最后一条记录的,再开始执行时预期值与实际值肯定不同,这个问题如何解决呢?
作者: Mary-luckly    时间: 2006-7-26 10:03
唉,看了这么久,都遇到过相同的问题!我还没有前进!
作者: zhmxia    时间: 2006-8-11 11:11
防撒旦发生答复大师傅
作者: zhmxia    时间: 2006-8-11 11:11
热望特
作者: dyq    时间: 2007-7-1 15:36
好好学一下,不错阿




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