手工测试与LR的关系
1.测试人员→LR的Virtual User
虚拟用户实现原理:VU Script+runtime setting
2.测试指挥→LR的Controller
负责生成性能测试场景(设定负载方案、业务流程组合和虚拟用户数)
3.Analysis
对数据进行整合,分析它们之间的关系,并以图表形式呈现出来。
性能测试就是一场演出,需要导演(Controller)、演员(Vuser)、剧本(性能测试场景Scene)
导演还要收集观众的反馈信息(联机监测),分析(Analysis)确认本次演出是否成功(性能需求是否达到指标)
LR的工作原理如下:
1.运行Controller,启动性能测试
2.虚拟用户被“激活”,模拟真实用户向被测系统发送请求
3.Controller通过monitor实时捕获系统所有层面,包括服务器、网络资源的性能数据并显示在Controller上
4.执行结果存在数据库里,可通过Analysis生成报告关进行测试结果数据分析
LR的License
Global :只要不超过VUSER总数,可运行任意类型(协议方面的限制)的Vuser
通常情况下,Controller使用驱动程序mdrv运行Vuser,mdrv.exe可以驱动50个线程或一个进程。
同一个测试场景,用线程并发会出现超时或摄氏,用进程并发就没错;因为纯种的资源是从进程资源中分配出来的,因此一个进程中的多个线程会有共享的内存空间,这样可能会引起多个线程的同步问题,调度不好就会出错。
LR的录制原理:
1.协议选择:以客户端与其直接连接的Server通信方式为准;匹配原则由高协议到低协议
2.录制技术:主要是通Proxy方式来实现的,用户在操作客户端时,Vugen会捕获客户端与服务器之间的网络传输数据,然后对其数据包进行拆包。Vugen只记录网络通信事件,有网络交互发生就生成脚本,无则会生成一个空脚本
Socket 协议是一切应用层协议的基础,对于Vugen不支持的应用层协议,只能通过Socket层次来录制。
--via<性能测试从零开始>