性能测试培训思路
定义:
是指在某个特定的硬件、软件、网络环境下通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
含:执行效率,资源占用,稳定性,安全性(压力测试是安全测试的一种),兼容性(class文件能不能放到兼容性平台上,如程序和浏览器内核能不能弄到一起去)
loadrunner 工作原理 --来源于性能测试面试问题
性能测试实施步骤
loadrunner的脚本工作
性能测试的目的
- 验证改进的性能效果,需要和以前的测试结果进行比对;
- 新的业务上线,验证新系统能够满足系统的上线指标;
- 验证系统稳定性;
- 验证系统的架构是否存在瓶颈;
性能测试环境的搭建
- 硬件环境:参考实际的生产环境搭建,并且要考虑自身的硬件成本
- 软件环境:尽量和生产环境使用的版本和配置保持一致,并且尽可能保持最优配置
- 网络环境:尽可能参考生产环境的网络结构和搭建,尽可能不要跨多个网段
- 数据库中基础数据的准备
- 基础数据的内容和数据量
- 需要参考具体系统的业务内容和使用规模
- 类似系统的数据量规模
- 尽可能多增加一定比例的冗余数据
- 测试数据准备方法
- 数据库存储过程
- LR、selenium等自动化测试工具
- 基础数据的内容和数据量
- 最优的性能测试环境就是即将正式上线的正式环境
性能测试工具选择
- loadrunner
- webload
- jmeter
- 自写的多线程压测程序
选择的标准:能完成特定要求的性能测试要求即可,优先考虑使用强大的图表和控制功能的lr
性能测试范围的定义
- 和整个开发团队一起确认性能测试的范围
- 系统中被频繁使用的功能、调用的接口等
- 系统中涉及到大量数据库读、写的功能
- 大量读写系统缓存部分的功能
性能测试需求获取
性能测试的完成目标
- 新上线的测试系统没有明确的数字标准对比情况下,被测系统已经被测试到了系统极限(系统的某些资源已经被耗尽,CPU,句柄,内存,数据库出现大量的slow query,系统有些处理已经变慢),并且系统证明是可以水平扩展的,则可以上线。
- 有以往的测试结果进行比对,只要证明类似的的测试条件下,此次的测试结果比以往的测试结果更好即可(TPS更多,单次请求的处理速度更快)
- 没有可以比较的测试结果,但是产品已经上线一段时间(至少三个月),有一些运营数据,则需要分析运营的数据来作为比对的基准,只要被测系统达到三个月内系统并发峰值的4倍就可以认为是可以接受的。(如果是接口为测试对象,则需要混合主要的接口来进行性能测试)----不建议
- 开发人员提供经验作为比对基准,则被测对象只要证明满足开发人员提出的经验值即可。
- 如果选择以上的某一种策略,则必须明确系统的每秒处理个数和每次请求的具体时间的具体数值,并出具最终的性能测试报告。
性能测试的脚本调试
脚本录制、编写、修改、随机化策略、调试和运行,查看log和数据库内容验证脚本正确性
性能测试的数据收集
性能测试数据分析
经验介绍
**************胜者先胜而后求战,败者先战而后求胜!**************