软件性能测试过程详解与案例分析(段念 编著) 学习笔记二
1.响应时间
对请求做出响应所需用的时间;
①应用系统从发出请求开始到客户端接收到响应所消耗的时间;
②应用系统从请求发出开始到客户端接收到最后一个字节数据所消耗的时间;(一般使用此种方式描述响应时间)
③页面响应时间=网络传输时间+应用延迟时间
④对一个电子商务网站来说,在美国和欧洲,一个普遍被接受的响应时间标准为2/5/10秒,也就是说,在2秒之内给客户响应被认为是“非常有吸引力的”,在5秒之内响应客户被认为是“比较不错的”,而10秒时客户能接受的响应的上限;
⑤在进行测试时,“合理的响应时间”取决于实际的用户需求,而不能依据测试人员自己的设想来决定;如,税务报账系统,该系统的用户每月使用一次该系统,一次花费2小时以上进行数据的录入,当用户单击“提交”按钮后,即使系统在20分钟后才给出“处理成功”的消息,用户仍然不会认为该系统的响应时间不能接受;
2.并发用户数
①业务并发用户数
对服务端来说,每个用户和服务器端的交互都是离散的。如果仅考虑一个单独的用户对系统的使用,过程大致如下:用户每隔一段时间向服务器发送一个请求或是命令,服务端按照用户的请求执行某些操作,然后将结果返回给用户。
从用户的角度来说,在一个相当长的时间段内(例如1天),都会有基本固定数量的使用者使用该系统,虽然每个使用者的行为不同,但从业务的角度来说,如果所有这些用户的操作都没有遇到性能障碍,则可以说该系统能够承受该数量的并发用户访问。
②如果考虑整个系统运行过程中服务器所承受的压力:在该系统的运行过程中,把整个运行过程划分为离散的时间点,在每个点上,都有一个“同时向服务端发送请求的客户数”,这个就是所称的服务端承受的最大并发访问数。如果能找到运行过程中可能出现的最大可能的服务端承受的最大并发访问数,则在该用户数下,服务器承受的压力最大,资源承受的压力也最大,在这种状态下,
可以考虑通过并发测试(Concurrency Testing)发现系统中存在的并发引用的资源争用等问题。
③并发用户数,系统用户数,同时在线用户人数
假设有一个OA系统,该系统有2000个使用用户—这就是说,可能使用该OA系统的用户总数是2000,这个概念就是“系统用户数”,该系统有一个“在线统计”功能,从在线统计功能中可以得到,最高峰时有500人在线(这个500就是一般所说的“同时在线人数”);
根据我们对业务并发用户数的定义,这500就是整个系统使用时最大的业务并发用户数。当然,500这个数值只是表明在最高峰时刻有500个用户登录了系统,并不表示实际服务器承受的压力。因为服务器承受的压力还与具体的用户访问模式有关。例如,在这500个“同时使用系统”的用户中,考察某一个时间点,在这个时间点上,假设其中40%的用户在饶有兴致的看系统公告,20%的用户在填写复杂的表格,20%的用户在发呆,剩下的20%用户在不停地从一个页面跳转到另一个页面—在这种场景下,可以说,只有20%的用户真正对服务器构成了压力。因此,从上面的例子可以看出,服务器实际承受的压力不只取决于业务并发用户数,还取决于用户的业务场景。
④如何确定一个系统的并发用户数?
a.以更细的时间粒度进行考察:例如,可以设计1个小时为考察时间的粒度,对一个典型的OA系统,将一天的上班时间划分为8个区间,这样可以解决业务操作存在的时间集中性的问题;
b.考虑典型的业务模式:不同的应用有不同的业务模式,例如,一个内部系统一般在上班开始后的30分钟至1个小时集中出现用户的登录;一个账务系统在每月的结账日前几天会比较繁忙;一个门户网站在重大消息发布的前后会有访问高峰;一个旅游的网站在节假日前夕会有大量用户的访问。。。因此,在考虑计算并发用户数时,可以结合应用的业务模式,多考虑一些可能发生的场景,基于这些场景进行估算;
⑤C=n/10,C^=rxC
用每天访问系统用户数的10%作为平均的并发用户数,并发用户数的最大值由并发用户数乘上一个调整因子r得到,r的取值一般为2-3。
⑥日志分析
“日志分析”方法是指通过对应用服务器的日志进行分析,从而了解系统用户的使用状态,从日志中计算出“服务器承受的最大并发用户访问数”数据,这种方式得到的数据准确度和可信度都比较高,对于Internet应用等无法估计用户数量和用户行为模式的应用,这种方式最为可信;
“日志分析”的方法需要日志分析工具的支持,如AWStats开源工具。
3.吞吐量
①单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力。吞吐量用请求数/秒或是页面数/秒来衡量,从网络的角度来说,也可以用字节数/秒来考察网络流量。
②吞吐量指标可以在两个方面发挥作用:
a.可以协助设计性能测试场景,以及衡量性能测试场景是否达到了预期的设计目标;在设计性能测试场景时,吞吐量可被用于协助设计性能测试场景,根据估算的吞吐量数据,可以对应到测试场景的事务发生频率、事务发生次数等;另外,在测试完成后,根据实际的吞吐量可以衡量测试是否达到了预期的目标。
b.用于协助分析性能瓶颈:吞吐量的限制是性能瓶颈的一种重要表现形式;例如,RBI(Rapid Bottleneck Identify)方法就主要通过吞吐量测试发现性能瓶颈。
③以不同方式表达的吞吐量可以说明不同层次的问题。例如,以字节数/秒方式表示的吞吐量主要受网络基础设施、服务器架构、应用服务器制约;以单击数/秒表示的吞吐量主要受应用服务器和应用代码的制约。
④吞吐量和并发用户数之间的关系:
在没有遇到性能瓶颈的时候,吞吐量的公式 F=Nvu x R/T
F表示吞吐量,Nuv表示VU(虚拟用户)的个数,R表示每个VU发出的请求数量,T表示性能测试所用的时间;
4.性能计数器
①是描述服务器或操作系统性能的一些数据指标;
②计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是在分析系统的可扩展性、进行性能瓶颈的定位时,对计数器取值的分析非常关键;
③资源利用率:系统各种资源的使用状况,一般用“资源的实际使用/总的资源可用量”形成资源利用率的数据,用以进行各种资源使用的比较;
5.思考时间
思考时间(Think time),也被称为“休眠时间”,从业务的角度来说,这个时间指的是用户在进行操作时,每个请求之间的间隔时间;
分享到:
相关推荐
性能测试常见术语
性能测试类型,测试术语,性能测试类型包含负载测试、压力测试、稳定性测试
1.4性能测试主要术语 1.4.1 响应时间(Response time) 1.4.2 并发用户数(Concurrent users) .......
第1章 软件性能测试基本概念 1.1什么是软件性能 1.1.1用户视角的软件性能 1.1.2管理员视角的软件性能 1.1.3开发视角的软件性能 1.1.4总结 1.2软件性能的几个主要术语 1.2.1响应时间 1.2.2并发用户数 1.2.3吞吐量 ...
常见软件测试术语集锦,可接受测试、一致性测试、功能测试、性能测试等。
简述了性能测试的定义,性能测试相关术语,如何进行软件性能测试,性能测试的一般过程,以及进行性能测试需要注意哪些地方。
[服务器术语]-- 服务器配件 在信息系统中,服务器主要应用于数据库和Web服务,而PC(个人计算机)主要应用于桌面计算和网络终端。设计根本出发点的差异决定了服务器应该具备比PC更可靠的持续运行能力、更强大的存储...
audit trail--审计跟踪 ...使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用得较多。 Backus-Naur Form--BNF范式 一种分析语言,用于形式化描述语言的语法 baseline--基线
什么是软件性能 性能测试相关术语 性能测试划分 性能测试应用领域 第二章 性能测试基础知识 该章节主要包括以下部分内容: LoadRunner工作原理 LoadRunner工作过程 LoadRunner内部结构 LoadRunner测试步骤
§2.1 术语 l数据库块(BLOCK) ORACLE 数据库中的最小存储和处理单位,包含块本身的头信息数据或PL/SQL代码。 ORACLE 块的大小是可以在安装时选择“自定义安装”来指定,也可以在CREATE DATABASE创建数据库实例时...
初学者面对许多的性能测试概念和LoadRunner专业术语,常常感到无所适从,这是因为LoadRunner作为软件性能测试的实现者,涉及了软件测试及软件体系架构众多方面的知识。可以说,学习LoadRunner是理解和学习软件性能...
编辑推荐, 软件性能测试领域具有突破性创新意义的重要著作,三位资深软件测试专家多年一线工作经验结晶,业内多位测试专家联袂推荐;, 基于LoadRunner、Apache ab和JMeter等性能测试工具,以真实项目为依托,全面...
3. 非功能需求:包括安全性、可靠性、可维护性、可扩展性、可用性等方面,这些要求是对软件性能和可用性的要求。 4. 约束条件:包括项目时间计划、预算、技术限制等。 5. 业务规则:包括业务行为和规则,这是非常...
初学者面对许多的性能测试概念和LoadRunner专业术语,常常感到无所适从,这是因为LoadRunner作为软件性能测试的实现者,涉及了软件测试及软件体系架构众多方面的知识。可以说,学习LoadRunner是理解和学习软件性能...
2 术语和代号 2 2.1 术 语 2 2.2 代 号 2 3 基本规定 4 3.1 一般要求 4 3.2 测评环境 5 3.3 测评过程 5 3.4 测评记录与测评报告 7 3.5 用户文档 7 4 性能测试 8 5 城乡规划应用软件功能测试 10 5.1 一般规定 10 5.2 ...
软件性能测试计算公式(整理)术语及缩写词测试时间:一轮测试从开始到结束所使用的时间并发线程数:测试时同时访问被测系统的线程数。注意,由于测试过程中,每个线程都是以尽可能快的速度发请求,与实际用户的使用有...
1引言 1 .1 编写目的 编写本使用说明的目的是充分叙述本软件所能实现的功能及其运行环境,以便使用者了解本软件的使用范围和使用方法,并为软件的维护和更新提供必要的信息。 ...2 .5 软件性能……
2.7测试术语 7 第三章 性能测试环境 8 3.1硬件配置 8 3.2软件配置 8 第四章 测试方案 9 4.1测试策略 9 4.1.1人力资源 9 4.2测试策略 9 4.2.1稳定性测试LTP 9 4.2.2基准测试unixbench 10 4.2.3压力测试monkey 10 ...
non-functionalrequirementstesting--非功能性需求测试 与功能不相关的需求测试,如:性能测试、可用性测试等。 N-switchcoverage--N切换覆盖 在组件中被测试执行到的N转换顺序的百分比。 N-...
软件需求规格说明书必须清楚、准确地描述软件的每一个基本需求(功能、性能、设计约束和属性)和外部界面。必须把每一个需求规定成能够通过预先定义的方法(例如检查、分析、演示或测试等)被客观地验证与确认的形式...