1.2.2 性能测试策略揭秘51Testing软件测试网2FUV"c+BP3F [ q

51Testing软件测试网h3@'h

C5A]1|.\

n1ta;C/X0谈到“策略”,这是如今很火、使用较多的一个词。不光在IT领域,其他各个行业中也都有各种各样的策略,如营销策略、风险规避策略等。策略即谋略、手段、方法,表现为权宜的行动路线、指导原则或过程。YjN$p?sCyzz

K+]0

dMgxe|;z2A$a0做事情讲策略,这是一种智慧,是人们聪明起来的表现,但当越来越多的策略“概念化”的时候,我们不得不去思考我们到底要达到什么样的目标,什么样的策略才是我们需要的。51Testing软件测试网*Z0hr9z5^6h51Testing软件测试网4t6sSr'qb

案例WD#ju1MR#~F+i0

)w9Ji5|:it0引用网上一位哲人说的话:“概念只是为了方便人们理解和研究世界万物事物而制造的工具,而最终结果将使概念不再需要,就如同庄子所说的得意而忘言”。语言就是一种包装材料,它包装的是某种含义。因为人类传递信息必须使用语言,所以我们在研究的时候不得不借助于这种包装,但是当人的思维能力具备了打开包装直接取得内部的含义的时候,语言就变得多余了。这时候再关注于语言和概念本身就成了买椟还珠的现代版了。51Testing软件测试网rEJP:A6ts;t51Testing软件测试网}o0i4`V(P;B

因此,我们应该关注的不是概念本身,而是概念背后的含义。理解了含义,再冠予它什么样的名词头衔,如“攻略“,对于我们都无关紧要了。而理解一个概念,我们可以靠WWH方法,即对概念的三个问题:Why、What、How。z3_zz\"Q$f051Testing软件测试网NIF:ap#@Q:E

好,言归正传,回到软件性能测试策略中来。在性能测试过程中,只要有事情做,就会有策略,如设计用例有设计策略,执行时有执行策略,调优时还有调优策略。为了不产生混淆,我们要说明的是,在本节中讨论的策略是性能测试设计策略。51Testing软件测试网m'M+X;UM8UPJ51Testing软件测试网-Zx4uv&m3J

_:A3PF

Why(为什么会有不同的策略)FN]LY4L A&Q#Z0

K9S*{C-~T'i0在软件性能一节中,我们看到软件的性能来自软件对空间和时间的综合方案,这种组合是很多的,因此用户的软件性能需求可能会多种多样。对于软件人员,我们做性能测试也要因地制宜,根据不同的性能需求,选择不同的测试策略。51Testing软件测试网"gw.Mb,[ J[51Testing软件测试网 Xn@"}J+g5k|%Km P

What(什么是性能测试设计策略)51Testing软件测试网TK#tW}1eA@51Testing软件测试网MF[?.A.Q4~

验证性能需求是测试目的,测试策略即已经被证明是行之有效的测试方法。51Testing软件测试网XmO!k]&p9D1C;Q a

3f1r@7O'FSa0How(怎样实施)(P(sF`tB+f%U051Testing软件测试网.XtA w,tc

Tzn!~

常见的性能测试方法有以下几种:51Testing软件测试网9}-vZr}K

8L4t!Ri?'b*l0Z.|#ye01.负载测试4hBppt F$]051Testing软件测试网xs$HR+n

在这里,负载测试指的是最常见的验证一般性能需求而进行的性能测试,在上面我们提到了用户最常见的性能需求就是“既要马儿跑,又要马儿少吃草”。因此负载测试主要是考察软件系统在既定负载下的性能表现。我们对负载测试可以有如下理解:51Testing软件测试网V

zv!dG'? nz.pP51Testing软件测试网+L,x+b"tjX

(1)负载测试是站在用户的角度去观察在一定条件下软件系统的性能表现。51Testing软件测试网J@]~7B^$r's9s51Testing软件测试网W.f!Xxc

xD#A

(2)负载测试的预期结果是用户的性能需求得到满足。此指标一般体现为响应时间、交易容量、并发容量、资源使用率等。Av_TP*z7u4QFLI!x0

