性能测试整体认知包括:TPS、请求响应时间、事务响应时间、并发用户数、吞吐量、吞吐率、点击率、资源使用率。
一、能力要求:
1.1 需求一
1.熟悉Linux、windows等操作系统,熟悉shell脚本;
⒉.熟悉jvm调优, tomcat调优等基础策略
3.熟悉mysq数据库,熟练掌握javascript、java、python、groovy等至少一门编程语言;
4.至少一年左右独立性能测试实践经验;
5.熟悉常见的压测工具,如jmeter、loadrunner;
6.熟悉常见的分析调优工具,如visualvm、yourkit、jps.jstat等;
7.熟悉性能测试的整体流程,能够通过产品需求,梳理出性能测试点,并给出计划方案;
8.具有良好的学习能力,沟通能力,和团队协作精神。
1.2 需求二
1、计算机相关专业,3年以上测试经验,必须有性能测试设计和执行的实际经验
2、掌握软件测试理论与流程方法,熟练使用性能测试相关工具,如Loardrunner,Jmeter,fiddler等;
3、能制定测试计划及策略,进行测试执行及分析,并能对系统性能瓶颈进行定位及优化分析;
4、精通常见网络协议,精通SQL语法及mysql数据库应用,有java语言基础;
5、熟悉server端压力/性能等方面的知识,并能开展相关工作
6、参与重大项目的分析设计工作,提高系统设计的可靠性、稳定性可扩展性,降低系统性能设计风险
7、具有较强的事业心,工作主动积极,具备团队合作精神。
二、性能测试技能树
- 开发语言:Java
- 操作系统:Linux
- 数据库:Mysql
- 测试工具:Jmeter 或 Loadrunner
- 网络知识:网络本身对系统影响极大;数据大小即报文大小(区别宽带大小、数据大小)
三、性能测试的目的————发现性能瓶颈
3.1 概念
- 性能测试是一个非常广泛的概念,包括的很多方面的测试,也可称之为非功能测试。
- 自动化测试属于功能测试的范围,由于其测试方法要求测试人员拥有一定的代码能力,所以被单独分成一个测试模块。
3.2 性能测试分类
- 负载测试︰通过逐步加压的方法,达到既定的性能阈值的目标.阈值的设定应是小于等于某个值,如cpu使用率小于等于80%。
- 压力测试︰通过逐步加压的方法,使得系统的某些资源达到饱和,甚至失效的状态,简单粗暴的解释就是什么条件能把系统压崩溃。
- 并发测试∶在同一时间内,多个虚拟用户同时访问同一模块、同一功能,通常的测试方法是设置集合点。
- 容量测试:通常是指数据库层面的,目标是获取数据库的最佳容量的能力。又称之为容量预估。具体测试方法为在一定的并发用户,不同的基础数据量下,观察数据库的处理能力,即获取数据库的各项性能指标。
- 可靠性测试︰又称之为稳定性测试或疲劳测试。是指系统在高压情况下,长时间的运行系统是否稳定。如cpu使用率在80%以上,7*24小时运行,系统是否稳定。
- 异常测试:又称之为失败测试。是指系统架构方面的测试。如在负载均衡架构中,要测试宕机、节点挂掉等情况系统的反映。
四、性能测试的工作流程
需求分析 ——》性能指标指定(满足10个并发、100个并发、1000个并发…) ——》脚本开发 ——》 场景设置 ——》 监控部署 ——》测试执行 ——》性能分析 ——》性能调优 ——》测试报告。
五、常见系统应用分层架构
- 显示层(view):web、android、ios、h5
- 逻辑控制层(controller):Api
- 数据存储层(model):mysql、mongodb、redis…
六、性能测试指标定义
- 事务:从客户端发起的一个或多个请求(这些请求组成一个完整的操作),到客户端接收到从服务器返回的响应
- TPS(Transaction Per Second):每秒钟系统能够处理的事务数。
- 请求响应时间:从客户端发起的一个请求开始,到客户端接收到从服务器返回的响应。整个过程所耗费的时间。
- 事务响应时间:事务可能是由一个或多个请求组成的,事务响应时间主要是针对于用户的角度而言,如转账。
七、并发定义
7.1 定义
- 没有严格意义上的并发。并发总有先后,无论差距是1毫秒或者是1微秒,总有一个时间差。所以并发讲的是一个时间范围内,比如1秒内。
- 例如:1秒内发起的多少个并发。
7.2 并发举例
- 多用户在系统上进行同一操作,比如双十一时,大家都针对同一种商品进行秒杀。
- 多用户在系统上进行不同操作,比如双十一时,大家针对不同商品进行秒杀,或者是大家有进行其他不同的操作,比如商品浏览。
7.3 并发用户数
- 同一单位时间内对系统发起请求的用户数量(没有绝对意义上并发,真正意义上的同时)。
- 多核CPU提高多线程处理能力,
八、吞吐量
8.1 定义
- 吞吐量:一次性能测试过程中网络上传输的数据量的总和。
- 吞吐率:单位时间内网络上传输的数据量(吞吐率=吞吐量/传输时间)
九、点击率
9.1 定义
- 点击率:每秒钟用户向服务器提交的请求数。这个指标是web应用程序特有的一个指标,可以想象为每秒钟用户总共在页面上进行多少次点击动作,但是需要注意的是一次鼠标单击的操作后,客户端有可能向服务器发送了多次请求。
十、资源使用率
10.1 定义
- 资源使用率:对不同的系统资源的使用情况,如cpu、内存、io。
十一、性能测试的需求分析
11.1 分析的目的
- 明确测试指标:关注哪一项指标,要理解全面
- 明确测试场景:关注业务应用平衡
11.2 性能分析入手点
新系统:
- 同行业比较:同类的竞品的性能比较
- 业务预期:什么时期有多少的客户增长,那每个阶段的性能要求不一样
老系统:文章来源:https://www.toymoban.com/news/detail-567221.html
- 对比以往的用户使用行为以及用户量(需要有时间阶段的对比,上升期对应上升期)
十二、性能测试工具
文章来源地址https://www.toymoban.com/news/detail-567221.html
- 量级:LoadRunner只能在windows下安装图形化界面,安装包比较大。
- 付费:LoadRunner需要付费
- 语言:LoadRunner支持C与Java1.5,Jmeter支持Java1.8
到了这里,关于【性能测试】运维测试01之性能测试整体认知包括:TPS、请求响应时间、事务响应时间、并发用户数、吞吐量、吞吐率、点击率、资源使用率等性能指标详细介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!