- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
性能测试入门.
性能测试入门篇
软件性能
概念
在段念老师的《软件性能过程详解语案例分析》一书中,是这样来定义性能的:首先,性能是一种指标,表明软件系统或构件对于其纪实性要求的符合程度;其次,性能是软件产品的一种特性,可以用时间来衡量。
这个定义还是比较抽象的,其实每个人都对性能有自己的见解和感受,一般用户都很关心产品的性能,但性能具体怎么解释,怎么评估可能每个人都有自己的衡量标准。下面就三种主要用户来谈谈软件性能的具体的概念。
(1)对于一般用户而言,他们并不关心软件内部构件的机理,而只看重个人在使用过程的感受。最直接的感受就是响应时间。比如按下按钮后,多久才出现网页画面。而具体响应时间包括服务器间的耗时,网络延时等等,他们并不关心。这里需要指出的是现在很多网站就从用户角度出发,尽量让客户感觉这个“响应时间”更短,比如采取“逐步呈现”的方法,让少部分资源更快的先显示,至于图片视频等材料慢慢呈现,只要看到一些静态框架,用户就会感觉网站已经有了响应。
(2)对于开发人员而言,他们会从系统架构,数据库具体设计,代码设计等微层面来衡量软件性能。如:系统内存的使用方式是否合理,系统是否有不合理的线程同步,数据库设计是否合理,代码是否运行高效,是否有死锁等等。
(3)对于管理人员,他会关心响应时间这样的客户体验,但并不局限于此,他还需要了解系统的可扩展性,稳定性等指标。
从以上三类典型用户对性能的理解来看,我们知道软件性能除了给抽象的定义外,我们更应该关注不同层次人员对性能的具体体验,从而具体的把握软件性能,继而研究如何提高性能。
相关术语
其实我们在上面多次提到响应时间,它就是来描述软件性能的一个很重要的指标,那我们谈论到软件性能问题都不可避免的跟以下词语打交道:
响应时间
响应时间即对一个具体请求做出响应所需的时间。响应时间可以具体分解为“网络传输时间”和“应用延迟时间”。网络传输时间主要是指数据在网络上传输所消耗的时间。应用延迟时间具体又可分为数据库延迟时间和应用服务器延迟时间。
对于响应时间的要求并没有一个统一的界限,不同用户要求也不同。比如耐心的用户可能愿意等较长时间,而性情急躁的用户可能等5秒钟就闲多。但一般我们遵循2/5/10等原则。具体意识是:在2秒钟内给客户响应被认为是非常好的,在5秒钟内响应被认为是可以接受的,而10秒钟是用户可以接受的上限了。当然这是在美国和欧洲的统计数据,个人觉得在国内如果这样界定,很多网站都是难符合规范的。
并发用户数
并发用户数即同一个时间段访问系统的用户总合。很容易理解,同一时刻,访问网站的用户数越多,那么这个网站受到的压力也就越大。所以,系统所能承受的并发用户数也是衡量系统性能的一个很重要的标志。
在计算并发用户数时有两种公式:一般公式是
C= nL/T
C^=C+3
C 是指并发用户数,n是指login session的数量,L是login session 的平均长度,T是考察的时间段长度,典型为8小时。
除此之外,对于企业使用的Web系统来说,一个更一般的经验公式为:
C = n/10
C^ =r*C
r为调整因子,一般为2~3。
吞吐量
吞吐量指单位时间内系统处理的客户请求的数量。吞吐量的计算公式为:
F=(Nvu * R)/T
其中,F表示吞吐量,Nvu 表示虚拟用户的个数,R表示每个用户发出的请求数,T表示性能测试所用时间。
性能计数器
所谓性能计数器即用来描述或表征系统性能的一些数据指标。例如对于Windows系统而言,内存数,进程时间就是性能计数器。
分析性能比如有内存分析法,处理器分析法,磁盘分析法等等,针对操作系统,应用服务器,数据库服务器等都有具体的性能指标,在具体分析中我们需要参照具体的文档来具体分析这些指标,从而定位性能问题。
思考时间
思考时间是指请求之间的间隔时间。在自动化测试中为了真实的模拟用户操作就需要设置等待时间,即思考时间。
软件性能测试
概念
软件性能测试即是针对与衡量软件性能的测试方法。网上常有朋友说性能测试是最有前途的测试职业,我想这也从侧面表现了性能测试的重要性吧。
方法论
在进行性能测试时,有一些比较常见的方法。具体有:
SEI负载测试计划过程,RBI方法,性能下降曲线分析法等等,这些方法对于我们实施测试很有帮助,在段念老师的书中解释的很具体,具体实施过程中只要按部就班就可以了。书中作者还提出了一个PTGM模型,后面的案例分析方法就是利用这个方法进行的
文档评论(0)