一、什么是软件性能?什么是软件性能测试?

定义:软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。

由定义可知性能关注的是软件的非功能特性,所以一般来说性能测试介入的时机是在功能测试完成之后。另外,由定义中的及时性可知性能也是一种指标,可以用时间或其它指标来衡量,通常我们会使用某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试。

性能测试定义:指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

二、不同群体关注的软件性能

不同的人由于人生观、世界观、价值观以及教育背景、知识体系、人生阅历的不同,对于同一事物或问题的看法可能不同。对于软件性能也是如此,不同的人由于视角的不同,所关注的点也可能不同。下面来看看在不同的人群眼中性能分别是什么样的。

  • 用户眼中的性能

  • 开发眼中的性能
      

  • 系统管理员眼中的性能
      

  • 测试眼中的性能是什么样的呢?

测试人员通常是做为软件质量控制的一个角色,不仅仅是找bug,需要对整个软件的质量负责,性能也属于质量的一部分,因此测试人员眼中的性能应该是全面的,考虑的东西也需要全面:

1、测试人员需要考虑全面的性能,包括用户、开发、管理员等各个视角的性能。

2、测试人员在做性能测试时除开要关注表面的现象如响应时间,也需要关注本质,比如用户看不到的服务器资料利用率,架构设计是否合理?代码是否合理等言方方面面。

三、性能测试的类型

性能测试包括:基准测试、负载测试、压力测试、并发测试、容量测试、可靠性测试(稳定性测试)、配置测试、失败测试。

1、简述性能测试的8大类,并对这8大类进行描述。

答:

基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数做为基础参考

负载测试:是通过逐渐增加系统的负载,测试系统性能的变化,并最终确定在满足系统性能指标的情况下,系统所能承受的最大负载量的测试。简而言之,负载测试是通过逐步加压的方式来确定系统的处理能力和能够承受的各项阈值。

压力测试:是通过逐步增加系统的负载,测试系统性能的变化,并最终确定在什么负载条件下,系统性能处于失效状态,并获得系统能提供的最大服务级别的测试。压力测试是逐步增加负载,使系统某些资源达到饱和甚至失效。

并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题,几乎所有的性能测试都会涉及一些并发测试。

容量测试:在一定的软、硬件条件下,在数据库中构造不同数量级的记录数量,通过运行一种或多种业务场景在一定虚拟用户数量的情况下,获取不同数量级别的性能指标,从而得到数据库能够处理的最大会话能力,最大容量等。系统可处理同时在线的最大用户数,通常和数据库有关。

可靠性测试(稳定性测试):通过给系统加载一定的业务压力(如CPU资源在70%~90%的使用率)的情况下,运行一段时间,检查系统是否稳定因为运行时间较长,通常可以测试出系统是否有内存泄漏等问题。

配置测试:主要是通过对被测试软件的软硬件配置进行测试,找到系统各项资源的最优分配原则。配置测试能充分利用有限的软硬件资源,发挥系统的最佳处理能力,同时可以将其与其他性能测试类型联合应用,从而为系统提供重要依据。

失败测试:对于有冗余备份和负载均衡的系统,通过失败测试来检验如果系统局部发生故障,用户能否继续使用系统,用户受到多大的影响,如几台机器做均衡负载,一台或几台机器垮掉后系统能够承受的压力。

四、性能测试应用场景(领域)

1、性能测试应用场景(领域)主要有:能力验证、规划能力、性能调优、缺陷发现、性能基准比较,下表简单介绍和对比了这几个场景的各自用途和特点:

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

