性能测试总体认知

市场能力要求:java

一、熟悉Linux、Windows等操做系统、熟悉beanshell脚本mysql

二、熟悉jvm调优、Tomcat调优等基础策略ios

三、熟悉MySQL数据库,掌握java、Python等至少一门编程语言web

四、1年独立性能测试经验redis

五、熟悉常见的压测工具:jmetersql

六、熟悉经常使用的分析调优工具,如visualvm、youkit、jps、jstat等shell

七、熟悉性能测试的总体流程、可以经过产品需求、梳理出性能测试点、并给出计划方案,进行测试分析,并对系统性能瓶颈进行定位及优化分析。数据库

八、良好的学习能力、沟通能力、团队协做能力编程

性能测试的目的

发现性能瓶颈api

性能测试分类

负载测试:经过逐步加压,达到既定的性能阈值的目标。阈值的设定应该是小于等于某个值,如CPU使用率小于等于80%

压力测试:经过逐步加压,使得系统的某些资源达到饱和,甚至失效的状态,也就是在什么条件下能把系统压崩溃

并发测试:在同一时间内,多个虚拟用户同时访问同一模块、同一功能,一般的测试方法是设置集合点

容量测试:数据库,目的是获取数据库的最佳容量的能力。具体是在必定的并发用户,不一样的基础数据量,观察数据库的处理能力,即获取数据库的各项性能指标

可靠性测试:稳定性测试,即系统在高压状况下,长时间运行系统是否稳定,如cpu使用率在80%以上,24小时运行,系统是否稳定,会不会有内存溢出。

异常测试:系统架构测试,如在负载均衡架构,要测挂机等状况的反映

性能测试的工做流程

需求分析 - 性能指标指定 - 脚本开发 - 场景设置 - 监控部署 - 测试执行 - 性能分析 - 性能调优 - 测试报告

经常使用系统应用分层架构

显示层:web、Android、ios、H5(图片(压缩)、js)

逻辑控制层:api

数据存储层:mysql、MongoDB、redis(分析sql)

自底向上分析

性能指标名词

事务:从客户端发出一个或多个请求,到客户端接收从服务器返回的响应。好比银行取钱。

TPS(Transaction Per Second):每秒钟系统可以处理的事务数。

请求响应时间:从客户端发出一个请求开始到接收到服务器返回的响应整个过程花费的时间。

事务响应时间:从用户角度考虑,整个事务花费的时间(不止一个请求)。

并发:没有严格意义上的并发,并发老是会有前后,是指的一段时间内

1)对同一指令操做

2)对同一系统操做,不一样的指令

并发用户数:同一单位时间内(一般是指1s),对系统发出请求的用户数量。

吞吐量:一次性能测试过程当中网络上传输的数据量的总和,即网络流量。如:上传、下载

吞吐率:单位时间内网络上传输的数据量,吞吐率 = 吞吐量 / 传输时间

点击率:每秒用户向服务器提交的请求数,即每秒钟用户总共在页面上进行的操做数

资源使用率:对不一样系统资源使用状况,如cpu、内存、IO等

在测试过程当中对性能作需求分析

分析的目的:

一、明确测试指标

二、明确测试场景

1)开发新系统:参考同行业或使用别人现有的系统

2)老系统:对比以往用户使用行为及用户量

此外还须要考虑业务预期,如客户量的增加

相关文章
相关标签/搜索