f2aG1[

Y{m-wN02.压力测试51Testing软件测试网Y+w{CCa51Testing软件测试网A9o(U.V%Vo&` Pc?9u

压力测试是为了考察系统在极端条件下的表现,极端条件可以是超负荷的交易量和并发用户数。注意,这个极端条件并不一定是用户的性能需求,可能要远远高于用户的性能需求。可以这样理解,压力测试和负载测试不同的是,压力测试的预期结果就是系统出现问题,而我们要考察的是系统处理问题的方式。比如说,我们期待一个系统在面临压力的情况下能够保持稳定,处理速度可以变慢,但不能系统崩溃。因此,压力测试是能让我们识别系统的弱点和在极限负载下程序将如何运行。/z9wK|(PHR$Tn051Testing软件测试网^(pe8gf,cv

_

例子:负载测试关心的是用户规则和需求,压力测试关心的是软件系统本身。对于它们的区别,我们可以用华山论剑的例子来更加形象地描述一下。如果把郭靖看做被测试对象,那么压力测试就像是郭靖和已经走火入魔的欧阳峰过招,欧阳锋蛮打乱来,毫无套路,尽可能地去打倒对方。郭靖要能应对住,并且不能丢进小命。而常规性能测试就好比郭靖和黄药师、洪七公三人约定,只要郭靖能分别接两位高手一百招,郭靖就算胜。至于三百招后哪怕郭靖会输掉那也不用管了。他只要能做到接下一百招,就算通过。51Testing软件测试网mp)Mp"yClO

!j'Qy'_,LC-C0思考F#O|R$E\0

3Z7^"{^;D6z0我们在做软件压力测试时,往往要增加比负载测试更多的并发用户和交易,这是为什么?X.t[nOr0

$jN(f{-b)P.A0D03.并发测试51Testing软件测试网(F,dc BeU9r#X)T&Z51Testing软件测试网ko#`\agh"{$z

验证系统的并发处理能力。一般是和服务器端建立大量的并发连接,通过客户端的响应时间和服务器端的性能监测情况来判断系统是否达到了既定的并发能力指标。负载测试往往就会使用并发来创造负载,之所以把并发测试单独提出来,是因为并发测试往往涉及服务器的并发容量,以及多进程/多线程协调同步可能带来的问题。这是要特别注意,必须测试的。RM r'Yyys*x051Testing软件测试网

hF9Q`?^

4.基准测试D;Y*G.\(bD051Testing软件测试网d*`$^@~6J$Wa

W,}

当软件系统中增加一个新的模块的时候,需要做基准测试,以判断新模块对整个软件系统的性能影响。按照基准测试的方法,需要打开/关闭新模块至少各做一次测试。关闭模块之前的系统各个性能指标记下来作为基准(Benchmark),然后与打开模块状态下的系统性能指标作比较,以判断模块对系统性能的影响。iHY2EC'@(qHR

@051Testing软件测试网%V2D

]`'s,E

5.稳定性测试U0N;EZjH:ndp0

/QxP[wKU|0“路遥知马力”,在这里我们要说的是和性能测试有关的稳定性测试,即测试系统在一定负载下运行长时间后是否会发生问题。软件系统的有些问题是不能一下子就暴露出来的,或者说是需要时间积累才能达到能够度量的程度。为什么会需要这样的测试呢?因为有些软件的问题只有在运行一天或一个星期甚至更长的时间才会暴露。这种问题一般是程序占用资源却不能及时释放而引起的。比如,内存泄漏问题就是经过一段时间积累才会慢慢变得显著,在运行初期却很难检测出来;还有客户端和服务器在负载运行一段时间后,建立了大量的连接通路,却不能有效地复用或及时释放。51Testing软件测试网F] _3a%W;lq51Testing软件测试网m

AE%I(W!_ZPpv

6.可恢复测试51Testing软件测试网DPX*`:z/@)bR)gJb1W

