一、什么是性能测试

什么是性能测试,这是对于很多人来说是模糊的,我们来看下百度百科的答案。

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

一句话就是通过自动化测试工具模拟各种情况对系统的各项性能指标进行测试。

二,性能测试目的

目的是为了验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈问题,通过优化软件代码配置等,最后起到优化系统的目的。

包括以下几个方面

1.评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。

2.识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。

3.系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。

检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。

4.验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。

类型

性能测试类型包括负载测试,强度测试,容量测试等。

负载测试(Load Testing):负载测试是一种主要为了测试软件系统是否达到需求文档设计的目标,譬如软件在一定时期内,最大支持多少并发用户数,软件请求出错率等,测试的主要是软件系统的性能。

压力测试(Stress Testing):强度测试也就是压力测试,压力测试主要是为了测试硬件系统是否达到需求文档设计的性能目标,譬如在一定时期内,系统的cpu利用率,内存使用率,磁盘I/O吞吐率,网络吞吐量等,压力测试和负载测试最大的差别在于测试目的不同。

容量测试(Volume Testing):确定系统最大承受量,譬如系统最大用户数,最大存储量,最多处理的数据流量等。

性能测试中包含以下测试类型:

基准测试 - 比较新的或未知测试对象与已知参照标准(如现有软件或评测标准)的性能。

负载测试- 核实在保持配置不变的情况下,测试对象在不同操作条件(如不同用户数、事务数等)下性能行为的可接受性。

强度测试- 核实测试对象性能行为在异常或极端条件(如资源减少或用户数过多)之下的可接受性。

容量测试- 核实测试用户同时使用软件程序的最大数量。

性能评价通常是和用户代表一起协作并且以多级方法执行的。

如果对软件测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

做性能测试必须了解的性能测试基础知识相关推荐

  1. 做接口测试前必备的网络基础知识,你get了吗?

    在面试时,不管是面试功能测试.自动化测试.测试开发乃至性能测试,都会问到计算机网络基础相关知识.今天主要介绍一些高频的网络基础面试题目,网络情缘一线牵,珍惜这段缘,如果觉得有帮助,欢迎留言.点赞.转发 ...

  2. C语言程序设计做题笔记之C语言基础知识(下)

    C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的 ...

  3. 学完python基础知识之后可以做些什么-学完Python基础知识后,你真的会python吗?...

    前言 最近觉得 Python 太"简单了",于是在师父川爷面前放肆了一把:"我觉得 Python 是世界上最简单的语言!".于是川爷嘴角闪过了一丝轻蔑的微笑(内 ...

  4. Linux基础知识题解答(一)

    题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. 计 ...

  5. Linux基础知识题解答(四)

    题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. 1 ...

  6. 数字电路基础知识——格雷码和二进制码的转换的算法和Verilog实现

    数字电路基础知识--格雷码和二进制码的转换的算法和Verilog实现 关于数字电路中的码制问题在这篇博客中已经做了详细分析, 数字电路基础知识--数字IC中的进制问题(原码,反码,补码以及各进制的转换 ...

  7. MT4外汇交易入门需要了解哪些基础知识?

    现在,外汇投资是一种热门的理财方式,MT4交易平台就在这样的大形势下应运而生,许多用户都会在MT4平台上进行外汇交易,由于MT4平台是一款软件,因此使用前要先进行下载,下载MT4交易平台后,就需要学习 ...

  8. 蓝牙模块选型及基础知识介绍

    目录 前言 一.蓝牙基础知识 1.蓝牙发展 2.苹果MFI认证 3.蓝牙协议 4.蓝牙与单片机通信方式 5.蓝牙单模 6.蓝牙双模 7.iBeacon 二.蓝牙模块选型 1.HC蓝牙模块 2.首选HC ...

  9. 基础知识 -- 问答

    01.Main函数是什么?在程序中使用Main函数有什么需要注意的地方? Q:程序的入口函数!函数名字不能改变:一个程序中有且只有一个Main函数. 02.CLR是什么?程序集是什么?当运行一个程序集 ...

  10. JMeter性能测试的基础知识和个人理解

    JMeter性能测试的基础知识和个人理解 1. JMeter的简介   JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常 ...

最新文章

  1. 三阶魔方自动还原 vc实现
  2. 2410 中断过程处理分析
  3. 如何用Python画画
  4. mysql 10进制转2进制_Oracle 10进制转换2进制
  5. ppt倒计时_年终会议做一个这样的倒计时PPT,保证惊艳全场!1分钟就能学会
  6. 不要再用main方法测试代码性能了,用这款JDK自带工具
  7. 【LeetCode】031. Next Permutation
  8. Python 几种可视化方法随笔
  9. 计算机仿真保密,量子密钥分配方案的安全性研究及其计算机仿真
  10. .net中前台javascript与c#后台代码调用
  11. Python-Matplotlib 7 饼状图
  12. 大卫科波菲尔优秀读后感范文4000字
  13. Linux系统内核升级
  14. 渗透测试工具包 | 开源安全测试工具 | 网络安全工具
  15. html svg单击事件,html5 svg 中元素点击事件添加方法
  16. Centos8 硬盘扩容
  17. JavaWeb程序填空题
  18. 五步轻松搞定QGIS三维地形浏览
  19. IVX低代码平台开发——微信小程序实现抽奖功能
  20. ps -ef和ps -aux的区别

热门文章

  1. 【连载】《linux入门很简单》电子版——作者:刘金鹏(1.4G大叔)
  2. 独立产品灵感周刊 DecoHack #041 - 那些独立开发者是怎么养活自己的
  3. 万字说透 NFT 的发展简史、价值及未来
  4. python 组合优化 回撤最小_Python进阶量化交易专栏场外篇23-Markowitz实现股票最优组合...
  5. 怎样打印身份证-没有扫描仪 用相机拍的
  6. phpjson_encode中文变\u***格式解决方案
  7. matlab灰度图像一致性校正方法
  8. 计算机毕业设计(附源码)python作业管理系统设计
  9. 如何修改SE38编辑器主题
  10. windows离线补丁包下载路径-云盾安骑士