响应时间(response time)
响应时间,是指系统对用户操作的反馈时间。我们可以举一个163邮箱登录的例子:
我们如何来测试邮箱的登录响应时间呢?我们首先进入mail.163.com网页,输入合法的用户名和密码,点击“登录”,直到登录后的邮箱界面完全显示出来为止。那么响应时间从什么时候开始计算呢?是我们输入用户名的时候,还是点击“登录”的时候?
显然,我们应该从按下“登录”按钮的那一瞬间开始计时,到登录后页面完全显示出来为止,这才是真正的用户登录时间,而不包括用户输入用户名和密码的时间以及思考停顿的时间(think time)
登录响应时间其实包括3个部分:网络传输时间,服务器处理时间,浏览器显示时间
即登录响应时间=网络传输时间*2+服务器处理时间+客户端显示时间
网络传输是双向的,所以要乘以2。网络传输时间又可以包括接入网的传输时间和互联网中的传输时间,它的大小和你所使用的上网方式有关,比如光纤一般要比adsl要快。
服务器包括web服务器和数据库服务器,服务器处理时间是我们测试的重点,也是我们能够控制的部分,因为最终用户用什么机器上网,什么接入方式上网我们是控制不了的。我们要重点测试服务器的处理速度如何,以及能否承受较大的压力,我们可以用工具(比如LoadRunner)来模拟大量用户同时登录访问服务器,来查看服务器的承载能力。
客户端显示时间,如何将服务器传过来的页面尽快地显示到浏览器上,是开发人员需要考虑的问题,这里面涉及到算法优化的问题,这也是开发人员容易忽略的地方。
由此可见,响应时间是可以分解成若干个时间段的,任何一个环节出问题都会影响到最终的响应时间,这就需要我们在实际工作中结合具体情况加以分析。
最后再说明一点,响应时间的快慢是一个相对的概念,没有绝对的标准,比如对于163邮箱登录来说,用户可以接受的时间可以在10秒以内,而对于一个实时的军工软件来说,相应时间要精确到毫米级别甚至更低。
对于普通的web网站来说,一个普遍被接受的响应时间标准是2/5/10,即用户对2秒钟以内的的响应时间非常满意,对于5秒钟以内的响应时间基本满意,对于10秒钟以上的响应时间则无法接受,如图2-3
吞吐量(throughput)
吞吐量,是指单位时间内流经被测系统的数据流量,一般单位为b/s,即每秒钟流经的字节数。
吞吐量是大型门户网站以及各种电子商务网站衡量自身负载能力的一个很重要的指标,一般吞吐量越大,系统单位时间内处理的数据越多,系统的负载能力也越强。
吞吐量和很多因素有关,比如服务器的硬件配置,网络的拓扑结构,软件的技术架构等。实际工作中,我们往往对升级客户的硬件配置无能为力,大多数情况下,我们还是在软件的技术架构上做文章:
比如后台数据库装oracle还是装sql server,显然前者的处理能力更强;
web服务器是用weblogic还是iis,要看服务器端的语言是jsp还是asp…
测试的时候多跟项目经理,系统架构师以及用户沟通,来获取系统架构的第一手材料。
并发(concurrency)
并发,是指多个同时发生的操作。比如有10个用户同时点击“登录”按钮(注意是同时),来登录163邮箱,我们就说此次登录163邮箱的并发数为10。
需要注意的是,并发和并行不是一个概念,并发是同时发生,并行是同步运行。10个用户并发登录163邮箱,只是在点击“登录”按钮那一瞬间是并行的,而登录后各个用户的操作则不同步。
稳定性测试
稳定性测试,也叫可靠性测试(reliability testing),是指连续运行被测系统,检查系统运行时的稳定程度。
我们通常用mtbf(mean time between failure,即错误发生的平均时间间隔)来衡量系统的稳定性,mtbf越大,系统的稳定性越强
稳定性测试的方法也很简单,即采用24*7(24小时*7天)的方式让系统不间断运行,至于具体运行多少天,是一周还是一个月,视项目的实际情况而定。
负载测试(load testing)
负载测试,是性能测试的一种,通常是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。
可以看出负载测试和稳定性测试比较相似,都是让被测系统连续运行,区别就在于负载测试需要给被测系统施加其刚好能承受的压力,比如我们还是测试163邮箱系统的登录模块,我们先用1个用户登录,再用两个用户并发登录,再用5个,10个…在这个过程中,我们每次都需要观察并记录服务器的资源消耗情况(可以通过任务管理器中的性能监视器或者控制面板中的性能监视器),当发现服务器的资源消耗快要达到临界值时(比如cpu的利用率90%以上,内存的占有率达到80%以上),停止增加用户,假如现在的并发用户数为20,我们就用这20个用户同时多次重复登录,直到系统出现故障为止。
负载测试为我们测试系统在临界状态下运行是否稳定提供了一种办法。
压力测试(stress testing)
压力测试,是性能测试的一种,通常是指持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。
比如我们不断增加并发的登录用户数,20,30,50…比如,当增加到70个用户并发登录时,系统崩溃了,我们就可以知道163邮箱所能承载的最大登录并发数为70个左右。
我们把上面的思路整理一下,编写一下163邮箱登录模块性能测试用例,供大家参考(假设163邮箱要求登录的时间最多不超过10秒,测试环境略)
关于性能测试的分类,可以举一个比较通俗的例子方便大家理解:
假设一个人很轻松就能背1袋米,背2袋米很吃力,最多就能背3袋米
稳定性测试--我让他背1袋米,但是让他去操场上跑圈,看多久累倒。
负载测试--我让他背2袋米去操场上跑圈,看多久累倒。
压力测试--我让他背2袋米,3袋米,4袋米…发现他最多就能背3袋。
分享到:
相关推荐
在IT行业中,软件性能...总的来说,性能测试是确保软件质量不可或缺的一部分,它涵盖了多种测试类型和术语,每个环节都需要细致的操作和深入的理解。通过有效的性能测试,我们可以优化系统性能,提供更好的用户体验。
【性能测试报告】 1. 引言 性能测试是评估Web项目在...在实际工作中,性能测试不仅是一个一次性任务,而是需要在整个项目生命周期中不断进行的过程,以适应业务的增长和变化,确保系统始终能够提供优质的用户体验。
本软件系统性能测试报告旨在详尽记录和分析我们进行的压力测试过程,以便评估系统在不同负载条件下的性能表现。压力测试是通过逐步增加负载来检验系统的稳定性和响应能力,以确保其在高并发或大数据量的情况下仍能...
#### 二、软件性能的几个主要术语 **1.2.1 响应时间** 响应时间是指从客户端发起请求到收到服务器响应的整个过程所需的时间。它包括以下几个阶段: - **网络传输时间**:请求数据在网络中的传输时间。 - **服务器...
性能测试的重要性体现在以下几个方面: - **性能瓶颈的发现**:通过性能测试可以识别出系统性能的瓶颈点,为后续的系统优化提供重要的依据。 - **提升用户体验**:确保系统在高负载情况下仍能保持良好的响应速度和...
CP测试,全称为Chip Probing,是在晶圆级进行的测试,目的是检测每个Die(芯片单元)的功能和性能。这一阶段的测试通常包括对基本器件参数的测量,如阈值电压(vt)、导通电阻(Rdson)、源漏击穿电压(BVdss)、栅...
在深入了解大型项目级性能测试流程之前,我们先来定义几个关键术语。 **1.1 企业级性能测试** 企业级性能测试是指对大型企业的软件系统进行的全面性能评估。这种测试不仅关注软件的功能性,还特别强调其在高负载、...
- **JMeter**:开源性能测试工具,主要用于Web应用的性能测试,支持多种类型的请求,易于使用且功能强大。 - **Gatling**:现代高性能的压力测试工具,基于Scala语言编写,支持HTTP、WebSocket等协议,特别适合高...
一个完整的性能测试方案设计模板通常包括以下几个组成部分: 1. 项目背景:介绍项目的背景和目的,包括项目的目标、范围和假设等。 2. 项目目标:明确项目的目标和要求,包括性能指标和测试范围等。 3. 测试范围:...
随着计算机和软件工程领域的快速发展,新的技术与概念不断涌现,软件性能测试作为一个重要的领域,涉及了众多的专业术语和方法论。对于新手而言,理解这些概念可能会感到困惑。然而,透过现象看本质,从哲学的角度来...
- 本部分内容详细解释了几个重要的专业术语,如汽车容载量、主动安全性、被动安全性等,这些概念是理解汽车性能的基础。 **五、简答题** - 本部分内容通过简答题的形式进一步阐述了汽车性能检测的内容、目的以及...
LoadRunner中的几个关键术语包括事务(度量服务器响应时间)、集合点(同步多个虚拟用户)、注释(描述测试活动)、函数(辅助测试的功能)、参数(动态数据)和关联(处理动态内容,如验证码)。VuGen的"Compare ...
它通过将目标用户群体随机分为几组,并对每组应用不同的技术,然后比较各组的性能差异,从而评估新技术的有效性。A/B测试的关键在于它不仅确定哪种技术更优,还要确定这种差异是否在统计上有显著性。 在模型评估...
在性能测试培训中,我们通常会涉及以下几个关键知识点: 首先,我们要理解什么是软件性能。从不同的视角来看,性能有不同的含义。对于用户而言,性能可能体现在系统响应速度,即应用程序从接收到请求到返回结果所需...
性能1.3LoadRunner术语在LoadRunner中包含以下几个常用术语,简单描述如下:(1)场景:场景是一个文件,用于根据性能要求或是性能需求定义在每一个测试会话运营期间发生的事件。(2)Vuser:在场景中,RoadRunner用虚拟...
文档主要关注以下几个方面: 1. 测试流量:定义了用于基准测试交换设备时使用的流量类型和特征,包括各种数据包大小、流量模式和负载条件。 2. 转发性能:衡量交换设备在不同负载下的数据包处理能力,包括吞吐量、...