性能测试相关术语

发布时间 2023-09-09 22:42:37作者: QiuqL

摘要

本文主要是个人对于性能测试一些基础概念的总结,网络上有很多性能测试专业名词的解析,可能还各有差异,本文的名词解析参考来源为书籍:软件评测师教程。

为什么需要进行性能测试?

软件在进行功能测试之后就可以保证功能的正常运行,那我们为什么还需要进行性能测试呢?
答:大家都知道我们的软件是运行在操作系统之上的,操作系统管理资源的分配使用及回收等工作,我们的软件在运行时需要操作系统给我们分配资源,例如CPU、内存及磁盘空间等,而这些资源在计算机出厂时就已经决定了它的容量大小,并不是可以毫无限制的使用,所以一旦资源不够用了,我们的软件运行就会出现性能问题。那么我们的测试人员在一定资源的使用条件下,测试出软件产品可以提供的性能的能力,这个过程就是性能测试。

性能测试相关术语

性能测试分类

  1. 负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖。
  2. 性能测试(Performance Testing):模拟用户负载 来 测试系统在负载情况下,系统的响应时间、吞吐率等指标是否满足性能要求。
  3. 负载测试(Load Tasting):在一定软硬件环境下,通过不断加大负载(不同虚拟用户数)来确定在满足性能指标情况下能够承受的最大用户数。简单的说,就是帮助我们对系统进行定容定量,找出系统性能的拐点,给予生产环境规划建议。
  4. 压力测试(Stress Testing):通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统处于失效状态,并以此来获得系统能提供的最大服务级别的测试。通俗的讲,压力测试是为了发现在什么条件下系统的性能会变得不可接受。可见,压力测试是一种特定类型的负载测试。例如,访问一个页面的响应时间规定为不超过1s,负载测试就是在响应时间为1秒时,系统所能承受的最大并发访问用户的数量,而压力测试就是测试系统在多大的并发访问用户数量下,响应时间不可接受,例如超过1分钟(定义为失效状态)。
  5. 疲劳强度测试/稳定性测试(Endurance Testing):在一定软硬件环境下,长时间运行一定负载,确定系统在满足性能指标的前提下是否运行稳定。一般可以在满足性能要求的负载情况下加大1.5倍到2倍的负载量进行测试。
  6. 大数据量测试:包括独立的数据量测试和综合数据量测试两类。独立的测试量测试指针对系统存储、传输、统计、查询等业务进行的大数据量测试;综合数据量测试指和压力性能测试、负载性能测试、疲劳性能测试相结合的综合测试。
  7. 配置测试(Configuration Testing):为了合理的调配资源,提高系统运行效率,通过测试手段来获取、验证、调整配置信息的过程。通过这个过程我们可以收集到不同配置反映出来的不同性能,从而为设备选择、设备配置提供参考。

性能测试指标及其他

  1. TPS:每秒完成的事务数,通常指每秒成功的事务数,性能测试中重要的综合性性能指标。一个事务是一个业务度量单位,有时一个事务会包括多个子操作,但是为了方便统计,我们会把这多个子操作记为一个事务。比如一笔电子支付操作,在后台系统中可能会经历会员系统、账务系统、支付系统、会计系统、银行网关等,但对于用户来说只想知道整笔支付花费了多长时间。
  2. RT/ART(Response Time/average Response Time):响应时间/平均响应时间,指一个事务花费多长时间完成(多长时间响应客户请求),为了使这个响应时间更具代表性,会统计更多的响应时间然后取平均值,即得到了事务平均响应时间(ART),为了方便大家通常会直接用RT来代替ART,ART与RT是代表同一个意思。
  3. PV(Page View):每秒用户访问页面的次数,此参数用来分析平均每秒有多少用户访问页面。
  4. Vuser虚拟用户(Virtual user):模拟真实业务逻辑步骤的虚拟用户,虚拟用户模拟的操作步骤都被记录在虚拟用户脚本里,Vuser脚本用于描述Vuser在场景中执行的操作。
  5. Concurrency并发:并发分为狭义和广义两类。狭义的并发,即所有的用户在同一时刻做同一件事情或操作,这种操作一般针对同一类型的业务,或者所有用户进行完全一样的操作,目的是测试数据库 和程序对并发操作的处理。广义的并发,即多个用户对系统发出了请求或者进行了操作,但是这些请求或操作可以是不同的。
  6. 场景(Scenario):性能测试过程中为了模拟真实用户的业务处理过程,在loadrunner中构建的基于事务、脚本、虚拟用户、运行设置、运行计划、监控、分析等一系列动作的集合,称之为性能测试场景。场景中包含了待执行脚本、脚本组、并发用户数、负载生成器、测试目标、测试执行时的配置条件等。
  7. 思考时间(Think Time):模拟正式用户在实际操作时停顿间隔时间。从业务的角度来说,思考时间指的是用户在进行操作时,每个请求之间的间隔时间。在测试脚本中,思考时间体现为脚本中每个请求语句之间的间隔时间。
  8. 标准差(Std.Deviation):该标准差根据数理统计的概念得来,标准差越小,说明波动越小,系统越稳定,反之,标准差越大,说明波动越大,系统越不稳定。包括响应时间标准差、TPS标准差、Running Vuser标准差、Load标准差、CPU资源利用率标准差、Web Resources标准差等。