bgq4K8@)`2v0测试系统能否快速地从错误状态中恢复到正常状态。比如,在一个配有负载均衡的系统中,主机承受了压力无法正常工作后,备份机是否能够快速地接管负载。可恢复测试通常结合压力测试一起来做。vRm/C9A%KYi0T)I0

f8o8T

ieS0每种测试有其存在的空间和目的。当我们接手一个软件项目后,在有限的资源条件下,选择去做哪一种测试,这应该根据当前软件过程阶段和项目的本身特点来做选择。比如,在集成测试的时候要做基准测试,在软件产品每个发布点要做性能测试。51Testing软件测试网 ~(_?3W#fsy3F3T$i

软件性能测试重要性,软件性能测试的重要性及策略-2相关推荐

  1. 软件性能测试重要性,软件性能测试的重要性及策略

    1.2.1 性能测试在 首先,软件性能测试属于软件测试范畴,存在于软件测试的生命周期中.一个软件的生产过程通常遵循V型图,如图1-3所示. 图1-3 软件 在通常的软件生产周期中,先由用户提出用户需求 ...

  2. 软件性能测试关注点,盘点性能测试必须掌握的技术点

    前段时间,有一些小伙伴提出希望我们推送点性能测试的技术干货.所以,小编今天通过上网查资料,结合项目实操过程中的一些问题,总结了一些关于性能测试的内容,希望是大家想要了解的内容哈. 1.性能测试的目的 ...

  3. 软件开发重要性_在软件开发中考虑时间的重要性

    软件开发重要性 by Crunch Tech 通过Crunch Tech 在软件开发中考虑时间的重要性 (The importance of time to think in Software Dev ...

  4. nas 软件 性能测试,理论读写性能测试

    评测平台介绍与说明:硬件平台 CPUIntel Core i7 4770K 主板华硕Z87-A 内存金士顿 DDR3-1600 4G*2 硬盘主盘:浦科特M5P 512G 测试盘:HGST 4TB N ...

  5. linux 性能测试 跑分,Tiger Lake i7-1165G7 Linux性能测试:软件版本组合对跑分影响较大...

    原标题:Tiger Lake i7-1165G7 Linux性能测试:软件版本组合对跑分影响较大 上周,Phoronix 分享了基于戴尔 XPS 13 9310(开发人员版)笔记本电脑的体验报告,让我 ...

  6. 电脑游戏性能测试脸型软件,CPU性能测试工具(XtremeMark)5.6.2.420 官方版

    CPU性能测试工具(XtremeMark)是一款功能强大的电脑CPU性能检测工具,使用者可以通过XtremeMark进行详细的电脑数据检查,软件能够详细的列举出CPU的数据,测试结果等等,很好用的一款 ...

  7. 如何设计软件性能测试方案,软件性能测试怎么做?有哪些步骤?

    性能测试与普遍的功能测试目标不同,因此其测试流程与普通的测试流程也不相同,虽然性能测试也是遵循测试需求分析--测试计划制订--测试用例设计--测试执行--编写测试报告的基本过程,但在实现细节上,性能测 ...

  8. 九代i7Linux,Tiger Lake i7-1165G7 Linux性能测试:软件版本组合对跑分影响较大

    原标题:Tiger Lake i7-1165G7 Linux性能测试:软件版本组合对跑分影响较大 来源:cnBeta.COM 上周,Phoronix 分享了基于戴尔 XPS 13 9310(开发人员版 ...

  9. vr测试速度软件,Steam发布VR性能测试软件

    近日,Steam 上线了一款电脑 VR 性能的测试软件,该软件目前免费,对自己电脑有信心的朋友不妨来测试一下自家电脑的性能. VR 电脑性能测试软件安装地址: 该软件于 2 月 22 日发布,主要作用 ...

  10. 转:性能测试中的性能测试指标与用户体验分析

    转自:http://www.ltesting.net/ceshi/ceshijishu/xncs/2012/0223/204182_2.html 性能测试中的性能测试指标与用户体验分析 网络应用性能分 ...

最新文章

  1. aspnetcore mvc 异常处理_深入探究ASP.NET Core异常处理中间件
  2. 实用 | 从Apache Kafka到Apache Spark安全读取数据
  3. 模型压缩千万不要选择剪枝,那就是一个坑,改造一个学生网络才是真的压缩
  4. 输入检测的诡异问题--firefox和ie的兼容性
  5. Intel Developer Forum 2010英特尔信息技术峰会第二天小记
  6. ON_MESSAGE,ON_COMMAND和ON_NOTIFY的区别和联系
  7. 机器翻译 - 日期翻译
  8. localstorage || globalStorage || userData
  9. 让cocos2dx支持并通过arm64 编译
  10. 兼容FF/IE的添加收藏夹的代码
  11. 咋安装redhatlinux镜像在哪下载_Windows7正版系统安装教程
  12. react 数据库排序_如何使用React对表数据进行排序
  13. OpenCV 4.0 rc版本发布,扩展计算图Graph API
  14. 预计2000元起步的骁龙855?魅族游戏手机16T有点猛!
  15. Maven学习总结(54)——使用 git-commit-id-plugin 插件来管理项目发版
  16. HDOJ-1272 小希的迷宫
  17. OPCUA-kepware读取工具安装及使用问题
  18. java 计算器 junit测试_Java—Junit单元测试
  19. 实探恒大FF南沙生产基地;百度外卖退出历史舞台;斗鱼永久关闭陈一发直播账号 | 雷锋早报...
  20. 所罗门王的宝藏(高斯消元)

热门文章

  1. 浙江大学计算机学院各专业介绍ppt模板,浙大硕士论文答辩经典ppt模板(几乎涵盖各种ppt制作技巧).ppt...
  2. 红蓝对抗之蓝队防守:ATTCK框架的应用
  3. Charles本地映射 修改返回 Map Local setting
  4. Pycharm导包失败
  5. selenium 爬抖音
  6. 【ARM指令】LDRD与STRD
  7. 如何最简洁的使用iOS 开发证书 和 Profile 文件
  8. Android 项目集成 Freeline
  9. 可执行文件的装载与进程
  10. hijackthis.exe