关于性能测试问题解答篇(上)

1、性能测试的目的和目标。

性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,其中包括评估系统的能力、识别体系中的弱点、验证系统的稳定性及可靠性,最后起到优化系统的目的。

性能测试的目标是通过寻找系统瓶颈,优化性能,同时评价系统当前能力,并预测系统未来性能以及系统的可扩展性。

2、性能需求分析来源。

(1)根据需求文档或客户方提出要求来分析系统性能需求;

(2)参考相关数据,如系统运行时的日志数据;

(3)参考历史项目、其他同行类似项目、其他类似行业应用或者网络资料;

(4)根据自己的经验来寻找;

3、性能测试的基本流程。

按阶段有4个流程:性能测试需求分析阶段、测试准备阶段、测试执行阶段、测试总结阶段。

一个详细性能测试基本流程:性能场景分析-〉测试环境准备-〉性能用例评审-〉性能数据构造-〉录制性能测试脚本-〉性能脚本评审并优化-〉执行脚本-〉性能数据分析-〉性能测试报告。

4、事务和集合点、参数化的作用。

事务的作用:事务可以用来衡量脚本中一行代码或者多行代码的执行所耗费的时间,利用事务完成时间来计算系统的事务响应时间、平均响应时间。

集合点的作用:用于同时并发,就相当于把很多Vuser同时集合在一个时间点点击某一操作。相当于把时间精确到某一点上进行并发,达到加压效果。

参数化的作用:将固定值替换为参数来增加测试脚本的功能和灵活性。

5、关联的作用,如何做关联。

当我们在用LR做性能测试过程中,实际上许多的系统都采用SessionID或SeqID等方法来标识不同的任务和数据报,应用在每次运行时发送的数据并不完全相同,而通过关联可以在测试中保持动态值。

如何做关联,一般的关联步骤:
    (1)从服务器返回的数据中选取需要进行关联的数据;
    (2)将该数据存入脚本的一个参数中;
    (3)将脚本中需要使用该数据的地方用参数来替换;

6、脚本的录制、编写与调试步骤。

脚本的录制:先要知道测试系统的网络结构、架构模式、以及录制系统时所选用的协议,脚本的录制与本地系统环境有很大的关系,需要配置好一个稳定的、无干扰的系统环境。

脚本的编写:录制脚本后回放录制脚本,并对脚步进行优化,其中包括对脚本的参数化、关联、设置集合点。

脚本调试步骤:当录制回放时脚本出现错误时,需要对脚本进行调试,对脚本设置断点,在需要设置断点的语句前按F9快捷键,断点就设置好了,程序运行到断点语句后会暂停,这时我们可以用F10单步调试程序。

7、测试过程中添加哪些主要的计数器。

总体来说,需要监控系统的CPU、内存、硬盘、数据库资源、网络资源等方面的计数器

对CPU系统资源监控:

Processor:%Processor Time CPU 使用率。

Processor Queue
Length:是指处理列队中的线程数,小于2。处理器瓶颈会导致该值持续大于2。

Context
Switches/sec:如果切换次数到5000*CPU个数和10000*CPU个数中,说明它忙于切换线程。

Interrupts/sec(Processor_Total) 指处理器每秒钟接收并维护的硬件中断的平均值。

Threads(Objects)
线程数在计算机上的时间的数据收集。请注意,这是一个瞬时计数,而不是平均的时间间隔。线程是基本可执行的实体,可以执行指令的处理器。

Private Bytes(Process_Total) 目前的字节数,该进程已经拨出,不能与其它进程。

对内存系统资源监控:

Available Mbytes:可用物理内存数。

page/sec:
表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面数。

page read/sec:页的硬故障,page/sec的子集,为了解析对内存的引用,必须读取页文件的次数。

对网络资源监控:

Network Interface:Bytes
Total/sec 为发送和接收字节的速率,包括帧字符在内。

对硬盘系统资源监控:

Page Faults/sec:每秒软性页面失效的数目。

Physical Disk\ Avg.Disk Queue Length、Physical Disk\ % Disk
Time

8、简述测试结果分析方法中的内存分析法。

(1)先通过添加LR提供的监控系统内存计数器,分析系统资源图是否正常;

(2)查看在测试系统过程中,系统的日记记录;

(3)对上两个步骤的数据统计并分析

主要分析如下:

Available Mbytes (可用内存率不少于15%)

CommittedBYtes (内存泄漏监控)

pages/sec 正常值<20 从磁盘读取或写入的页面数

pages Read/sec<5 越低越好,此值过大表明是磁盘读而不是缓存读

pages Faults/sec、 页面错误,表明数据不能再内存中立即使用

Cacge Bytes<50% 可用物理内存

时间: 2024-08-22 18:16:50

关于性能测试问题解答篇(上)的相关文章

关于性能测试问题解答篇(下)

