|
|||||
![]() |
|||||
| 您现在的位置: 软件测试时代 >> 自动测试技术 >> Rational工具 >> 文章正文 |
|
|||||
| Robot进行数据库的并发测试 | |||||
作者:Spark.le… 文章来源:转自51 点击数: 更新时间:2006-12-12 ![]() |
|||||
|
第一步:创建演示程序:打开SQL SERVER查询分析器,在SQL SERVER测试数据库中执行下列脚本(脚本执行操作:创建表testtable,并插入一条记录;创建存储过程test): if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Test]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[Test] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[testtable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[testtable] GO CREATE TABLE [dbo].[testtable] ( [testid] [int] NULL , [counts] [int] NULL ) ON [PRIMARY] GO insert into testtable (testid,counts) values (1,0) GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO CREATE Procedure dbo.Test as declare @count int begin tran TEST select @count=counts from testtable where testid=1 update testtable set counts=@count+1 if (@@error >0) begin rollback tran TEST end else begin commit tran TEST end GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO 第二步:创建测试脚本:在Robot中新建VU脚本,输入以下内容: #include <VU.h> { push Timeout_scale = 200; /* Set timeouts to 200% of maximum response time */ push Think_def = "LR"; Min_tmout = 120000; /* Set minimum Timeout_val to 2 minutes */ push Timeout_val = Min_tmout; ser=sqlconnect("server","sa","888","192.168.0.99","sqlserver"); set Server_connection = ser; push Think_avg = 0; sync_point "logon"; sqlexec ["sql_1000"] "testdb..test"; sqldisconnect (ser); } 说明: ser=sqlconnect("server","sa","888","192.168.0.99","sqlserver") sa为数据库用户名,888为sa密码,192.168.0.99数据库IP地址 以上三项按实际的测试数据库设置更改,其他两项不用修改 sqlexec ["sql_1000"] "testdb..test" testdb为新建存储过程test所在的数据库,按实际的数据库修改 第三步:执行测试:运行上一步创建的脚本(运行时自动创建Suite),在Run Suite窗口中的“Number of users”上输入20。运行完脚本,打开数据库查看counts的数值。把counts值改为零多次运行脚本,观察每次运行后counts的结果。 测试说明 (1)、测试示例程序的目的是,存储过程test每执行一次,表testtable中的counts字段增加一; (2)、第三步的测试可以发现每次执行后counts结果并不相同,而且不等于20,这说明这个程序是在并发时是问题的。 (3)、将存储过程中的select @count=counts from testtable where testid=1修改为select @count=counts from test |
|||||
| 文章录入:working 责任编辑:seanhe | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 使用Robot连接SQL的例子 使用 Rational Robot 实现自… Rational 完成自动化功能测试 Rational Robot压力测试实例 Rational中的数据池(DATAPO… Rational Robot 常用语句 数据库输出HTML格式报表的测… |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 关于我们 | | |
| 版权所有(C) 2003-2006 测试时代 北京慧灵科技有限公司 站长:测试时代(TestAge.net) | |