【读书笔记】性能测试基础

读书笔记:《零成本实现Web性能测试》第1~3章随手记

第1章 性能测试基础

性能测试的基本流程:

1、明确性能测试需求

2、制定性能测试方案

性能测试方案应该详尽地描述如何进行性能测试,其中应该至少包括:

1)测试背景

2)测试目的

3)测试范围

          4)测试进入条件

          5)测试退出条件

6)测试指标要求

7)测试策略

8)测试时机

9)测试风险

10)测试资源

     3、编写性能测试案例

4、执行性能测试案例

5、分析性能测试结果

6、生成性能测试报告

如何生成一份准确严谨的性能测试报告,是一项技巧性的工作。读者朋友只要遵循一定原则,并掌握一些文字技巧就不难办到。一份性能测试报告,至少应该包含如下内容:

1)测试基本信息,包含:测试目的、报告目标者、术语定义、参考资料。

2)测试环境描述,包含:服务器软硬件环境、网络环境、测试工具、测试人员。

3)性能测试案例执行分析:需要详细描述每个测试案例执行情况,以及对对应测试结果进行分析。

4)测试结果综合分析及建议:对本次性能测试做综合分析,并给出测试结论和改进建议。

5)测试经验总结。

第2章 JMeter基础知识

JMeter工作原理:

JMeter可以作为web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和web服务器的响应,如此就可以很容易地生成性能测试脚本。有了性能测试脚本,JMeter就可以通过线程来模拟真实用户对web服务器的访问压力。

这与LoadRunner的工作原理基本一致。

 

1.JMeter的Classpath

     JMeter会通过以下目录中的JAR文件加载类:

  • JMeter_HOME/lib——公用包。
  • JMeter_HOME/lib/ext——包含JMeter元件和补丁。

如果测试人员开发了新的jmeter元件,那么需要将对应JAR包放到JMeter的lib/ext目录下。JMeter会自动加载这些JAR包中的JMeter元件。

公用支持的JAR包,应该被放在lib目录下。

如果测试人员不想将JMeter扩展包放在lib/ext目录,那么就需要在jmeter.properties文件中定义属性search_paths。不要在lib/ext目录中放置公用包,它应该只供JMeter元件使用。

其他JAR包(JDBC、JMS实现包,以及任何其他支持包)都应该被放置在lib目录中,而非lib/ext目录。

注意:JMeter只会寻找JAR文件,而非ZIP文件。

测试人员还可以加载放在$Java_HOME/jre/lib/ext目录中的公用包,或者在jmeter.properties文件中定义user.classpath属性。

需要注意的是,设置环境变量Classpath对JMeter不起作用。这是因为JMeter是以“java-jar”方式启动的,而该java命令会默默的忽略Classpath变量,而且使用-jar可以携带-classpath/-cp选项--这对所有java程序都是一样的,并非只针对JMeter。

用户可以查看jmeter.properties、user.properties和system.properties中的注释,以便了解其他可以更改的设置。

第3章 web性能测试脚本录制与开发

JMeter常用测试元件

JMeter测试计划有一个被称为“功能测试的选项。”当这一选项被选中后,就会促使用JMeter记录下每一次采样从服务器获取的数据。如果测试人员在测试监听器中配置了保持测试数据的文件,那么这些数据就会被记录到该文件中。这项功能很有用,特别是当测试人员需要简单运行一下测试脚本,以便验证JMeter的配置是否正确,以及服务器返回的结果是否符合预期时。不过如此一来,保存测试数据的文件会迅速变得庞大起来,JMeter的性能也会受到影响。因此当测试人员使用JMeter进行压力测试时,应该关闭这一选项(默认情况下它是关闭的)

时间: 2024-12-22 07:58:00

【读书笔记】性能测试基础的相关文章

3D数学读书笔记——矩阵基础番外篇之线性变换

本系列文章由birdlove1987编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/25102425 前面有一篇文章讨论过多坐标系的问题.有的人可能会问我那么多坐标系,它们之间怎么关联呢?嘿嘿~这次的内容可以为解决这个问题打基础奥! 线性变换基础(3D数学编程中,形式转换经常是错误的根源,所以这部分大家要多多思考,仔细运算) 一般来说,方阵(就是行和列都相等的矩阵)能描述任意的线性变换,所以后面我们一般用方阵来变

3D数学读书笔记——矩阵基础

本系列文章由birdlove1987编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/24975031 矩阵是3D数学的重要基础,它主要用来描述两个坐标系统间的关系,通过定义一种运算而将一个坐标系中的向量转换到另一个坐标系中. 在线性代数中,矩阵就是一个以行和列形式组织的矩形数字块.向量是标量的数组,矩阵则是向量的数组. 矩阵的维度和记法 矩阵的维度被定义为它包含了多少行和多少列,一个 r * c 矩阵有 r 行.

