LoadRunner(二)——性能测试过程概述
参考学习感谢:《精通软件性能测试与LoadRunner实战》
性能测试过程概述
2.1 性能测试的基本过程
2.2 性能测试需求分析
2.3 性能测试计划
2.4 性能测试用例
2.5 测试脚本编写
2.6 测试场景设计
2.7 测试场景运行
2.8 场景运行监控
2.9 运行结果分析
2.10 系统性能调优
2.11 性能测试总结
二、性能测试的基本过程
性能测试的实施过程是经常会问道的一个问题; 必须要清楚性能测试这个职位是具体做哪些工作的,并且按照工作的流程把每一个环节都表述清楚。
二、性能测试需求分析
性能测试的目的就是把客户的真正需求搞清楚,这是性能测试最关键的过程。
典型问题 :我们需要贵单位对所有的功能都进行性能测试; 系统用户登录响应时间小于3秒钟; 系统支持10万用户并发访问。
三、性能测试计划
性能测试计划是性能测试的重要过程。在对客户提出的需求经过认真分析后,作为性能测试管理人员,需要编写的第一份文档就是性能测试计划,性能测试计划非常重要,在性能测试计划中,需要阐述产品、项目的背景,将前期的需要测试性能需求明确,并落实到文档中。
四、性能测试用例
1、客户的性能测试需求最终要体现在性能测试用例设计中,性能测试用例应结合用户应用系统的场景,设计出相应的性能测试用例,用例应能覆盖到测试需求。
2、用例设计: 明确系统经常处理那些业务; 明确系统预期的用户规模、并发用户数、在线用户数; 明确系统业务的处理能力要求,如:TPS、响应时间、系统资源利用率等;
五、测试脚本编写
1、性能测试用例编写完成以后,接下来就需要结合用例的需要,进行测试脚本的编写工作。
2、测试脚本编写: 协议的正确选用; 脚本进行完善,保证其正确性,去除冗余代码; 注重编码的规范和代码的编写质量; 注重脚本的存储、备份工作等。
六、测试场景设计
1、测试场景的设计一个重要的原则就是依据测试用例,把测试用例设计的场景展现出来。
2、测试场景的设计需关注: 工具是以进程还是线程方式来模拟虚拟用户; 场景是否存在有执行次序依赖关系的脚本; 场景的相关设置项也是需要关注的重要内容,如:集合点策略的设置。
七、测试场景运行
1、测试场景运行是关系到测试结果是否准确的一个重要过程。
2、经常有很多做测试的人员花费了大量的时间和精力去做性能测试,可是做出来的测试结果不理想。原因包括:
负载的测试机不能够运行设定的虚拟用户数;
没有“预热”过程; 没有模拟用户的真实环境;
没有同各个部门保持良好的沟通;
性能用例运行次数过少。
八、场景运行监控
1、场景运行监控,可以在场景运行时决定要监控那些数据,便于后期分析性能测试结果。应用性能测试工具的重要目的就是可以提取到本次测试关心的数据指标内容,性能测试工具利用应用服务器、操作系统、数据库等提供的接口,取得在负载过程中相关计数器的性能指标。
2、场景的监控需要注意:
负载机的时钟要一致,保证在监控过程中的数据是同步的; 尽量搜集与系统测试目标相关信息,无关内容不必进行监控; 要以管理员的身份登录后,如果监控不了相关指标,再去查找原因,不要耗费过多精力在做无用功; 深入学习这些知识,不断积累经验。
九、运行结果分析
1、性能测试执行过程中,性能测试工具搜集相关性能测试数据,待执行完成后,这些数据会存储到数据表或者其他文件中。为了定位系统性能问题,我们需要系统分析这些性能测试结果。
2、“拐点分析”方法 是一种利用性能计数器曲线图上的拐点进行分析的方法。基本思想就是性能产生瓶颈的主要原因就是因为某个资源的使用达到了极限,此时表现为随着压力的增大,系统性能却出现急剧下降,就产生了“拐点”现象。
十、系统性能调优
1、性能测试分析人员经过对结果的分析以后,有可能提出系统存在性能瓶颈。这时相关开发人员、数据库管理员、系统管理员、网络管理员等就需要根据性能测试分析人员提出的意见同性能分析人员共同分析确定更细节的内容,相关人员对系统进行调整以后,性能测试人员继续进行第二轮、第三轮……的测试,与以前的测试结果进行对比,从而确定经过调整以后系统的性能是否有提升。
2、系统调优由易到难的先后顺序如下:
硬件问题; 网络问题; 应用服务器、数据库等配置问题; 源代码、数据库脚本问题; 系统构架问题。
十一、性能测试总结
1、性能测试工作完成以后,需要编写性能测试总结报告。
2、性能测试总结不仅使我们能够了解到如下内容:性能测试需求覆盖情况,性能测试过程中出现的问题,我们又是如何去分析、调优、解决的,测试人员、进度控制与实际执行偏差,性能测试过程中遇到的各类风险是如何控制的,而且,还能描述经过该产品/项目性能测试后有哪些经验和教训等内容。
LoadRunner(二)——性能测试过程概述的更多相关文章
- 性能测试一般过程与LR性能测试过程
性能测试作为测试分类的一个大类,等同于系统测试中的功能测试.安全性测试和配置测试等,因此她的测试过程是对整个测试类型中测试过程的一个描述,因此包含了测试需要的确认目标,熟悉系统.获得需求等部分,因此性 ...
- JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习
JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中 ...
- 性能测试过程中oracle数据库报ORA-27301 ORA-27302错
最近在性能测试过程中发现,发现虚拟用户数上不去,加载到一定的数量应用端就报错,提示连接数据库出错.在测试的过程中查看web容器的线程池 数据源的连接池 都还有空闲,同时查看oracle的v$sessi ...
- abaqus二次开发概述
说明 abaqus二次开发概述 导语 用户子程序特点 abaqus用户程序接口与调用方式 abaqus用户子程序分类 常用用户子程序介绍 Refence 说明 本系列文章本人基本没有原创贡献,都是在学 ...
- 深入JVM(二)JVM概述
深入JVM(一)JVM指令手册 深入JVM(二)JVM概述 一.JVM的原理 Java虚拟机是Java平台的基石,解决了硬件和操作系统的相互独立性.不同平台(Windows,Linux和MacOS)的 ...
- LoadRunner性能测试过程/流程
用LoadRunner进行负载测试的流程通常由五个阶段组成:计划.脚本创建.场景定义.场景执行和结果分析.(1)计划负载测试:定义性能测试要求,例如并发用户的数量.典型业务流程和所需响应时间.(2)创 ...
- LoadRunner性能测试过程中报Error(-17998):Failed to get [param not passed in call] thread TLS entry.
最近与其他公司一起合作使用loadrunner11进行性能测试,在此过程中,遇到Error(-17998)的错误,从网上搜索,找到的答案基本上都是说没有定义事务,但检查所有测试代码,发现都已经定义了事 ...
- 【Loadrunner】性能测试报告实战
一.一份好的性能测试报告需要遵循什么规则? 好的报告只需要遵循3点即可:清晰的结构.简要的语言以及数据的对比. 二.如何用Loadrunner自动到处HTML以及word版的报告? 1.导出html格 ...
- Linux性能优化概述
一.Linux性能概述 性能优化是个系统工程,总是牵一发而动全身,它涉及了从程序设计.编程语言,再到系统.存储.网络等各种底层基础设施的方方面面.每一个组件都有可能出问题,而且很有可能多个组件同时出问 ...
随机推荐
- 【转】web.xml中的contextConfigLocation在spring中的作用
一.spring中如何使用多个xml配置文件 1.在web.xml中定义contextConfigLocation参数,Spring会使用这个参数去加载所有逗号分隔的xml文件,如果没有这个参数,sp ...
- mysql GTID
之前一直通过binlog主从同步,现在发现GTID这种方式,记录一下,具体可参考网上教程.感觉配置使用更为简单方便,不知实际效果如何.
- 初学python之路-day07-数据类型总结
数据类型的各种使用方法:#1.字符串类型s='abcdef's1=s[0]s2=s[-1]print(s1,s2) #h d 索引取值,正向,反向a = 10b = "20"c = ...
- The import javax.servlet.jsp.JspException cannot be resolved
问题描述 重新更换了 Apache Tomcat 的版本,在 Eclipse 中项目报错信息:The import javax.servlet.jsp.JspException cannot be ...
- 常见jquery面试题
jQuery 面试问题和答案 JavaScript 是客户端脚本的标准语言,而 jQuery 使得编写 JavaScript 更加简单.你可以只用写几行的jQuery 代码就能实现更多的东西. 它是最 ...
- Typescript04---模块、命名空间
在Typescript1.5 中,内部模块称作命名空间,外部模块成为模块 一.什么是模块? 模块就是一个或一组功能模块. 模块在其自身的作用域里执行,而不是在全局作用域里.意味着,模块中的变量.函数. ...
- topological sort~~~~初学
今天讲了topological sort 问题: 判环:记录入队的点数,若<n则有环,可证: 算法:o(n):queue or stack,而不是o(n^2)枚举 #. 关系运算图(vijos ...
- VS 中 无法嵌入互操作类型“……”,请改用适用的接口的解决方法
在引用COM组件的时候,出现了无法嵌入互操作类型"--",请改用适用的接口的错误提示. 选中项目中引入的dll,鼠标右键,选择属性,把"嵌入互操作类型"设置为F ...
- java解析json的操作
import java.io.FileNotFoundException; import java.io.FileReader; import com.google.gson.JsonArray; i ...
- OpenCV函数学习:cvRound,cvFloor,cvCeil
函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound 返回跟参数最接近的整数值: cvFloor 返回不大于参数的最大整数值: cvCeil ...