测试结果分析的步骤. 本人对性能测试经验虽然不多,但在自己做过的性能测试项目中,总结出一套分析测试结果的步骤,不断地学习,加强对性能测试结果分析的理解.对性能测试的结果分析,重点分析是对结果数据的分析,以loadrunner性能测试工具来对结果分析的步骤如下: 结果分析思路:结果摘要-->并发数分析-->响应时间-->每秒点击数                 -->业务成功率-->系统资源-->网页细分图                 -->web服务器资源-

Android 终端性能测试——内存篇

前言 做Android QQ性能测试时,内存测试中遇到不少困惑,"各种"内存术语,到底什么意思,怎么获取,这里总结一下. 进行的内存测试主要有两个方面,一,OOM的发现和定位,二,同历史版本或竞品的对比测试.关于oom可以用MAT进行分析,具体分析方法参见susanwu在km上的文章<如何使用Memory_Analyzer分析内存泄漏>.下面主要总结一下Android性能测试中常用的方法及解释 一:running services"查看service进程内存 从A

[Android Memory] App调试内存泄露之Context篇(上)

转载自:http://www.cnblogs.com/qianxudetianxia/p/3645106.html Context作为最基本的上下文,承载着Activity,Service等最基本组件.当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄漏. 下面针对一些常用场景逐一分析. 1. CallBack对象的引用 先看一段代码: @Override protectedvoid onCreate(Bundle state){ super.o

学习笔记-性能测试-工具篇-LR-初识

关于LR的基本信息网上都能搜到,这里就不再赘述. loadrunner的安装准备 windows环境: 前提条件: 内存:2G,硬盘空闲空间10G,安装完成后实际只占不到2G 支持winXP  SP3;32位与64位win7浏览器支持IE6-8,IE9,firefox3 若以前安装过LoadRunner,则将其卸载. 下载好需要的部件然后通过安装程序进行安装 关于破解细节,详情请百度或者谷歌. 这里找到一篇关于LR11的安装篇: http://www.cnblogs.com/yangxia-te

前端开发工程师 - 03.DOM编程艺术 - 第1章.基础篇(上)

第1章.基础篇(上) DOM (Document Object Model) - 文档对象模型 以对象的方式来表示对应的html,它有一系列的规范 i.e. 在浏览器中,DOM是通过JS实现的. DOM: DOM Core:核心结构.API的定义 DOM HTML: 定义HTML如何转化成对象(HTML对应的对象)-- 操作节点 DOM Style:样式转换成对象 -- 操作样式 DOM Event:事件对象的模型 -- 响应用户的操作 文档树 HTML -> DOM树 节点遍历 node.pa

二进制序列化与反序列化。Net理论篇上(一)

对于从事底层信息通信的同行而言,序列化及反序列化想必都是耳熟能详的.脱离很多书面的标准概念,就个人理解而言,序列化和反序列化的本质其实为了找到一种公共的通用的数据格式达到一个无界的境界,正如方言对于普通话,各国语言对于英语.而我们需要做的是去发现这么一种具体的格式,并且完成一个相对对称的特性,如同压缩跟解压缩. 常规的序列化和反序列化的格式通常有如下几种:binary,JSON, XML和SOAP等. 当然有其他的,这个只能恕我孤陋寡闻了.通常我们会选取短小精悍的JSON 和更具通用的XML,当

学习笔记-性能测试-工具篇-LR-12的安装

进入LR的官方网站下载好最新的两个版本 两个安装文件: 先解压到同一文件夹 点击安装程序,选择安装的路径会自动安装: 安装完成后出现三个主要组件: 学习笔记-性能测试-工具篇-LR-12的安装,布布扣,bubuko.com

性能测试工具集锦(上)

性能测试工具集锦(上) 本文介绍了业界广泛使用的20种性能测试工具. 1.Apache JMeter http://jmeter.apache.org/ JMeter是100%纯Java的开源项目,主要用于测量性能和对功能行为做负载测试,既可以测试静态资源,又可以测试动态资源.目前最新版本为2.13. 2.Grinder http://grinder.sourceforge.net/ Grinder是一个运行于Java平台的开源负载测试框架.此框架易于运行分布式的测试--可以通过各种负载注入机实

MFC程序逆向 – 消息篇(上)

标 题: [原创]MFC程序逆向 – 消息篇(上)+(下) 11楼作 者: szdbg时 间: 2007-10-31,06:26:02链 接: http://bbs.pediy.com/showthread.php?t=54150 前言:记得前一段时间,我刚接触软件破解和逆向这一行时,对于一些软件不知从何处跟踪按钮消息,试了好多方法,就是断不下来,在系统模块中经常转得晕头转向,而一无所获. MFC程序是一种常见类型的程序,我静下心来,潜心研究了一下MFC消息流程.弄清原委之后,一切豁然开朗,发现