利用Rational Robot进行压力测试实例
上一篇 /
下一篇 2007-10-08 16:50:00
/ 个人分类:开发技术
第一步:设置Robot
Robot――Tools――Session Record options,Method选择API Recorder,Generater Filtering中Filtering选择Auto filtering,Select protocols只选择Socket;
第二步:录制VU脚本
在启动的Start Application窗口中,Executable输入被测程序的客户端程序的路径和文件名,Working Directory中输入被测程序的工作路径,Program Arguments如果没有就空着。被测程序程序启动后,执行需要的操作然后关闭程序,停止录制脚本,Robot会自动生成脚本。
脚本示例:
以下是引用片段: #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; SERVER = sock_connect("123001", "SERVER:2000"); { INFO SERVER "SERVER"="192.168.1.12"; } /*1*/ set Server_connection = SERVER; push Think_avg = 0; sock_send "`45645651300000000001cc00f701000002000000c3330100000000000000000001000000" "00000000000sdgsdfgfhjghjjdfhjhkjgfhjgfjjk000000000000hh0000000000000000000000" "000000000000000000000000000000000000000000000100`g2222`0012313546545465431" "`45641313000000000000000000000000000000000000`"; sock_nrecv ["123002"] 200; sock_send "`1321321656548745215599154654456546122132112313210000000000000001000000" "00000000021321215665654548879654654655562000000000000000000000000000000" "00000000000000000000000000000000000000000000012131132321213212111323213" "`123110000000`Z2"; sock_recv ["123003"] "$"; /* 50 bytes */ sock_disconnect(SERVER); pop [Think_def, Think_avg, Timeout_val, Timeout_scale]; } |
这个脚本如果不能正确回放,可以将将sock_recv ["123003"] "$"; /* 50 bytes */改为sock_nrecv ["123003"] 50; /* 50 bytes */
第三步:设置Suite,回放脚本
回放录制的脚本,Testmanager会自动创建Suite,如下所示:[attachment=1786]
默认脚本运行一次,为了长时间运行,修改增加脚本的运行次数(最大32767),在Run properties中Iterations中设置。然后运行Suite,在Run Suite窗口中的“Number of users”上输入虚拟用户数,如200。
第四步:观察被测服务程序的运行情况,查看有无异常。
压力测试需要连续、高负载运行不少于72小时,运行完成服务程序需要无资源泄漏、无报错、无异常退出以及其他不正常情况。
数据库并发测试
数据库并发测试的必要性:
1、 与数据库连接的服务程序采用多线程同时开启多个数据库连接;
2、 与数据库连接的服务程序单线程,但是同时开启多套服务程序;
以上两种情况均会产生对数据库的并发访问操作。数据库并发访问会导致数据库数据错误、数据库死锁等故障,需要在测试阶段进行充分测试
导入论坛
引用链接
收藏
分享给好友
管理
举报
TAG: