【转】周末班LR笔记总结—新手入门必备
本来想上传文件的,上传半天没反应,只有这样了,图片不知道能显示不。
上午
学到2012.1.13 七天课
第一天(入门)二、三、四天(VUGEN脚本)
五天(Controller)六天(Analyse分析) 七天(流程,报告、其它)
三到五年,才可以成为高级性能测试工程师 七天学完是初中级测试工程师
性能测试工程师=测试工程师+系统管理员 功能测试工程师=开发(写脚本、代码)
测试团队:项目团队1 项目团队2 项目团队3 自动化团队(应该是做开发出身的,如果是做测试出身的,自动化不会做好,他们主要写框架,与技术有关) 性能测试团队
学测试的人,会进入项目团队(去写脚本,与业务有关)
性能测试团队(辅助于功能测试团队)
上课内容:1、什么是性能测试2、性能测试评估指标3、性能测试工具4、性能测试原理
5、LoadRunner性能测试解决方案6、LoadRunner的安装与部署
奥运定票系统崩溃:1小时,800万次 1分钟13万次 2300/秒
Alexa排名流量排名
性能测试正常设计是容量的3倍 业务估计(经验不够)不足,是性能测试的最大失败
网站要考虑限流的问题、分配访问(网管应该想到的技术问题)
效率特性:时间特性(执行某一功能的响应时间和吞吐率的特性)、资源利用特性(资源利用率)
1、什么是性能测试:在一定负载的情况下,被测系统的响应时间、吞吐率、资源利用率是否满足性能需求
什么是负载:前提是因被测系统不同而议。人在精神、体力上均有负载的概念。负载是在评价一个强度的问题。
测浏览器的性能:能打开多少个Table,看负载
测人人网的性能:点击量、登录、搜索(业务的不同方面)……看负载
计算机:多运行进程,产生负载
压力—>强度(看业务的不同方面,有可能是请求、进程或Table等)
2、性能测试评估指标:响应时间、吞吐率、资源利用率
响应时间:不是一个系统的响应时间是一个综合的响应时间(包括登录、搜索等)
a.业务b.用户角度、开发角度(测试时只关注了开发,有可能用户访问时会很慢,不同网络运营商访问)
LoadRunner可以模拟带宽,带宽限制
用ADSK账号登录服务器模拟 开发感受t2+t3的响应时间 用户能感受的是t1+t2+t3的响应时间
网管应做相应的处理网通访问电信电信访问网通等看响应时间
吞吐量(概念有分歧):单位时间内完成工作的度量
资源:OS(操作系统资源):CPU、内存、磁盘IO、交换空间(虚拟内存)
服务器资源:Mysql\Tomcat(连接数、服务器的内存使用情况)
3、性能测试工具:WAS(Microsoft)、Jmeter(open source)、ab(apache)、LoadRunner(HP)、QAload、Webload
开发比较喜欢用Jmeter和ab专业的测试常用LoadRunner
如何选择性能工具:被测系统特点(业务)、产生的并发数(负载)、产生的协议、价格
概念的区别: 在线用户和并发用户比较容易混淆
性能测试的说法(用来拼品牌的) |
互联网的说法 |
系统用户 |
注册用户、数据库内的用户 |
在线用户 |
活动用户/只要用户登录且没有退出 不做任何操作时,对服务器没有负载,HTTP请求登录完成后,服务器会自动断开连接,所以对服务器没有负载。占用内存,但不占用连接数 |
并发用户 |
某一时刻,同时访问系统的用户数 |
因(负载)果(指标) 因(并发用户)果(负载)
Http协议Https(加密的协议)协议:双方共同遵守的约定 B/S:HTTP HTTPS C/S:TCP/IP UDP
HttpWatch工具:网络录制工具(抓包) 不支持回放 工具不是目的,而是手段
Http协议:
点击量:用户一次点击过程中,真正的向服务器发送的产生的请求数是点击量,不等于用户的请求数,不是用户点击一下的量
下午
4、性能测试原理:关心协议(请求包、响应包、返回码(500、401、404……))用不用浏览器没有关系
返回码:2XX成功 200请求成功(建立连接、发请求、接收请求、断开)
3XX重定向 304(请求头有个If-Modified-Since截止到某一日期内文件没有被修改,服务器不做接收请求 建立连接、发请求、断开)
重定向:本来应该在服务器取数据,但可从客户端的缓存中读取
4XX客户端错误 404无法找到指定位置的资源
5XX 500内部服务器错误
Referer:图片的请求包多出这一条,Referer代表本请求(图片)在哪个页面发出的,防止“盗链”用的
自动化工具:做功能测试,记录对象的用户名或密码的位置和操作过程,顺序执行
性能测试工具:只要协议相通,关心协议内容,只关心传过来的用户名和密码
性能测试工作原理:1、录制(协议头) 2、回放(协议内容)
5、LoadRunner性能测试解决方案
Virtual User Generator录制并回发单个进程
Controller告诉Generator如何工作 程序、脚本、协议
Controller的工作内容:1、找压力测试机(压力机会模拟虚拟用户工作)
2、分配工作(压力机高度,定义并发数)
3、定时间(压力机运行的时间)
4、脚本(VUGEN虚拟用户生成器)
5、调度(让压力机干活—>压力机运行脚本—>对SUT(被测系统)产生负载—>
被测系统内装的monitor(监控器)—>把内容发回到Controller—>DB—>Analysis)
1、找演员(找压力机) 2、找剧本(找VUGEN建立关系) 3、演员在什么时候演什么剧本(场景搭建)
Analysis结果分析器(图表和报表比较难分析出问题,如果看不懂图,就相当于没做性能测试)
如果协议不一样,可以导致脚本和结果分析器不同,性能指标会不同
Scenario场景:Controller的工作 场景设计非常关键
6、LoadRunner的安装与部署
四个组件:Controller、VuGen、Analysis、Load Generator
Agent负责
【转】周末班LR笔记总结—新手入门必备的更多相关文章
- PHP常用代码大全(新手入门必备)
PHP常用代码大全(新手入门必备),都是一些开发中常用的基础.需要的朋友可以参考下. 1.连接MYSQL数据库代码 <?php $connec=mysql_connect("loc ...
- GreenPlum学习笔记:新手入门命令
1.命令行登录数据库 psql -h 192.168.111.111 -U username -d dbname 其中,username为数据库用户名,dbname为数据库名,执行后提示输入密码.(可 ...
- vue入门笔记(新手入门必看)
一.什么是Vue? 1. vue为我们提供了构建用户界面的渐进式框架,让我们不再去操作dom元素,直接对数据进行操作,让程序员不再浪费时间和精力在操作dom元素上,解放了双手,程序员只需要关心业 ...
- Node笔记(新手入门必看)
. 初识Node.js 1.1 Node.js是什么 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. ...
- awk 新手入门笔记
转自:http://www.habadog.com/2011/05/22/awk-freshman-handbook/ awk新手入门笔记 @作者 : habadog@邮箱 : habadog1203 ...
- 【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲
[OCP.OCM.高可用等]小麦苗课堂网络班招生简章(从入门到专家)--课程大纲 小麦苗信息 我的个人信息 网名:小麦苗 QQ:646634621 QQ群:618766405 我的博客:http:// ...
- 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布
Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...
- 《IM开发新手入门一篇就够:从零开发移动端IM》
登录 立即注册 TCP/IP详解 资讯 动态 社区 技术精选 首页 即时通讯网›专项技术区›IM开发新手入门一篇就够:从零开发移动端IM 帖子 打赏 分享 发表评论162 想开 ...
- HTML新手入门(1)
HTML新手入门(1) ——编译器下载及基础框架 一.编译器下载 作为新手,听取大佬的建议,用HBuilder进行编译. 下载地址:www.dcloud.io/ 进入到首页左上角有一个如下图标. (这 ...
随机推荐
- bzoj 1176 Mokia(CDQ分治,BIT)
[题目链接] http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=96974 [题意] 定义查询操作与修改操作:1 x y z 为 ...
- HDU 4283 You Are the One (12年天津 区间DP)
题意:有一个队列,每个人有一个愤怒值a[i],如果他是第k个上场,不开心指数就为(k-1)*a[i].但是边上有一个小黑屋(其实就是个堆栈),可以一定程度上调整上场程序 思路:枚举区间和每个人第几个上 ...
- HW5.36
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- Android问题-selection contains a component,button7,introduced in an ancestor and cannot be deleted.
问题现象: 在开发Android时增加的控件想删除,可是删除时提示“Android问题-selection contains a component,button7,introduced in an ...
- PING命令入门详解(转载)
本文转自http://www.linkwan.com/gb/tech/htm/928.htm 1.Ping的基础知识 ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是 ...
- 小物件之输出简单的table
如果需要将一个数组输出一个简单的table可以采用以下代码(该数组非空) <?php $thead=array("name"=>"名称"," ...
- 【Away3D代码解读】其它一些的记录(持续更新)
查看当前正在使用的AGAL代码可以在程序开始时添加下面的代码,AGAL代码会被trace出来: Debug.active = true; 具体的输出是在MaterialPassBase类的update ...
- Java数据类型(一)
1 public class VarDemo 2 { 3 public static void main(String []args){ 4 //先声明后赋值 5 int number; 6 numb ...
- 原生js操作cookie
写cookie function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTim ...
- 在ubuntu上面配置nginx实现反向代理
1.下载nginx 官网:http://nginx.org/en/download.html 直接在服务器上下载 wget http://nginx.org/download/nginx- ...