性能测试学习笔记

  推荐书籍《性能测试进阶指南——LoadRunner11实战》,里面讲解的很详细,从基础到实践,云层老师的技术基础扎实,实践经验丰富,此书可列为良师益友。

  之前的文章中有提过,测试人员要提高自身的技术能力,一味的纯黑盒测试肯定会枯燥乏味,向技术方向转型也列为一条不错的出路。性能测试当下比较流行的工具有LoadRunner、jmeter等,根本差异就是开源与收费,其实也是最实际的比较。但用LoadRunner执行性能测试的公司,仍然大有人在,因为现在都存在试用版本或基础版本,至于专业版企业版那不用说肯定要花费高额费用进行购买,破解版就另当别论。 

一、性能测试基础理论 

  1. 性能指标:

1).响应时间

2s-满意,5s-接受,10s-无法接受

2).吞吐量

TPS(Transaction per Second)每秒事务数

3).服务器资源占用

CPU占用率、内存使用率、查询cache命中率等(网络性能测试,带宽等网络因素需要考虑)

  2. 性能测试的流程

制定性能测试目标 ->选择性能测试工具->设计性能测试->监控分析系统->性能调优

  3. 性能测试需掌握

测试基本理论、测试常用方法、编程语言(Java、C#、PHP、Python、ruby等)、数据库系统管理(Mysql、oracle、SQL server)、Web 服务器(IIS、Apache、Nginx)、网络协议(HTTP、TCP)(具体B/S架构,HTML、XML、CSS、Cookie、Session、AJAX等网页技术)、性能测试理论。

  4. 性能分析及调优原理

性能分析方法(指标达成法、最优化分析法[性能调优:1.应用程序诊断-定位应用瓶颈 2.系统调优(运行的更好)-独立瓶颈和软件硬件迭代调优])

  5. 常见的性能瓶颈

硬件上的性能瓶颈、应用软件上的性能瓶颈、应用程序上的性能瓶颈、操作系统上的性能瓶颈、网络设备上的性能瓶颈

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

  6. 一般性能问题调优步骤

确定问题->确定原因->确定调整目标和解决方案->测试解决方案->分析调优结果

二、 性能测试工具使用(LoadRunner)

  1. LoadRunner简介

a.创建虚拟用户(Virtual User Generate、TurboLoad、data wizard(测试数据参数化))

b.创建真实负载,设定负载方案、业务流程组合和虚拟用户数量,Controller中的rendezvous功能提供一个互动的环境;使用Autoload可以根据目前的用户人数事先设定测试目标,优化测试流程。

c.定位性能问题

d.分析结果以精确定位问题所在

f.重复测试保证系统发布的高效性

  2.LoadRunner工具组成

a.脚本生成器Virtual User  Generator

b.压力调度和监控系统 Controller

c.压力生成器Load Generator

d.结果分析工具 Analysis

  3.性能测试原理

a.用户行为模拟 b.性能指标监控 c.性能调优

  4.Load Generator为负载生成器,通VuGen录制生成用户脚本。常见配置一台Load Generator大概能模拟200~500个虚拟用户,可通过一台Controller调用多台Load Generator 即可模拟成千上万虚拟用户对系统的负载过程。

  5.协议分析

在http中,Client在本地主机向运行于远程主机上的Server请求连接,连接成功之后通过GET来访问Server端对象(可以是普通网页,也可以是通过CGI或ISAPI生成的动态页面),Server端在连接终止之前将请求的对象或者错误消息返回给Client,结束响应过程。

  a.HTTP 请求,分为三部分,方法-URL-协议/版本(GET / HTTP/1.1)、请求头、请求正文。

  b.HTTP 应答,分为三部分,协议-状态代码-描述、应答头、应答正文。

  c.HTTP捕获,协议捕获,HttpWatch--监听录制所有http请求的插件

HttpWatch功能,Stream信息流、content应答正文、post data请求post数据、time chart时间细分图。

  d.HTTP回放,IBM Rational HTTP Request Editor

三、用户行为模拟

1. 录制流程

a.协议选择 -> 设置录制选项 -> 开始录制 -> 插入命令 -> 停止录制

b.协议选择 ,单协议、多协议

c.录制选项,web_link()、web-url()、web-submit_data()、web_submit_form()

2.脚本开发

a.注释: //注释一行,

/*注释

一段*/  

b.逐步执行脚本 F10

c.断点 F9

posted on 2015-10-14 16:20  SH-xuliang  阅读(406)  评论(0编辑  收藏  举报

导航