时间:2014-10-31 15:52:19 来源: 复制分享
在测试过程中,经常遇到要大量造数据的情况。例如在测试统计受理日报的时候,要模拟各种受理的情况,有几种方法可以实现:
一、在受理界面真实做各种受理,如果数据量比较大的话,这个过程比较麻烦。
二、利用QTP的自动化脚本造测试数据,这个如果已经存在自动化的脚本,那么直接拿来用还好些,如果要重新录制的话,也不是一时半会就能造好的。
三、还有一个就是直接往数据库中写记录,那么你要知道数据库中要写哪些表,各个字段的含义等。
四、我是利用LoadRunner重复执行来造数据。
现在的业务实现都是分层的,前台界面受理后将业务属性打包发给后台服务,业务逻辑都是由后台完成的,所以我造数据也是从这里入手的,因接口文档都定义的比较完整,所以可以直接抛开前台,直接发送测试串给后台的服务来模拟业务过程。我们单独做后台的集成测试的时候就是这么做的,所以有现成的测试串,可以直接拿来用,省去了很多麻烦。
例如:
一个1860的请求串为:
<?xml version"1.0" encoding="GBK"?><operation_in type="struct">...<![CDATA[<?xml version="1.0" encoding="GBK"?><request type="struct">...<msisdn type="string">13333333333</msisdn>...</request>]]>...</operation_in>
其中msisdn为用户的手机号码,其余的内容是1860的受理业务属性,那么我们可以在LR中写这样的脚本:
web_submit_data("test186",
"Action=http://1.1.1.1:8080/fcgi-bin/Test_186",
"Method=POST",
"RecContentType=text/html",
"Referer=http://1.1.1.1:8080/fcgi-bin/Test_186",
"Mode=HTML",
ITEMDATA,
"Name=1860","Value=<?xml version"1.0" encoding="GBK"?><operation_in type="struct">...<![CDATA[<?xml version="1.0" encoding="GBK"?><request type="struct">...<msisdn type="string">{Msisdn}</msisdn>...</request>]]>...</operation_in>",ENDITEM,
LAST);
其中http://1.1.1.1:8080/fcgi-bin/Test_186为后台服务的请求地址,采用post方式发送数据,
msisdn为参数,由LR的参数列表中传入。这时只要在参数列表中设置好要受理的手机号码,例如有 100个号码,在run-time setting中设置要循环的次数100,那么很快就可以模拟出100个用户的受理情况了。当然受理业务的各个属性都可以参数化的。