参考学习感谢:《精通软件性能测试与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(二)——性能测试过程概述的更多相关文章

  1. 性能测试一般过程与LR性能测试过程

    性能测试作为测试分类的一个大类,等同于系统测试中的功能测试.安全性测试和配置测试等,因此她的测试过程是对整个测试类型中测试过程的一个描述,因此包含了测试需要的确认目标,熟悉系统.获得需求等部分,因此性 ...

  2. JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习

    JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中 ...

  3. 性能测试过程中oracle数据库报ORA-27301 ORA-27302错

    最近在性能测试过程中发现,发现虚拟用户数上不去,加载到一定的数量应用端就报错,提示连接数据库出错.在测试的过程中查看web容器的线程池 数据源的连接池 都还有空闲,同时查看oracle的v$sessi ...

  4. abaqus二次开发概述

    说明 abaqus二次开发概述 导语 用户子程序特点 abaqus用户程序接口与调用方式 abaqus用户子程序分类 常用用户子程序介绍 Refence 说明 本系列文章本人基本没有原创贡献,都是在学 ...

  5. 深入JVM(二)JVM概述

    深入JVM(一)JVM指令手册 深入JVM(二)JVM概述 一.JVM的原理 Java虚拟机是Java平台的基石,解决了硬件和操作系统的相互独立性.不同平台(Windows,Linux和MacOS)的 ...

  6. LoadRunner性能测试过程/流程

    用LoadRunner进行负载测试的流程通常由五个阶段组成:计划.脚本创建.场景定义.场景执行和结果分析.(1)计划负载测试:定义性能测试要求,例如并发用户的数量.典型业务流程和所需响应时间.(2)创 ...

  7. LoadRunner性能测试过程中报Error(-17998):Failed to get [param not passed in call] thread TLS entry.

    最近与其他公司一起合作使用loadrunner11进行性能测试,在此过程中,遇到Error(-17998)的错误,从网上搜索,找到的答案基本上都是说没有定义事务,但检查所有测试代码,发现都已经定义了事 ...

  8. 【Loadrunner】性能测试报告实战

    一.一份好的性能测试报告需要遵循什么规则? 好的报告只需要遵循3点即可:清晰的结构.简要的语言以及数据的对比. 二.如何用Loadrunner自动到处HTML以及word版的报告? 1.导出html格 ...

  9. Linux性能优化概述

    一.Linux性能概述 性能优化是个系统工程,总是牵一发而动全身,它涉及了从程序设计.编程语言,再到系统.存储.网络等各种底层基础设施的方方面面.每一个组件都有可能出问题,而且很有可能多个组件同时出问 ...

随机推荐

  1. Haproxy_haproxy.cfg

    global # 全局参数的设置 log 127.0.0.1 local2 # log语法:log <address_1>[max_level_1] # 全局的日志配置,使用log关键字, ...

  2. Spring Cloud配置中心搭建(集成Git)

    1. 在Github(或其他)创建配置中心仓库bounter-config-repo,然后在仓库创建两个配置文件:simon.properties.susan.properties,链接如下: htt ...

  3. windows环境安装phantomjs和pyspider遇到的问题

    1. 安装phantomjs 下载地址:http://phantomjs.org/download.html 解压后将phantomjs.exe文件放到python根目录 2.安装pyspider p ...

  4. Django 之 路由URL,视图,模板,ORM操作

    1.后台管理的左侧菜单,默认只有第一个页签下面的选项是显示的,点了别的页签再显示别的页签下面的选项,问题是:点了任何菜单的选项后,左侧菜单又成了第一个页签的选项显示,别的页签隐藏,也就是左侧的菜单刷新 ...

  5. MySQL存储过程(PROCEDURE)(二)

    一.存储过程的修改: 语法:  ALTER {PROCEDURE | FUNCTION} sp_name [characteristic……]  参数解释: Sp_name:表示存储过程或函数的名称 ...

  6. github徽标引入

    官网: https://shields.io/ 示例: ![](https://img.shields.io/badge/language-go-cccfff.svg?style=popout-squ ...

  7. 题解 P5315 【头像上传】

    本题就是按照题目模拟, 只是要注意一些细节问题. 看代码注释 #include<bits/stdc++.h> using namespace std; int n,l,g,i; int m ...

  8. Spring,Spring MVC及Spring Boot区别

    什么是Spring?它解决了什么问题? 我们说到Spring,一般指代的是Spring Framework,它是一个开源的应用程序框架,提供了一个简易的开发方式,通过这种开发方式,将避免那些可能致使代 ...

  9. JS实现排序算法

    代码如下: 1.冒泡排序 <script> var arr = [9, 8, 7, 5, 7, 1, 45, 12, 7, 74, 4]; for (var i = 0; i < a ...

  10. RPC原理及其调用过程

    远程过程调用,简称为RPC,是一个计算机通信协议,它允许运行于一台计算机的程序调用另一台计算机的子程序,而无需额外地为这个交互作用编程. RPC与传统的HTTP对比 优点: 1. 传输效率高(二进制传 ...