性能测试(一)性能测试是什么?有哪些分类?相关推荐

  1. 【性能测试】性能测试的概念和术语介绍 性能测试分类(了解每种测试的目的)

    性能测试独立于功能测试嘛? 这样理解并不对,因为做性能测试的时候,他可能就是基于功能点来做,首先要保证这个功能点是没有问题的然后再考虑该功能点的性能测试.性能测试的时间:功能测试的中后期 性能测试的目 ...

  2. 【性能测试】性能测试工具选择

    转发自博客园贺满:https://www.cnblogs.com/puresoul/p/5503134.html,有删减. 本篇文章主要简单总结下性能测试工具的原理以及如何选型.性能测试和功能测试不同 ...

  3. 【性能测试】性能测试的基础理论

    转发自博客园贺满:https://www.cnblogs.com/puresoul/p/5456855.html ,有删减. 随着软件行业的快速发展,现代的软件系统越来越复杂,功能越来越多,测试人员除 ...

  4. 【软件测试】Jmeter性能测试(性能测试,Jemeter使用与结果分析)

    文章目录 前言 一.性能测试 1. 什么是性能测试? 2. 性能测试的重要性 3. 性能指标--QPS和TPS ①QPS ②TPS 二.压测工具Jmeter 1. 什么是Jmeter? 2. Jmet ...

  5. 【性能测试】性能测试的基本流程

    转发自博客园贺满:https://www.cnblogs.com/puresoul/p/5463477.html,有删减. 本文主要介绍下性能测试的基本流程,性能测试从实际执行层面来看,测试的过程一般 ...

  6. nas 软件 性能测试,NAS性能测试

    您可以使用 FIO 进行吞吐和 IOPS 的性能测试. 性能测试前,请注意以下事项: 确认sunrpc_slot设置正确,详情请参考常见问题文档说明. 吞吐最大不会超过 ECS 带宽.如果您的 ECS ...

  7. 一步一步学谷歌性能测试(chrome) 性能测试教程

    一步一步学谷歌性能测试(chrome) 性能测试教程 (地图类) 第一章.测试的地址 第二章.来到控制台 第三章.设置成中文 第四章.录制脚本 第五章.保存测试结果 第六章.查看测试结果 第七章.认识 ...

  8. 什么是性能测试?为什么要进行性能测试?什么时候开展性能测试?性能测试流程是什么?性能测试有关术语是什么意思?

    前言 本文文章读起来过于枯燥,但是你用15-20分钟认真读一下,获取会为你理解性能测试有所帮助.其中有些是借鉴网上的一些大神的经验. 性能测试5问: 什么是性能测试? 性能测试是指被测系统在一点负载下 ...

  9. 性能测试 理论初探(一),什么是性能测试?性能测试的目的是?

    文章目录 前言 性能测试 目的 1.评估系统的能力 2.识别体系中的弱点 3.系统调优 4.验证稳定性(resilience)可靠性(reliability) 负载测试(Load Testing) 压 ...

  10. 【性能测试】性能测试基础:性能测试的概念、分类、场景和设计要点

    目  录 引  言 1  性能测试的基本概念 2  性能测试的分类 2.1 负载测试 2.2 压力测试 2.3 基准测试 2.4 配单测试 2.5 容量测试 2.6 稳定性测试 2.7 扩展性测试 2 ...

最新文章

  1. 2021年大数据ELK(二十一):Logstash简介和安装
  2. Mongo学习---mongo入门1
  3. CDN应用进阶 | 正确使用CDN 让你更好规避安全风险
  4. C++类和new、delete操作符和堆和栈内存的分配
  5. P1600 天天爱跑步
  6. kendo Grid json解析的问题
  7. jquery-选择器-筛选器
  8. 如何设计出高端大气、有黑科技感的可视化大屏?
  9. 5个免费的PPT模板下载网站
  10. ArcGIS实验教程——实验二十八:统计图表(饼状图、柱状图)制作
  11. 进击的海姆达尔Heimdallr,2021年链游最后一趟财富专列
  12. ZCMU-1428: Bit++ (水)
  13. eclipse php集成包,php-eclipse集成配置(Ecli
  14. SQL Server 、SQLiteSpy、Access对应数据库后缀名分别是什么?
  15. [转载] 中美德突发事件应急指挥组织结构初探
  16. linux 进入mysql
  17. 华为android10手机隐藏小游戏,华为手机10个实用好玩的隐藏功能
  18. LeetCode hot-100 简单and中等难度,31-40.
  19. 11. 集合set类型详解
  20. python作业.创建两个文本框,一个按钮。第 1 个文本框绑定任意键事件,敲击键盘任意可显示字符,在交互窗口中显示该字符;第 2 个文本框绑定<a>键事件,敲击键盘 a 字符,在交互窗口中显示 10

热门文章

  1. mysql _bin编码_mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别
  2. android nfc开发_意法半导体NFC产品线完整 满足多元应用_企业动态_新闻中心
  3. oracle 查询时间点数据_ORACLE中查询时间点前后一分钟的数据
  4. 洛奇英雄转无法读取游戏服务器状态,洛奇英雄传无法连接服务器认证失败处理方法讲解...
  5. java视频编辑怎么实现_OpenGL 实现视频编辑中的转场效果
  6. 如何解决string转CString乱码问题?
  7. HALCON 20.11:深度学习笔记(10)---分类
  8. VMWare——window server 2008/2012 administrator 密码忘记,设置重置密码
  9. MyBatis 使用
  10. hadoop之 Zookeeper 分布式应用程序协调服务