



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件性能测试国软件性能测试的目的:为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。软件性能测试的基本概念:软件性能测试,英文是Performanee Testi ng。软件性能测试是在交替进行负荷和强迫测试时常用的术语。理想的“软件性 能测试”(和其他类型的测试)应在需求文档或质量保证、测试计划中定义。软件 性能测试一般包括负载测试和软件压力测试。通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能 指标。或者执行同样任务时新版本不比旧版本慢。 一般还检查系统记忆容量在运 行程序时会不会流失(memory leak)。比如,验证程序保存一个
2、巨大的文件新版 本不比旧版本慢。软件性能测试的几种方法1. SEI负载测试计划过程目标:产生一个清晰、好理解、可验证的负载测试计划内容:关注6个区域:目标、用户、用例、生产环境、测试环境、测试场景工具:IBM、HR OpenSource工具都支持。需有文档配合2. RBI方法目标:快速识别性能瓶颈内容:重点测试“吞吐量”指标,因为 RBI认定80%勺系统性能瓶颈由吞吐 量造成。按照网络、硬件、数据库、应用服务器、代码的顺序自上而下分析性能工具:IBM、HR OpenSource工具都支持。需使用分析模块、根据 Weblogic、 Oracle区别有专门的工具实现RBI。3. 性能下降曲线分析法
3、目标:性能随着用户数的增加而出现下降趋势的曲线分析、查看性能下降的环境点与上下文。确定性能阀值。内容:通过单用户区域、性能平坦区域、压力区域、性能拐点进行监控和分 析。工具:IBM、HR OpenSource工具都支持。IBM报表功能更强。4. HP(LoadRuner)性能分析法特点:侧重于该厂商的性能分析方法、主要体现在需求收集、VU脚本。软件性能测试的几个阶段:对于互联网应用软件,性能是其质量的一个非常重要的组成部分。作为解决 软件性能问题的重要手段,软件软件性能测试已经广为人们所熟悉, 并受到很高 的关注。一般而言,软件性能测试都是在项目的后期才开展,被测试的对象通常是已经具备一定稳定
4、性的产品。而实际上,软件性能测试应贯穿于整个软件生命 周期中,和功能测试一样,软件性能测试也分为几个阶段。软件生命周期与软件性能测试不论哪种软件生命周期模型,需求分析、设计、编码、测试和运行维护这几 个阶段都是其中的基本要素,只是在不同的软件生命周期模型中可能迭代、 合并、 拆分或重组这几个阶段,在此不做过多的描述。与其他几个阶段相对应,测试从 软件开发过程按阶段可以划分为:单元测试、集成测试、系统测试,在其他的书 上可能还能见到诸如确认测试、 验收测试等名词, 但是前 3 种测试确实是最基本 的测试活动,而其他的测试活动只是在某些软件开发过程中会发生。值得注意的是, 通常在谈论单元测试、 集
5、成测试和系统测试时, 其实仅仅谈 论的是不同阶段的功能测试 ; 而当讨论软件性能测试时,绝大多数的情况是,一 个已经开发完毕或基本开发完毕的软件, 测试人员用一种或几种软件性能测试工 具,以尽量模拟真实用户行为的方式对该软件进行并发操作, 收集并比较不同场 景的结果, 然后对软件的性能进行分析, 这个活动通常发生在系统测试阶段, 甚 至更往后的阶段,如运行维护阶段。一直以来, 软件性能测试跟单元测试、 集成测试似乎都是绝缘的。 可是它们 真的应该是绝缘的吗 ?没有任何理由可以说明软件性能测试跟单元测试、集成测 试无关,除非你认为“这太难了,我不会做”。软件性能测试的几个术语1. 响应时间 我把
6、“响应时间”的概念确定为“对请求作出响应所需要的时间”, 把响应 时间作'为用户视角的软件性能的主要体现。响应时间划分为“呈现时间”和 “系统响应时间”两个部分。其中“呈现时间”取决于数据在被客户端收到响应数据后呈现页面所消耗 的时间、而“响应时间”指J2EE应用服务器从请求发出开始到客户端接受到数 据所消耗的时间。 软件性能测试一般不关注“呈现时间”, 因为呈现时间很大程 度上取决于客户端的表现。 在这里我们没有使用很多软件性能测试定义中的概念 “系统响应时间”定义为“应用系统从请求发出开始到客户端接收到最后 一个字节数据所消耗的时间”, 没有使用这种标准的原因是, 可以使用一些编程
7、 技巧在数据尚未完全接收完成时进行呈现来减少用户感受到的响应时间,对于 HNDLZCGLXT这个项目中,我们针对 C/S系统采用前者标准,对于 B/S我们依 然采用后一种标准。2. 并发用户数我把“并发用户数”与“同时在线数”进行区别对待, 我的“并发用户数” 的标准是:并发用户数取决于测试对象的目标业务场景, 因此,在确定这个“并 发用户数”前,必须(必要)先对用户的业务进行分解、 分析出典型的业务场景 (也 就是用户最常使用、 最关注的业务操作 ) ,然后基于场景采用某些方法 (有多种计 算并发用户数的数学模型与公式 )获得“并发用户数”。这样做的原因是:假设一个应用系统、最高峰有 500
8、 人同时在线、但这 500 人却不是并发用户数、因为假设在一个时间点上、有 50%的人在填写复杂的表格 ( 填写表格动作对服务器没有任何负担、只有在“提交”动作的时候才会对服务 器系统构成压力 )、有 40%的人在不停的从一个页面跳转到另外一个页面 ( 不停发 出请求与回应、产生服务器压力 )、还有 10%的人挂在线上,没有任何操作在发 呆:)( 没有对服务器构成压力的动作 ) 。因此只有那 40%的人真正对服务器产生 了压力,从这里例子可以看出、 并发用户数关心的是不但是业务并发用户数、 还 取决于业务逻辑、业务场景。因此我们需要本文第六部分软件性能测试文档4、5、 6。3. 吞吐量 我把吞
9、吐量定义为“单位时间内系统处理的客户请求的数量”, 直接体现软件系统的性能承载能力, 对于交互式应用系统来说、 吞吐量反映的是服务器承受 的压力、在容量规划的测试中、吞吐量是一个重要指标、它不但反映在中间件、 数据库上、更加体现在硬件上。我们在以下方面利用这个指标:(1) 用来协助设计软件性能测试场景, 衡量软件性能测试是否达到了预计的 设计目标、比如J2EE应用系统的连接池、数据库事务发生频率、事务发生次数。(2) 用来协助分析性能瓶颈、参照本文第二部分总的 RBI 方法。4. 性能计数器 性能计数器式描述服务器或操作系统性能的一些数据指标、 例如对 WINDOWS来说使用内存数、CPU使用
10、率、进程时间等都是常见的计数器。Page对于性能计数器这个指标来说、需要考虑到的不但有硬件计数器、web服务器计数器、Weblogic服务器计数器、Servlet性能计数器、EJB2的性能计数器、 JSF性能计数器、JMS性能计数器。找到这些指标是使用性能计数器的第一步、 关键是找到性能瓶颈、 确定系统阀值、提供优化建议才是性能计数器使用的关键。 性能计数器复杂而繁多、与代码上下文环境、系统配置情况、系统架构、开发方 式、使用到的规范实现、工具、类库版本都有紧密的联系、在此不作赘述。5. 思考时间我把思考时间确定为“休眠时间”。 从业务系统的角度来说, 这个时间指的 是用户在惊醒操作时、 每个
11、请求之间的时间间隔、 从自动化测试的角度来说、 要 真实的测试模拟用户操作、就必须在测试脚本中让各个操作之间等待一段时间、 体现在脚本上就是在操作之间放置一个 Think 的函数,体现为脚本中两个请求语 句之间的间隔时间、不同的测试工具提供了不同的函数或方法来实现思考时间、 比如 HP LoadRuner和 IBM Rational Performanee Tester的方式就完全不同。软件性能测试若干要点:1、软件性能测试是在功能测试完成之后进行。2、软件性能测试计划、方案一般与测试用例统一在一个文档里。3、测试环境应尽量与用户环境保持一致。4、软件性能测试一般使用测试工具和测试人员编制测试
12、脚本来完成, 软件 性能测试的环境应单独运行尽量避免与其他软件同时使用。5、软件性能测试的重点在于前期数据的设计与后期数据的分析。6、软件性能测试的用例主要涉及到整个系统架构的问题, 所以测试用例一旦生成,改动一般不大, 所以做软件性能测试的重复使用率一般比较高。(说明:当系统中出现的某个功能点需要修改,它一般只会影响到功能测试的设计用例, 而对于软件性能测试, 很少影响到软件性能测试的设计用例。 但是如果某个功能 有较大的修改,软件性能测试也应该进行重新测试。 )软件性能测试小 Tips :1、软件性能测试指标的来源:测试的依据是产品的需求规格说明书 ; 如果 用户没有提出性能指标则根据用户
13、需求、 测试设计人员的经验来设计各项测试指 标。2、软件性能测试的目的: 通过测试确认软件是否满足产品的性能需求, 同 时发现系统中存在的性能瓶颈,起到优化系统的目的。3、软件性能测试的指标:服务器的各项指标(CPU使用率、内存占用率、 硬盘占用率等 ) 、后台数据库的各项指标和软件的响应时间:(1)操作系统有关的指标:CPU平均利用率、内存平均占用率、硬盘占用率、 I/O 数量、网络时延(2) 数据库有关的指标:l/Owait、Men平均使用率、cpu平均使用率、在一 次I/O操作中所读的最大BLOCK数、Log的增长情况、数据库的访问速度、数 据库能支持的最大用户数、数据库CACH命中率、不同数据库参数下的性能情况、 锁的处理(3) 软件有关的指标:交易的平均响应时间 (从接收请求到回复响应的时 间) 、每秒交易数量 (单位时间里的执行次数 ) 、对中间件功能的调用、远程处理 延迟4、查看性能指标的命令和方法:vmstat :虚拟内存的统计 (cpu/io)iostat :设备的 IO 统计netstat :网络活动信息统计top :内存统计cat /proc/meninfo:查看系统的总 men大小cat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国水处理过滤器行业市场发展监测及投资潜力预测报告
- 2025年中国可印刷磁胶行业市场全景分析及前景机遇研判报告
- 2025年中国可调节床底座和床套行业市场全景分析及前景机遇研判报告
- 2025年中国建筑集成光伏(BIPVBIPV)天窗行业市场全景分析及前景机遇研判报告
- 2025年南极冰藻提取物项目节能评估报告(节能专)
- 2025年中国配电断路器行业发展监测及发展趋势预测报告
- 税务师网课老师和课件
- 中国制动毂拆装翻转架行业市场发展现状及投资潜力预测报告
- 2025年 云南省快开门式压力容器R1证理论考试练习题附答案
- 2025年酿造葡萄汁项目节能评估报告(节能专)
- 制造企业加班管理制度
- 2025年中考化学必考要点知识归纳
- 三年级语文下册全册重点知识点归纳
- 儿童疼痛的评估及护理措施
- 护理试卷试题及答案
- 人文社科班试题及答案
- 公路养护材料管理制度
- JG/T 330-2011建筑工程用索
- 单位消防培训课件教学
- 2025年公路水运工程重大事故隐患判定标准
- 通风维修质保合同协议
评论
0/150
提交评论