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% 可用物理内存