- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件性能测试过程详
解与案例剖析
第 1 章 性能测试基本概念
1.1 软件性能
从用户的角度,软件
性能就是软件对用户操作的响应时间。
从管理员的角度,软
件性能首先表现在响应时间上。还包括资
源利用率、可扩展性、
系
统容量(并发等)
和系统稳定性等。为了保证系统的稳定运
行和持续的良好性能。
对
于
开发人员而言,最
想知道“如何通过调整设计和代码实现,
或是如何通过调整系统设置
等
方法提高软件的性
能表现”和“如何发现并解决软件设计和
开发过程中产生的由于过多
用
户访问引起的缺陷
”,也就是性能瓶颈和 大量用户访问时的缺陷。关注的是系统
架构、数
据
库设计、代码和设
计。
所以在性能测试时,
既要关注响应时间,还要关注软件可扩展
性、并发能力等指标,
还要为性能问题定位
。
1.2 术语
1、响应时间
系统响应时间为应用
系统从发出请求开始到客户端接收到响应
所消耗的时间。
合理
的响应时间取决于实
际用户的需求。
2、并发用户数
有两种理解,一种是
同一时间段访问系统的用户数量,一种是
服务器所能承受的压力
(同时发出请求的客
户)。在性能测试中我们 更关注前者,业务并发用户数。
公式 c=nL/T,计算平均并发用户数,还可用
c=n/10 还做简单的估计。 n 为每天访问系统
的用户数。
还可以通过分析服务
器的日志来了解用户的使用状态。
3、吞吐量
单位时间内系统处理
的客户请求的数量,请求数 / 秒,页面数 / 秒,访问数 /天,业务数 /
小时,字节数 / 天。可 用于衡量是否达到了预期
设计目标,协助分析性能瓶颈。
4、性能计数器
描述服务器或操作系
统性能的一些数据指标。例如,内存数、
进程时间。用于监控和分析。
常与资源利用率进行
横向对比,例如 cpu 占用率 68%。
5、思考时间(休眠时间)
用户在进行操作时,
每个请求之间的间隔时间。
1.3 方法
1、SEI 负载测试计划过程
关注于负载测试计划
的方法,目标是产生清晰、易理解、可验
证的负载测试计划。关注
目标、用户、用例、
生产环境、测试环境和测试场景。
2、RBI 方法
rapid bootleneck identify, 用于快速识别系统性能瓶颈的方法 。
3、性能下降曲线分析法
描述性能随用户数量 增长而出现下降趋势的曲线。
4、LoadRunner 的性能测试过程
包括计划测试、测试 设计、创建 VU(virtual user)脚本 、创建测试场景、运行测 试场景、分析结果。
5、Segue 提供的性能测试过程
先确定性能基线,然性能调优和性能优化
后设定可接受的性能目标,用不同的并发
,通过不断的 try-check 过程,逐渐找到可能
用户数等重复测试。适合
导致性能瓶颈的地方并
对
其优化。
6、PTGM 模型
performance testing general model 。分为测试前期准备、 测试工具引入、测试计划、测试
设计与开发、测试执 行和管理以及测试分析。
第 2 章 性能测试的应用领 域
2.1 性能测试的方法
1、性能测试 (performance testing)
模拟生产运行的业务 压力量和使用场景组合,测试系统的性能 是否满足生产性能的要求。
2、负载测试 (load testing)
通过在系统上不断增 加压力,直到性能指标超过预定或某种资 源的使用达到饱和。找到系统的处理极限。
3、压力测试 (stress testing)
测试系统在一定饱和 状态下,系统能够处理的会话能力,以及 系统是否会出现错误。常用于测试系统的稳定 性。
4、配置测试 (configuration testing)
通过对被测软件的软 / 硬件环境的调整,了解各 种不同环境对系统性能的影响的程度,从而找到系统各项资源 的最优分配原则。
5、并发测试 (concurrency testing)
模拟用户的并发访问 ,测试多用户并发访问同一个应用、同一 个模块或者数据记录时是否存在死锁或者其他性 能问题。
关注内存是否有太多 临时对象、超过设计生命周期的对象、数 据库死锁、经常出现长事务、是否出现线程 / 进程同 步失败、资源争用导致死 锁、未处理异常导致死锁。
6、可靠性测试 (reliability testing)
通过给系统加载一定 的业务压力的情况下,让应用系统持续运 行一段时间,测试系统在这种条件下能否稳定运 行。
7、实效恢复测试 (failover testing)
针对冗余备份和负载 均衡的系统。检验如果系统局部发生故障 ,用户是否能够继续使用系统,如果这种情况发 生,用户将受多大程度影响。
2.2 应用领域分析
1、能力验证
performance testing,r
文档评论(0)