常见的软件性能测试方法有以下几种:

1.负载测试
  在这里,负载测试指的是最常见的验证一般性能需求而进行的性能测试,在上面我们提到了用户最常见的性能需求就是“既要马儿跑,又要马儿少吃草”。因此负载测试主要是考察软件系统在既定负载下的性能表现。我们对负载测试可以有如下理解:
(1)负载测试是站在用户的角度去观察在一定条件下软件系统的性能表现。
(2)负载测试的预期结果是用户的性能需求得到满足。此指标一般体现为响应时间、交易容量、并发容量、资源使用率等。
2.压力测试
  压力测试是为了考察系统在极端条件下的表现,极端条件可以是超负荷的交易量和并发用户数。注意,这个极端条件并不一定是用户的性能需求,可能要远远高于用户的性能需求。可以这样理解,压力测试和负载测试不同的是,压力测试的预期结果就是系统出现问题,而我们要考察的是系统处理问题的方式。比如说,我们期待一个系统在面临压力的情况下能够保持稳定,处理速度可以变慢,但不能系统崩溃。因此,压力测试是能让我们识别系统的弱点和在极限负载下程序将如何运行。
  例子:负载测试关心的是用户规则和需求,压力测试关心的是软件系统本身。对于它们的区别,我们可以用华山论剑的例子来更加形象地描述一下。如果把郭靖看做被测试对象,那么压力测试就像是郭靖和已经走火入魔的欧阳峰过招,欧阳锋蛮打乱来,毫无套路,尽可能地去打倒对方。郭靖要能应对住,并且不能丢进小命。而常规性能测试就好比郭靖和黄药师、洪七公三人约定,只要郭靖能分别接两位高手一百招,郭靖就算胜。至于三百招后哪怕郭靖会输掉那也不用管了。他只要能做到接下一百招,就算通过。
思考
  我们在做软件压力测试时,往往要增加比负载测试更多的并发用户和交易,这是为什么?
3.并发测试
验证系统的并发处理能力。一般是和服务器端建立大量的并发连接,通过客户端的响应时间和服务器端的性能监测情况来判断系统是否达到了既定的并发能力指标。负载测试往往就会使用并发来创造负载,之所以把并发测试单独提出来,是因为并发测试往往涉及服务器的并发容量,以及多进程/多线程协调同步可能带来的问题。这是要特别注意,必须测试的。
4.基准测试
  当软件系统中增加一个新的模块的时候,需要做基准测试,以判断新模块对整个软件系统的性能影响。按照基准测试的方法,需要打开/关闭新模块至少各做一次测试。关闭模块之前的系统各个性能指标记下来作为基准(Benchmark),然后与打开模块状态下的系统性能指标作比较,以判断模块对系统性能的影响。
5.稳定性测试
  “路遥知马力”,在这里我们要说的是和性能测试有关的稳定性测试,即测试系统在一定负载下运行长时间后是否会发生问题。软件系统的有些问题是不能一下子就暴露出来的,或者说是需要时间积累才能达到能够度量的程度。为什么会需要这样的测试呢?因为有些软件的问题只有在运行一天或一个星期甚至更长的时间才会暴露。这种问题一般是程序占用资源却不能及时释放而引起的。比如,内存泄漏问题就是经过一段时间积累才会慢慢变得显著,在运行初期却很难检测出来;还有客户端和服务器在负载运行一段时间后,建立了大量的连接通路,却不能有效地复用或及时释放。
6.可恢复测试
  测试系统能否快速地从错误状态中恢复到正常状态。比如,在一个配有负载均衡的系统中,主机承受了压力无法正常工作后,备份机是否能够快速地接管负载。可恢复测试通常结合压力测试一起来做。
  提示:每种测试有其存在的空间和目的。当我们接手一个软件项目后,在有限的资源条件下,选择去做哪一种测试,这应该根据当前软件过程阶段和项目的本身特点来做选择。比如,在集成测试的时候要做基准测试,在软件产品每个发布点要做性能测试。

