性能测试

  • 1什么是性能?
  • 2.1什么是性能测试?
    • 2.2性能测试目的
    • 2.3性能测试与功能测试区别
  • 3.1性能测试策略
    • 3.1.1基准测试
    • 3.1.2负载测试
    • 3.1.3稳定性测试
    • 3.1.4其他测试策略
  • 3.2常用性能指标
    • 3.2.1响应时间
    • 3.2.2并发数
    • 3.2.3吞吐量
    • 3.2.4TPS与QPS
    • 3.2.5点击数
    • 3.2.6错误率
    • 3.2.6资源利用率

1什么是性能?

性能:就是软件质量属性中的“效率"特性

效率特性:
●时间特性:指系统处理用户请求的响应时间
●资源特性:指系统在运行过程中,系统资源的消耗情况

  1. CPU
  2. 内存
  3. 磁盘IO (磁盘的写入Input和读取Output, 简称IO)

2.1什么是性能测试?

概念:
使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程就是性能测试。

  1. 后台处理程序的性能(代码性能)
  2. 中间件、数据库、架构设计等是否存在瓶颈
  3. 服务器资源消耗(CPU、内存、磁盘、网络)

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

2.2性能测试目的

  1. 评估当前系统能力
  2. 寻找性能瓶颈,优化性能
  3. 评估软件是否能够满足未来的需要

2.3性能测试与功能测试区别

2.3.1焦点不一样
●功能测试:验证软件系统操作功能是否符合产品功能需求规格,主要焦点在功能(正向、逆向) ;
●性能测试:验证软件系统是否满足业务需求场景,主要焦点是业务场景的满足(时间、资源);
2.3.2关系
●功能测试和性能测试是相辅相成的,对于- -款优秀的软件产品来讲,它们是不可减少的2个重要测试环节;
●注意:一般新项目中,先功能测试通过后,再进行性能测试。

3.1性能测试策略

  1. 基准测试
  2. 负载测试
  3. 稳定性测试
  4. 其他并发测试、压力测试、容量测试等

3.1.1基准测试

基准测试: .
●狭义上讲;也是单度户测试,测试环境确定以后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。(进行基础的数据采集)
●广义上讲:是一种测量和评估软件性能指标的活动。你可以在某个时刻通过基准测试建立- 一个己知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行- -次基准测试以确定那些变化对性能的影响。

基准测试数据的用途:

  1. 为多用户并发测试和综合场景测试等性能分析提供参考依据
  2. 识别系统或环境的配置变更对性能响应带来的影响
  3. 为系统优化前后的性能提升/下降提供参考指标

3.1.2负载测试

说明:

  • 通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的最大负载量的测试。

负载:指向服务器发送的请求数量,请求越多,负载越高
注意:负载测试关注的重点是逐步增加压力

3.1.3稳定性测试

说明:

  • 稳定性测试是指,在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试,并最终保证服务器能满足线上
    业务需求。时长一般为1天、一周等。

3.1.4其他测试策略

性能测试中,测试策略其实有很多种,但是掌握基础的用法后,其他不同名称的测试策略只是基础用法的一个变形用法。
●并发测试:并发测试是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力。如;抢红包、抢购、秒杀活动
●压力测试:压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。
●容量测试:关注软件的极限压力下的各个极限参数值,例如:最大TPS, 最大连接数,最大并发数,最多数据条数等。

3.2常用性能指标

3.2.1响应时间

说明:响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,整个过程所耗费的时间。
组成:响应时间=网络时间+应用程序处理时间


客户端发送请求,到服务器收到响应,过程中所经历的全部时间,都是响应时间。
响应时间=应用程序处理时间(A1+A2+A3) + 网络传输时间(N1+N2+N3+N4)

3.2.2并发数

说明:并发测试的用户数

●系统用户数:系统注册的总用户数据
●在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求
●并发用户数:某一物理时刻同时向系统提交请求的用户数

3.2.3吞吐量

