1、接口测试必备:接口文档——请求协议,请求参数,请求方式,请求地址,返回值
接口测试类型:功能、安全性、性能
性能测试:响应时间,并发量、吞吐量标准。
性能行业标准——258一个网站,发出一个请求,2秒之内相应的就是优秀,5秒响应就是用户可以忍受,5-8/10到用户极限了。
工具是其次,原理才是王道
一、性能测试定义
1、什么是性能测试
按阶段分:单元、集成、确认、系统测试、验收测试
按测试技术分:白黑灰
按软件特性分:功能、性能
定义:通过自动化测试工具 模拟多种正常、峰值以及异常负载条件 来对系统各项性能指标进行测试。
2、性能测试分类
功能测试分类:业务逻辑功能测试、兼容性测试等等
- 一般性能测试:验证软件在正常和系统条件下能否满足性能指标(一般正常情况下100以内)
- 负载测试:验证系统在一定压力下延长系统运行时间,直到系统性能出现“拐点”(开始施加一定压力100-180*80%之间)
- 压力测试:极限负载或者某指标已经处于饱和状态(已饱和还加压 寻找180的过程180*80%-180)
- 稳定性测试:验证系统在连续运行的情况下,查看系统的各项性能指标-----MTBF(错误发生的平均时间间隔)
- 大数据量测试:验证系统在使用大批量数据对系统产生压力或者影响的情况下系统的各项指标是否正常
- 配置测试:验证系统在不同的软件和硬件配置的情况下,找出系统各项资源的最优分配
二、常用性能测试术语
- 虚拟用户
- 并发和并发用户数
- 响应时间:包含“请求响应时间(运维考虑)”和“事务响应时间(开发考虑)”,思考时间:两次请求之间的间隔时间
- 思考时间
- 点击率:web测试中特指http请求数
- 每秒事务数:Transaction Per Second,TPS每秒系统能够处理的交易或者事务的数量。衡量服务端。事务:登录、提交都是事务;
- 吞吐量:单次业务中,客户端和服务器交互的数据总量
- 吞吐率:吞吐量除以时间。单位:请求数/秒、页面数/秒、字节数/秒等单位衡量。2.3/6*60
- 性能计数器:操作系统中,用户监控和分析服务器性能指标
自动化测试专业术语:参数、断言、Selenium、unittest
三、性能测试流程
功能测试的流程:需求分析,测试计划,环境搭建,测试设计,测试执行,测试评估
1、性能测试流程
性能需求分析——性能测试计划——测试环境搭建——测试工具选择——
测试执行——测试结果分析——软硬件配置调整与优化——测试执行.........
性能测试发现的问题叫 性能瓶颈,修改瓶颈的过程叫 优化。
性能需求分析:客户提出、根据历史数据分析、需求分析与定位、参考历史项目或者其他同行业项目、参考其他数据资料
《一份全面的“系统性能需求分析”是怎样的?》http://www.woshipm.com/operate/1577384.html
测试场景设计:测试模型——测试场景——被测交易或使用的脚本
延时策略、 运行时长、加压策略、 并发用户数量
执行时长、终止方式、资源监控策略;
测试结果是否通过的判断标准(参考)
适用互联网服务端 | 判断维度 | 不通过 | 通过 | 备注 |
超时概率 | 大于5‰ | 小于5‰ | 性能测试团队根据通过标准,判断被测性能点不通过,没有绝对的标准,由专家组成项目负责人来评判 | |
错误概率 | 大于5‰ | 小于5‰ | 网页响应时间一般根据(1s-优秀,3s-普通,5s-忍受极限)来判断,特殊功能另议 | |
TPS | 小于期望高峰值 | 大于期望高峰值 | ||
CPU利用率 | 大于75% | 小于75% |
| |
响应时间 | 大于期望时间 | 小于期望时间 | ||
Load | 平均每核CPU的Load大于1 | 平均每核CPU的Load小于1 | ||
JVM内存使用率 | 大于80% | 小于80% | ||
Full GC频率 | 平均小于半小时1次 | 平均大于半小时1次 | ||
前端页面性能 | Yslow评定 | Yslow评定C级以下 | Yslow评定C级或者C级以上 |
性能调优需要掌握的技能:
系统硬件资源、可靠性能指标、排队系统与延迟及缓存等
性能测试中的重点和难点:
需求分析
场景设计
性能诊断调优
环境搭建与模拟
1)性能需求:明确的目标。判断未来结果是否准确的依据(预期结果)
2、性能测试的专业分析
- 服务器硬件性能
- 根据需求和历史数据制定性能目标
- 建立性能通过模型
- 对开发代码框架和硬件框架进行性能分析
- 针对开发发布版本的基准测试
- 对软件进行性能验收和稳定性测试
- 生产环境的配置和优化
- 制定性能测试测试用例
- 制定性能测试场景设计
- 特定性能分析
3、性能测试用例设计
并不是一个用例,而是场景设计。
note:性能测试中,不再去做反向数据的验证。
性能测试目的:开始变得复杂,不再是唯一目的;可能包含很多测试要点;
用例中的术语:1)集合点:所有用户集合在一起,进行并发
2)事务:用户的操作行为的总称,用来衡量TPS、事务成功率的基础。
预期结果:性能测试执行后,结果判断的标准。
模板:
四、所需技能和要求
1、需要的技能
测试工具:Jmeter、Load runner
服务器性能诊断:CPU、内存、硬盘、网络
优化技能:代码、架构、数据库、OS
网络协议:HTTP/HTTPS、Web Socket/web service
自动化:接口自动化、web自动化
持续集成:Jenkins、SVN、Maven
2、工具选择
3、HP LoadRunner简介