《统计自然语言处理》读书笔记 一.基础知识及概念介绍

最近准备学习自然语言处理相关的知识,主要参考<统计自然语言处理·宗成庆>和<Natural Language Processing with Python>,推荐大家阅读.第一篇主要介绍的是NLP的基础知识和概念介绍,其实也是我关于NLP的读书笔记吧,希望对大家有所帮助. 一. 概念介绍 自然语言处理 自然语言处理(Natural Language Processing,简称NLP)技术的产生可追溯到20世纪50年代,它是一门集语言学.数学(代数.概率).计算机科学和认知科学等于一

MySql必知必会读书笔记(1) -- 基础

数据库基础 基本概念: 数据库( database):保存有组织的数据的容器(通常是一个文件或一组文件). 数据库软件应称为DBMS(数据库管理系统).数据库是通过DBMS创建和操纵的容器. ? 表( table) ????????某种特定类型数据的结构化清单. 模式( schema) ????关于数据库和表的布局及特性的信息. 列( column) ????????表中的一个字段.所有表都是由一个或多个列组成的. 数据类型( datatype) 所容许的数据的类型.每个表列都有相应的数据类型,

读书笔记--Python基础教程 001

name = raw_input('please enter your name: ') or '<unknown>' 换句话说,如果raw_input语句的返回值为真(不是空字符串),那么他的值就会赋给name,否则将默认的'<unknown>'赋值给name. 这类短路逻辑可以用来实现C和Java中所谓的'三元运算符'(或条件运算符). a if b else c 如果b为真,返回a,否则,返回c.(注意,这个运算符不用引入临时变量,就可以直接使用,从而得到与raw_input

Clr Via C#读书笔记---线程基础

进程与线程 进程:应用程序的一个实例使用的资源的集合.每个进程都被赋予了一个虚拟地址空间. 线程:对CPU进行虚拟化,可以理解为一个逻辑CPU. 线程要素 线程包括以下要素: 1. 线程内核对象, 其中包含 1)一组对线程进行描述的属性 2)线程上下文,即包含CPU寄存器的集合的一个内存块 2. 线程环境块,在用户模式中分配和初始化的一个内存块,其中包含 1)线程的异常处理链首 2)线程的"线程本地存储数据" 3)由GDI和OpenGL图形使用的一些数据结构 3. 用户模式栈 1)存储

[读书笔记]多线程基础

转自:http://www.cnblogs.com/huangxincheng/category/362940.html 第一天 尝试Thread 一:Thread的使用 我们知道这个类代表处理器线程,在Thread中有几个比较常用和重要的方法. <1> sleep:  这个算是最简单的了. <2> join:    这个可以让并发行处理变成串行化,什么意思呢?上代码说话最清楚. <3> Interrupt和Abort:这两个关键字都是用来强制终止线程,不过两者还是有区

C++程序设计(第4版)读书笔记_基础知识

变量赋值 常用的变量赋值都是用“=”去赋值的 1 int i = 2; 但是如果把一个浮点数赋值给i的话,就会造成精度损失,在C++中最好使用初始化列表的方式“{}”给变量赋值,这样可以保证不会发生某些可能导致信息丢失的类型转换 1 #include <iostream> 2 using namespace std; 3 4 int main() { 5 int i {2.3}; 6 return 0; 7 } 比如这样声明,编译器就会报错 <source>: In functio

C++ 11新特性解析——《深入理解C++ 11:C++11新特性解析和应用》读书笔记

因为偶然的机会,在图书馆看到<深入理解C++ 11:C++11新特性解析和应用>这本书,大致扫下,受益匪浅,就果断借出来,对于其中的部分内容进行详读并亲自编程测试相关代码,也就有了整理写出这篇读书笔记的基础.C++作为踏入编程的最初语言,一直充满感情,而C++11作为新标准虽然推出一段时间了,却因为总总原因直到现在才去开始真正了解,不过一句话回荡在脑中:当你认为为时已晚的时候,恰恰是最早的时候!从C++98到C++11, C++11标准经历了10几年的沉淀,以全新的姿态迎接新的挑战,长话短说,

大话数据结构读书笔记

大话数据结构读书笔记 编程基础: 数据结构 算法 1 线性表 //顺序储存结构的结构代码: #define MAXSIZE 20//储存空间的起始分配量 typedef int ElemType;//ElemType类型根据实际类型而定,这里假设是int typedef struct{ ElemType data[MAXSIZE];//数组储存元素,最大值为MAXSIZE int length;/线性表当前长度: }SqList; //顺序存储结构需要三个属性: //1存储空间的起始位置:数组d