参考学习感谢:《精通软件性能测试与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. CSS div内文字显示两行,超出部分省略号显示

    1. 概述 1.1 说明 在项目过程中,有时候需要控制div内文字最多显示两行,超出的使用省略号进行处理.使用识别码/前缀-webkit进行处理可直接得到相应效果. 1.1 -webkit WebKi ...

  2. 写一个python 爬虫爬取百度电影并存入mysql中

    目标是利用python爬取百度搜索的电影 在类型 地区 年代各个标签下 电影的名字 评分 和图片连接 以及 电影连接 首先我们先在mysql中建表 create table liubo4( id in ...

  3. java web项目最简单的结构

    为了解“徒手”建立一个web应用,此博客建立简单过程 1.在任意一个目录下,建立一个文件夹,取名字 webDemo .这个应用名字. 2.在 webDemo 内建立一个 WEB-INF 文件夹,此处大 ...

  4. Go的安装

    0.  环境:Ubuntu16.04 64位 1.  下载安装包,地址:https://golang.org/dl,以1.8版本为例,下载go1.8.linux-amd64.tar.gz 2.  解压 ...

  5. CocosCraetor中图像资源Texture和SpriteFrame的区别

    Texture是保存在GPU缓冲中的一张纹理.是由一张图片创建获得的. SpriteFrame是Texture+Rect,根据一张纹理材质来剪切获得. SpriteFrame是Texture+Rect ...

  6. Node.js 操作 OSX 系统麦克风、扬声器音量

    最近几年 Electron 很火,公司也正好有个项目想做跨平台客户端,大家研究了一下就选择了 Electron,第一次做 js 的项目遇到了不少坑,不过也都一点点解决了. 因为项目中需要对用户录音,H ...

  7. python url参数转dict

    from urllib import parse url='_from=R40&LH_BIN=1&_sop=13&LH_Complete=1&LH_Sold=1& ...

  8. Codeforces 438E. The Child and Binary Tree 多项式,FFT

    原文链接www.cnblogs.com/zhouzhendong/p/CF438E.html 前言 没做过多项式题,来一道入门题试试刀. 题解 设 $a_i$ 表示节点权值和为 $i$ 的二叉树个数, ...

  9. SpringCloud入门

    一. 什么是 SpringCloud           什么是 SpringCloud:是一个服务治理平台,提供了一些服务框架.包含了:服务注册与发现.配置中心.消息中心 .负载均衡.数据监控等等. ...

  10. 一个类,有新增元素(add)和获取元素数量(size)方法。 启动两个线程。线程1向容器中新增数据。线程2监听容器元素数量,当容器元素数量为5时,线程2输出信息并终止

    方式一: /** * 两个线程要是可见的所以要加上votalile */public class Test_01 { public static void main(String[] args) { ...