当前位置:文档之家› 软件高级性能测试培训课程八

软件高级性能测试培训课程八


LoadRunner在性能测试中的应用
• Web service ✓ Web service是什么 ✓ Web service脚本特点
LoadRunner在性能测试中的应用
• Web service是什么 ✓ Web service 就是一个应用程序,它向外界暴
露出一个能够通过Web进行调用的API ✓ SOAP是一种简单基于xml的轻量协议,用户
使用 403 Forbidden //服务器收到请求,但是拒绝提供服务 404 Not Found //请求资源不存在,eg:输入了错误的 URL 500 Internal Server Error //服务器发生不可预期的 错误 503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
LoadRunner在性能测试中的应用
• VU-generator(三)——如何参数化
LoadRunner在性能测试中的应用
• VU-generator(三)——参数属性列表
LoadRunner在性能测试中的应用
• VU-generator(四)——关联 ✓ 自动关联 ✓ 手动关联
LoadRunner在性能测试中的应用
LoadRunner在性能测试中的应用
• VU-generator(一)——录制/回放脚本 ✓ 回放脚本
LoadRunner在性能测试中的应用
• 背景知识——http到底是个什么鬼 ✓ 协议所在层级 ✓ http请求模型 ✓ http工作原理 ✓ 请求——响应完整流程 ✓ http的请求和响应 ✓ http与LoadRunner ✓ http与报文格式 ✓ http特性
• Web service脚本——如何录制 ✓ Management service ✓ Import service ✓ Add service call
LoadRunner在性能测试中的应用
• Web service脚本核心函数 ✓ web_service的应用
• http响应格式——响应头、响应体(请求正文)
LoadRunner在性能测试中的应用
• http响应状态
状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 1xx:指示信息--表示请求已接收,继续处理 2xx:成功--表示请求已被成功接收、理解、接受 3xx:重定向--要完成请求必须进行更进一步的操作 4xx:客户端错误--请求有语法错误或请求无法实现 5xx:服务器端错误--服务器未能实现合法的请 求 常见状态代码、状态描述、说明: 200 OK //客户端请求成功 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起
LoadRunner在性能测试中的应用
• Windows Socket脚本核心函数 ✓ lrs_create_socket——建立套接字连接 ✓ lrs_send——发送buffer ✓ lrs_receive——接收buffer ✓ lrs_close_socket——关闭套接字连接
LoadRunner在性能测试中的应用
一个包的大小 ✓ lrs_save_searched_string——socket的主要关
联函数
LoadRunner在性能测试中的应用
• Windows Socket其他注意事项 ✓ 发送报文的长度如果变化会导致发送失败 ✓ 接收报文的长度如果变化会导致mismatch等待
时机过长 ✓ 需要对localhost进行参数化
LoadRunner在性能测试中的应用
• http所在协议层——HTTP是基于TCP协议之上的。在 TCP/IP协议参考模型的各层对应的协议如下图,其中HTTP 是应用层
LoadRunner在性能测试中的应用
• http请求响应模型
LoadRunner在性能测试中的应用
•http工作原理 1、地址解析 2、封装HTTP请求数包 3、封装成TCP包,建立TCP连接(TCP的三次握手) 4、客户机发送请求命令 5、服务器响应 6、服务器关闭TCP连接(例外: Connection:keep-alive)
LoadRunner在性能测试中的应用
• http常见请求方法 • 1、get • 2、post • 3、put • 4、delete • 5、head • 6、options • 7、trace
LoadRunner在性能测试中的应用
• http请求报文格式——请求行、请求头、请求体(请求正 文)
• VU-generator(七)——脚本结构优化 ✓ 删除多余的无效的URL跳转 ✓ 设置合适的thinktime ✓ 使脚本行为更符合真实用户行为
LoadRunner在性能测试中的应用
• VU-generator(七)——脚本结构优化
LoadRunner在性能测试中的应用
• 其他类型脚本介绍 ✓ Windows Socket ✓ Web Service ✓ Tuxedo ✓ Oracle(2-Tier) ✓ POP3&SMTP ✓C ✓ Java
• VU-generator(四)——自动关联
LoadRunner在性能测试中的应用
• VU-generator(四)——手动关联 ✓ web_reg_save_param ✓ web_reg_save_param_ex ✓ 二者区别在于web_reg_save_param_ex可以使用正则表
达式,可以完全替代web_reg_save_param
LoadRunner在性能测试中的应用
•请求——响应完整流程: 客户机发起一次请求的时候:
客户机会将请求封装成http数据包-->封装成Tcp数据包--> 封装成Ip数据包--->封装成数据帧--->硬件将帧数据转换成 bit流(二进制数据)-->最后通过物理硬件(网卡芯片)发 送到指定地点。
服务器硬件首先收到bit流....... 然后转换成ip数据包。于是通 过ip协议解析Ip数据包,然后又发现里面是tcp数据包,就通 过tcp协议解析Tcp数据包,接着发现是http数据包通过http 协议再解析http数据包得到数据。
LoadRunner在性能测试中的应用
• VU-generator(五)——校验: Web_find ✓ 放在被校验事务之后 ✓ 只能在HTML录制模式下查找文字 ✓ 查找速度慢
LoadRunner在性能测试中的应用
• VU-generator(五)——校验: Web_reg_find ✓ 放在被校验事务之前 ✓ 适用于HTML/URL录制方式 ✓ 查找速度快
web上交换结构化信息和类型信息 ✓ soap请求是HTTP POST的一个专用版本,遵循
一种特殊的xml消息格式Content-type设置为: text/xml,任何数据都可以xml化
LoadRunner在性能测试中的应用
• Web service与http对比
LoadRunner在性能测试中的应用
LoadRunner在性能测试中的应用
✓ XML格式范例
LoadRunner在性能测试中的应用
✓ Json格式
LoadRunner在性能测试中的应用
• http特性 ✓ 支持客户/服务器模式 ✓ 简单快速 ✓ 灵活 ✓ 无连接 ✓ 无状态
LoadRunner在性能测试中的应用
• VU-generator(二)——运行时设置
LoadRunner与性能测试
LoadRunner在性能测试中的应用
Agenda
LoadRunner三大组件 VU-generator controller analyser
LoadRunner在性能测试中的应用
✓ LoadRunner工作原理
LoadRunner在性能测试中的应用
• VU-generator ✓ 录制/回放脚本 ✓ 运行时设置 ✓ 参数化 ✓ 关联 ✓ 设置校验点 ✓ 设置集合点 ✓ 脚本结构优化
web_reg_save_param("JSESSIONID2", "LB/IC=jsessionid=", "RB/IC=\"", "Ord=1", "RelFrameId=1", "Search=body", LAST);
web_reg_save_param_ex( "ParamName=CorrelationParameter",
LoadRunner在性能测试中的应用
• VU-generator(五)——校验:Web_image_check ✓ 放在被校验事务之后 ✓ 用于校验图片是否存在
LoadRunner在性能测试中的应用
• VU-generator(六)——集合点 ✓ lr_rendezvous
LoadRunner在性能测试中的应用
"LB= content=\"", "RB=\"/>\r\n ", SEARCH_FILTERS, "Scope=Body", "IgnoreRedirections=Yes", "RequestUrl=*/capss/*", LAST);
LoadRunner在性能测试中的应用
• VU-generator(五)——校验 ✓ Web_find ✓ Web_reg_find ✓ Web_image_check
LoadRunner在性能测试中的应用
• Windows Socket——Socket与TCP/IP的关系
LoadRunner在性能测试中的应用
• Windows Socket——Socket工作原理
相关主题