常见的软件性能测试方法相关推荐

  1. 软件测试面试题:常见的性能测试方法有哪些?以及每类测试方法的目的是什么?

    常见的性能测试方法有哪些?以及每类测试方法的目的是什么? 1)基准测试:确保测试环境无问题,初步评估每次只是单独运行一个交易时,当前系统的响应时间是否够快,各服务器的CPU.内存耗用是否合理; 2)单 ...

  2. 【学习笔记】常见测试类型测试方法

    测试类型: 质量属性解决的是要从哪些角度去设计产品才能满足用户的需求,那么测试类型解决的就是测试要从哪些角度去分析和测试产品: 测试方法: 测试类型讨论了要从哪些角度去测试产品,确定了测试的思路,那具 ...

  3. 常见漏洞验证测试方法

    收集整理了一些常见漏洞的验证测试方式,以及参考链接.有补充再加 序号 漏洞名称 验证方式 1 跨站脚本 1. GET方式跨站脚本: 1) 在输入的参数后逐条添加以下语句,以第一条为例,输入http:/ ...

  4. SQL注入攻击的常见方式及测试方法

    本文主要针对SQL注入的含义.以及如何进行SQL注入和如何预防SQL注入让小伙伴有个了解.适用的人群主要是测试人员,了解如何进行SQL注入,可以帮助我们测试登录.发布等模块的SQL攻击漏洞,至于如何预 ...

  5. SQL注入攻击常见方式及测试方法

    本文主要针对SQL注入的含义.以及如何进行SQL注入和如何预防SQL注入让小伙伴有个了解.适用的人群主要是测试人员,了解如何进行SQL注入,可以帮助我们测试登录.发布等模块的SQL攻击漏洞,至于如何预 ...

  6. 怎么做应力应变曲线_常用的应力测试方法及其在船舶系统零部件中的应用

    船舶系统零部件长期处于高温.高压和高湿的海洋环境中,会受到海水的流动.气泡.温度.湿度.冲击力以及海水中众多腐蚀性介质和微生物的影响.当金属材料在特定的腐蚀环境下,持续存在拉应力的作用时,将会导致严重 ...

  7. 20种常用的软件测试方法,建议先收藏再观看

    软件测试在完整的项目当中算是最后一个环节,也是非常重要的一个环节.通过软件测试,我们才能得知一个程序是否符合标准. 小编整理出20种常见的软件测试方法,建议伙伴们先收藏再看.不敢说史上最全,但我办公室 ...

  8. 软件测试有哪些常用的测试方法?

    软件测试是软件开发过程中重要组成部分,是用来确认一个程序的质量或者性能是否符合开发之前提出的一些要求.软件测试的目的有两方面,一方面是确认软件的质量,另一方面是提供信息,例如,给开发人员或者程序经理反 ...

  9. Monkey框架(测试方法篇) - monkey测试实例

    一.常规的稳定性测试 测试背景: 这是一个海外的合作项目,被测程序是Android应用(App).测试希望通过Monkey来模拟用户长时间的随机操作,检查被测应用是否会出现异常(应用崩溃或者无响应). ...

最新文章

  1. 【数理知识】《积分变换与场论》王振老师-第1章-傅里叶变换
  2. C#实现对指定文件夹中文件按修改时间排序
  3. 【Linux网络编程】TCP编程
  4. uiview生命周期
  5. 计算机视觉python入门_计算机视觉应该怎样入门?
  6. 常见的视频格式有很多,用“格式工厂”转换大部分格式
  7. 整理的几个常用的数据库维护的脚本
  8. python selenium等待特定网页元素加载完毕
  9. nyoj810 贪心的嘿嘿(想弄死这出题的)
  10. 2014最新苹果开发者账号注册流程图解分享
  11. IDEA+Java控制台实现商品管理系统
  12. Visual Studio 2019 Community 离线注册教程
  13. 严题集6.65//Leetcode105 已知二叉树前序序列和中序序列分别存放在两个一位数组中,建立该二叉树的二叉链表
  14. java web 发送短信_java程序或javaweb(网站)向手机发送短信
  15. 搭建 Kodbox 私有云教程
  16. 是谁扼杀了你的梦想?
  17. 推荐一本书《Atomic Habits》
  18. lrtimelapse 5.2.1中文版 附安装教程
  19. 二年级课程表(3月1日-3月4日)
  20. vue2 + elementui 日期时间选择器 禁止选择当前时间之前的日期及时间,并添加相应校验规则

热门文章

  1. CEO、COO、CFO、CTO、CIO是什么意思
  2. 设计模式七大原则知识概括
  3. 高等数学函数图像绘制
  4. 第十一届蓝桥杯单片机省赛题目解析
  5. 本地缓存-loadingCache
  6. 微信公众账号服务号自定义菜单配置与实现
  7. 测试基于STM32的ADIS16405评估板,并在匿名四轴上实时显示3轴陀螺仪+3轴加速度计+3轴磁力计 波形。本文最后还公开一个基于C# 的串口波形显示客户端源码。
  8. 报数游戏(3)--【英雄会】
  9. 集中合同管理与分散合同管理
  10. 团队交流合作简单解决方案:TeamViewer远程控制会议演示 + HyperCam屏幕录制(免费)...