说明:吞吐量(Throughput) 指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力
注意

  1. 从业务角度来看,吞吐量也可以用“业务数1小时”、“业务数/天”、“访问人数1天”、“页面访问量/天”来衡量
  2. 从网络角度来看,还可以用“字节数/小时”、“字 节数1天"等来衡量网络的流量
  3. 从技术指标来看,可以用每秒事务数(TPS)和每秒查询数(QPS)来衡量服务器具体性能处理能力

吞吐量英文为Throughput,单位时间内,系统处理客户端请求的数量。

衡量服务器性能好坏的直接指标,从不同维度来描述:
●业务维度:业务数/秒,业务数/小时,业务数/天
●网络维度:字节数秒,字节数1小时,字节数/天
●技术维度:TPS (每秒事务数)、QPS (每秒请求数)

3.2.4TPS与QPS

TPS
说明:TransactionsPerSecond,每秒事务数(单位时间内系统处理的客户端请求的事务次数)
计算:TPS =并发数/平均响应时间
事务:就是业务请求,对应一个或者多个操作。
一个事务通常指的是界面上的一个操作。一个事务可以包含一个或者多个接口请求。

QPS
说明:QPS(Query Per Second)每秒查询数
应用:控制服务器每秒处理指定请求数(如:控制服务器达到每秒B0QPS,服务器的性能各项性能指标是否正常。(服务器处理能力一个重要指标)

对于登录事务而言,当TPS为10时,服务器的QPS也是10
对于支付事务而言,当TPS为10时,服务器的QPS就是30

3.2.5点击数

说明:点击数是衡量Web服务器处理能力的-一个重要指标。
提示

  1. 点击数不是通常一 般人认为的访问一个页面就是1次点击数,点击数是该页面包含的元素(图片、链接等)加载时,服务器发出的请求数量。
  2. 通常我们也用每秒点击次数(HitsperSecond)指标来衡量Web服务器的处理能力。

注意:只有web项目才有此指标。

3.2.6错误率

说明:错误率指系统在负载情况下,失败业务的概率。错误率= (失败业务数/业务总数)* 100%。
提示

  1. 不同系统对错误率要求不同,但一般不超过千分之五;
  2. 稳定性较好的系统,其错误率应该由超时引起,即为超时率。

错误率木是功能有错误或者bug,指的是在系统高负载的情况下,业务失败的次数/业务的总次数* 100%

3.2.6资源利用率

说明:是指系统各种资源的使用情况,–般用“资源的使用量/总的资源可用量x100%"形成资源利用率的数据。
提示:通常,没有特殊需求的话

  1. 建议CPU不高于80%(+5)-------->在电脑里的所有处理请求(操作系统运行、软件程序、磁盘拷贝等)都由CPU完成
  2. 内存不高于80%-------->所有程序在运行时要消耗的空间。(存储程序运行的数据)
  3. 磁盘不高于90%-------->存储本地数据文件
  4. 网络不高于80%-------->影响数据在网络中的传输速度

测试必备知识,性能测试入门学习相关推荐

  1. CSS_后端工程师必备知识-从入门到劝退详解-呕心沥血撰写(滑稽)

    文章目录 一.CSS简介 二.语法格式 三.CSS的使用方式 1. 嵌入式 2. 外链式 3. 行间样式 4.三种样式优先级和应用场景 四.选择器 1. 基本选择器 1.所有元组器选择 2.标签选择器 ...

  2. 知识图谱入门学习笔记(二)-知识表示

    目录 1 知识表示的概念 1.1 知识表示方法 1.2 知识表示的分类观点 1.3 知识表示的发展 2.1 语义网络 2.2 产生式系统 2.3 框架系统(Frame Systems) 2.4概念图( ...

  3. 【测试工具】-性能测试-GT学习笔记

    [性能测试工具]-GT学习笔记 一.GT介绍 腾讯MIG研发的Android APP测试平台,主要应用于手机APP的性能测试(CPU,内存,网络流量,电量,帧率,流畅度) 安卓/IOS手机端调测组件, ...

  4. 知识图谱入门学习笔记(六)-关系抽取

    目录 0 前言: 1 语义关系: 1.1  句法关系 1.1.1 替代关系​ 1.1.3 同现关系(Relations of Co-occurence) 2 关系抽取的用处 2.1 关系抽取中的特征 ...

  5. 【学习笔记】投资理财,基金基础知识科普入门学习,凭运气赚回来的钱,会凭实力亏掉_20210115

    [理财笔记] 理财举例:年收入20万,月入2万现金流,如何理财? 1.指数基金:了解大盘趋势,4分之一的钱 2.股票基金:了解行业基金,4分之一的钱 3.货币基金:了解货币基金,比如余额宝,4分之一的 ...

  6. 知识图谱入门学习笔记(一)-概念

    目录 1 知识图谱概念 1.1 深度学习与知识图谱​ 1.2 知识图谱 VS 传统知识库 VS 数据库 1.3 知识图谱本质 1.4 知识表示一语义网络(Semantic Network) 1.5 知 ...

  7. Android高级工程师必备知识!Android学习路线指南,复习指南

    导语 事情是这样的,一个关注我公众号很久了的朋友,最近跟我说要去面试阿里P6,其实他的水平P7是够了的,他开发了6年,一直在学习新的技术,Flutter,NDK,这些都有涉及,年纪也不是很大26岁,之 ...

  8. 知识图谱入门学习笔记(三)-知识建模

    目录 1 本体(Ontology) 1.1 本体工程 1.2 知识图谱本体VS数据库模式 1.3 本体学习(手动) 1.4 本体学习(自动) 1.4.1 方法一:基于规则的本体学习 1.4.2 方法二 ...

  9. 学习笔记 | 结合高中知识独立性检验入门学习零假设Null Hypothesis

    大部分笔记内容均来自国内外博客网站,作者仅是整理整合相关文章方便学习,原著作权仍未原作者,若侵权请及时联系删除.谢谢!

最新文章

  1. MIC4680-5.0YM-TR详细资料
  2. android ndk platform,Android NDK Platform Build and Application
  3. 通过分析exevc系统调用处理过程来理解Linux内核如何装载和启动一个可执行程序...
  4. jQuery-层次选择器的学习
  5. webpack 原理图_webpack打包原理
  6. koa router ajax,ajax 请求 koa2 router.post 404
  7. ATEN命令--北大青鸟benet课程
  8. ubuntu linux 批量部署,使用Cobbler批量部署Linux和Windows:CentOS/Ubuntu批量安装(二)...
  9. MCU为什么内部不集成晶振
  10. 怒肝 8 个月源码,我成为了 Spring 开源贡献者
  11. float 精度_为什么float后面要加f
  12. Python使用组合、排列和动态规划算法求解0-1背包问题
  13. php 制作日记本,photoshop制作精美日记本
  14. SQL连接查询总结和练习
  15. Intouch System Platform IDE
  16. 怎么将PPT中的视频文件保存下来
  17. Linux RT-PREEMPT的softirq机制
  18. uni-app,原生APP,关于苹果APP集成Sign in with Apple(通过Apple登录)后,APP内注册需要强制绑定手机号,审核被拒问题
  19. 7-6 愿天下有情人都是失散多年的兄妹(25 分)
  20. Botnet趋势漏洞利用状况分析

热门文章

  1. excel变为sql导入mysql_[转]Excel数据转化为sql脚本
  2. 智哪儿专访:小匠物联如何帮助颈部按摩仪品类完成智能化升级
  3. 悟空说财经:雅虎推出全新聊天机器人 帮家庭成员管理日程安排
  4. Skype For Peace - 免费为全球年轻人打造更好的教育机会和就业前景
  5. 破译奇梦谜底——解梦笔记
  6. 数独快速随机出题的算法
  7. 百度推广“删除重提”是什么意思?
  8. [React Native]豆瓣电影APP Demo
  9. C语言中for语句的执行步骤是什么,C语言中for语句的执行过程是怎样的
  10. linux怎么配置gvim教程,Vim配置详解_Linux教程_Linux公社-Linux系统门户网站