读书笔记:《零成本实现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进行压力测试时,应该关闭这一选项(默认情况下它是关闭的)