LR之集合点
1. 集合点的含义
当通过controller虚拟多个用户执行该脚本时。用户的启动或运行步骤不一定都是同步的。集合点是在脚本的某处设置一个标记。当有虚拟用户运行到这个标记处时,停下等待,直到所有的用户都达到这个标记处时,再一同进行下面的步骤,这样能够用最大的用户并发去做下面的操作,就像集合再前进一样。集合点之名由此而得。集合点主要用于对关键步骤的加压。
2.插入集合点的目的
集合点的用处对于LoadRunner来说意义非常大,它可以设置多个虚拟用户等待到一个点,同时触发一个事务,以达到模拟真实环境下同时多个用户操作,同时模拟负载,实现性能测试的最终目的。由此可见,插入集合点主要是为了衡量在加重负载的情况下服务器的性能情况,从而找到性能瓶颈。可以把集合点理解成是一种特殊情况下的并发。
举例如下:在客户的需求中,可能会要求系统能够承受1000人同时提交数据。在LoadRunner中可以通过在提交数据操作前面加入集合点,当虚拟用户运行到提交数据的集合点时,Loadrunner就会检查同时有多少用户运行到集合点,如果我们设定脚本运行的虚拟用户数为1000,等到这1000个虚拟用户都运行到集合点后,就会触发同时进行提交数据的操作,从而能够测试系统对于这1000个用户提交数据的响应情况,依此来看系统是否满足客户的该点需求。
3.集合点用于功能测试
集合点除了用于多用户并发操作对服务器施压的性能测试外,还可以用户系统的功能测试,而且这些功能测试都是手工测试所不能实现的,以下面的两种情况进行说明。
A. 用集合点测试编号生成策略:
被测系统为一个订单处理的准生产系统,在系统中形成订单的时候会自动生成订单编号,订单编号的生成规则是【日期+时间+4位随机数+2位编号】,如:20120311104924276201,系统中要保证所有生成的订单编号不能重复,而订单编号中关系编号是否重复的关键是“4位随机数”。现在系统的实际操作可能会出现同时有200个订单录入员提交订单,提交订单时会生成订单编号,要保证不会出现重复的编号,设计测试用例:在提交订单之前插入集合点,虚拟用户为200,运行脚本,运行结束后查看运行后提交的订单个数,然后查看订单编号是否有重复的情况;