漫游测试之性能测试(3.1、Loadrunner的介绍-3.1.3.5 lr_start_transaction和lr_end_transaction)
/* Notify that a transaction is starting */
lr_start_transaction("deposit");
/* Server API call */
status = bank_deposit(50);
/* End transaction with operation result - pass or fail */
if (status == 0)
lr_end_transaction("deposit", LR_PASS);
else
lr_end_transaction("deposit", LR_FAIL);
lr_start_transaction开始事务,lr_end_transaction结束事务。事务指某一种操作或者业务的开始到结束之间的操作,是性能测试中用来评估性能状况的基本单位。
比如,登录是一个事务,支付也是一个事务。一个事务,可以包括多个请求,也可以只有一个请求,请求的多少,完全依赖于业务。
lr_end_transaction有4个参数用来标识事务的状态,录制的请求默认是LR_AUTO。LR_AUTO是以HTTP返回码为200为标识该事务为成功的状态。
而LR_AUTO可能会导致误判,比如,一个正常的请求其返回的状态码为200,并且BODY内容为{"model":{"vehicle":{".....:
但是,我们使用Loadrunner不登录系统,直接模拟访问该请求,其返回的状态码是200,但是其数字内容就根本不正确了(如果判断事务是正确的返回,需要结合web_reg_find函数)。
所以,凡是事务出现LR_AUTO的脚本代码,其实质很可能是无效的代码。