《性能测试要点及用例.doc》由会员分享,可在线阅读,更多相关《性能测试要点及用例.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流性能测试要点及用例.精品文档.目录一、性能测试要点及用例模板21、性能测试团队成员职责技能描述22、性能测试工具需求规划表33、性能测试环境调查表34、典型业务列表35、业务用例描述46、场景列表47、测试计划48、测试环境检查59、测试执行记录日志510、性能测试分析报告611、性能测试应用领域与测试方法的关联612、常用的性能测试过程713、并发测试主要关注的问题(常用的测试方法)814、性能调优的标准过程示例图815、性能测试脚本录制时的协议类型916、不同应用领域的性能测试目标和性能目标1017、Windows操作系统主要计数器101
2、8、Unix常用计数器11一、性能测试要点及用例模板1、性能测试团队成员职责技能描述角色职责技能测试经理1. 和用户等项目干系人交互,确保测试的外部环境2. 制定测试计划3. 监控测试进度4. 发现和处理测试中的风险1. 计划执行和监控能力2. 风险意识和能力3. 外交能力和灵活变通的能力测试设计1. 定义性能规划2. 识别用户的性能需求3. 建立性能场景1. 业务把握能力2. 性能需求分析和识别能力测试开发1. 实现已设计的性能场景2. 脚本开发、调试3. 确定测试时需要监控的性能指标、性能计数器1. 脚本编码和调试能力2. 理解性能指标和性能计数器测试执行1. 部署测试环境2. 执行脚本和
3、场景3. 根据监控要求记录测试结果、记录性能指标和性能计数器值1. 搭建测试环境的能力2. 测试工具使用(执行)的能力3. 性能指标和性能计数器值获取和记录的能力测试分析1. 根据测试结果、性能指标的数值、性能计数器值进行分析2. 能根据性能规划,分析出系统性能瓶颈、或量给出优化建议1. 掌握性能测试工具的使用方法2. 掌握应用系统性能领域相关知识,理解所采用的架构3. 熟悉常用的性能分析方法4. 具有一定的编码经验支持角色(系统)系统支持,协助解决测试工程师无法解决的系统问题处理系统问题的能力和技能,最好由专职的系统管理员担任这个角色支持角色(网络)网络方面的支持,协助测试工程师解决网络方面
4、的问题,在必要时为测试分析角色提供网络方面的分析支持网络方面的能力和技能,最好由专职的网络管理员担任这个角色支持角色(数据库)数据库方面的支持,在必要时为测试角色提供数据库方面的支持数据库方面的能力和技能,最好由专职的DBA担任这个角色2、性能测试工具需求规划表被测试系统环境测试工具功能需求建议操作系统环境测试工具是否能运行在本操作系统上测试工具是否支持对本操作系统的监控应用服务器环境测试工具能否支持对本应用服务器的监控数据库环境测试工具能否支持本数据库的监控应用使用的协议本系统使用了哪些协议哪些协议需要在性能测试中通过工具进行录制和产生负载测试工具能否支持需要进行录制和产生负载的协议网络环境
5、是否需要测试工具支持防火墙是否需要测试工具支持负载均衡测试管理支持测试工具是否能够提供方便的测试结果分析和管理3、性能测试环境调查表性能测试环境描述系统架构描述系统技术架构描述系统物理架构描述服务器需求服务器类别和数量每台服务器的配置(CPU、内存、磁盘、操作系统(含参数)、应用软件)客户端环境使用的浏览器/客户端应用版本网络传输状况(限制)吞吐量估算4、典型业务列表功能所属模块访问路径备注5、业务用例描述Case编号测试类型简短描述客户需求列表软件需求编号场景引用列表测试优先级前置条件测试步骤参数化需求验证点创建人创建时间备注6、场景列表场景名称场景业务及用户比例分配测试指标性能计数器用户登
6、录登陆业务,100%用户总用户数200人响应时间(5s)服务器CPU使用率服务器内存使用率标准日常工作入账业务,40%用户查询业务,30%用户统计业务,30%用户总用户数200人响应时间(入账6s)(查询5s)(统计10s)服务器CPU使用率服务器内存使用率 7、测试计划1引言1.1编写目的2参考文档3测试目的4测试范围4.1测试对象4.2需要测试的特性4.3无需测试的特性5测试启动与结束准则5.1启动准则5.2结束准则6测试方法6.1测试工具6.2测试设计6.3测试用例与测试场景7测试类型7.1能力验证测试7.2容量规划测试7.3稳定性测试8测试环境维护原则9测试输出10测试资源需求与时间计
7、划8、测试环境检查条目名称检查内容责任人维护方法硬件环境硬件环境是否与拓扑描述一致硬件拓扑结构图软件环境软件环境是否与软件环境列表中描述一致软件环境列表应用部署是否成功应用部署检查测试辅助工具是否部署成功测试辅助工具部署检查软件参数设置是否符合要求软件参数设置表数据环境数据是否与数据要求描述表中描述一致数据要求描述表上次测试是否引入了额外的数据而没有清除数据维护脚本或是Import方式9、测试执行记录日志日期标题测试内容结果测试人10、性能测试分析报告1测试背景2测试目的3测试概要描述3.1被测系统描述3.2测试时间3.3测试地点3.4测试人员3.5测试工具和环境3.6测试方案简介4测试结果和
8、结论4.1测试结论4.2测试结论的限制4.3对系统的建议5原始数据和报告5.1测试执行记录5.2原始数据文件5.3测试工具生成的报告11、性能测试应用领域与测试方法的关联能力验证规划能力性能调优发现缺陷Performance Testing性能测试Load Testing负载测试Stress Testing压力测试Configuration Testing配置测试Concurrency Testing并发测试Reliability Testing可靠性测试Failover Testing失效恢复测试12、常用的性能测试过程13、并发测试主要关注的问题(常用的测试方法)问题类别问题描述内存问题是
9、否有内在泄漏(C/C+)是否有太多的临时对象(Java)是否有太多的超过设计生命周期的对象(Java)数据库问题是否有数据库死锁(Dead Lock)是否经常出现长事务(Long Transaction)线程/进程问题是否出现线程/进程同步失败其它问题是否出现资源争用导致的死锁是否没有正确处理异常(例如超时等)导致系统死锁14、性能调优的标准过程示例图15、性能测试脚本录制时的协议类型应用类型应用特点建议选用协议备注Web应用应用采用ASP结构、J2EE或是.Net架构HTTP/HTTPS协议Web应用一般采用Http/Https协议进行性能测试脚本录制,但特别要指出的是,有些借助客户端运行的
10、组件采用自定义Socket或是其他协议与服务器进行通信,此时需要在录制时选择多种协议C/S应用客户端程序以ADO、Oledb方式连接后台数据库根据后台数据库类型选择相应协议例如,如果后台数据库是Oracle,则在录制时选择Oracle协议客户端程序ODBC方式连接后台数据库ODBC协议无客户端和服务器之间通过自定义的Socket协议进行通信Socket协议无其它协议根据具体协议类型进行分析例如,有些应用为了能够适应复杂的广域网环境,采用HTTP协议为C/S结构应用的客户端和服务端之间的通信协议,此时可以根据具体的协议来选择录制使用的协议组件COM/DCOMCOM/DCOM这里提到的是针对组件的
11、测试,商业性能测试工具一般提供了一种直接测试组件接口性能的方法EJBEJB协议服务Web ServiceWeb Service协议有些人可能会用Http协议来录制对Web Service服务进行性能测试的脚本,建议使用专门的Web Service协议进行录制Mail服务器SMTP和POP协议无FTP服务器FTP协议无其它根据具体的协议选择最接近的录制协议无应用服务器Oracle ApplicationServerOracle Application Server协议无SAPSAP协议无TuxedoTuxedo协议无其它根据具体协议选择最接近的无16、不同应用领域的性能测试目标和性能目标应用领域
12、性能测试目标性能目标能力验证验证系统在给定环境中的性能能力重点关注的关键业务响应时间、吞吐量规划能力验证系统的性能扩展能力,找出系统能力扩充的关键点,给出改善其性能扩展能力的建议业务的性能瓶颈性能调优提高系统的性能表现重点关注的关键业务响应时间,吞吐量发现缺陷发现系统中的缺陷无17、Windows操作系统主要计数器类别计数器名称计数器描述MemoryAvailable Mbytes可用物理内存数Pages/sec表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面数Pages Read/sec页的硬故障,Pages/sec的子集,为了解析对内存的引用,必须读
13、取页文件的次数.阈值为5.数值越低越好.大数值表示是磁盘读而不是缓存读Page Faults/sec此值为处理器中的页面错误的计数,当进程引用特定的虚拟内存页,该页不在其主内存的工作集当中时,将出现页面错误.如果某页已经位于内存中,或者它正在被共享该页的其他进程所使用,则页面错误不会导致该页从磁盘中读取Cache Bytes文件系统缓存(File System Cache),默认情况下为50%的可用物理内存Process%Processor Time被处理器消耗的处理器的时间数量。如果是专用于某种特定应用(例如数据库服务器或是应用服务器),则可用应用相关进程%Process Time进行衡量,
14、此时,可接受的上限一般不超过85%Page Faults/sec将进程产生的页故障与系统产生的相比较,以判断这个进程对系统页故障产生的影响Work set处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在工作集中,当自由内存少于一个特定的阈值时,页就会被清除出工作集Private Bytes此进程所分配的无法与其它进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄漏的最佳指示器。Processor%Processor Time如果该值持续超过95%,表明瓶颈是CPU,可以考虑增加一个处理器或换一个更快的处理器%User
15、 Time非内核操作耗费的CPU时间。一般来说,如果系统中使用了大量的算法或是复杂的计算操作,该值会比较大%Privileged TimeCpu内核时间是在特权模式下处理线程执行代码所花时间的百分比%DPC TimeCPU消耗在网络处理上的时间,些值越低越好Physical Disk%Disk Time指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比Average Disk Queue Length指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5-2倍。要提高性能,可增加磁盘。注意:一个Raid disk实际有多个磁盘Average Disk R
16、ead/Write Queue Length指读取(写入)请求(列队)的平均数Disk Read(Writes)/sec物理磁盘上每秒种磁盘读、写的次数。两者相加,应小于磁盘设备最大容量Average Disk sec/Read指以秒计算的在此盘上读取数据的所需平均时间Average Disk sec/Transfer指以秒计算的在此盘上写入数据的所需平均时间Network InterfaceBytes Total/sec为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较System%Total Processor Time系统上所有处理
17、器都忙于执行非空闲线程的平均时间的百分比,该值反映了用于有用作业上的时间的比率。对单处理器系统来说,该值很容易理解;对多处理器系统来说,该值是体现了所有处理器的平均繁忙程度。例如,如果所有处理器都繁忙,此值为100%,如果有一半的处理器繁忙,另一半处理器为安全空闲,此值为50%。File Data Operations/sec计算机对文件系统设置执行读取和写入操作的速率。本计数器的计数不包括文件控制操作Processor Queue Length线程单元中处理器队列的即时长度。所有处理器都使用单一队列(线程在该队列中等待处理器进行循环)。此长度不包括当前正在执行的线程。一般情况下,如果处理器队
18、列的长度一直超过服务器上可用处理器队列的长度一直超过服务器上可用处理器的总数量+1,则可能表示处理器堵塞。18、Unix常用计数器类别计数器名称计数器描述MemoryFree(KB)可用物理内存数Swap(KB)已使用的虚拟内存数量。在Linux系统中。该值被标识为Swap(page)si每秒从磁盘交换到内存的数量。在Linux系统中,该值被放在Swap区中(page)so每秒从内存交换出的内存数量。在Linux系统中,该值被放在Swap区中Cache(KB)文件系统缓存Process%CPU Usage被处理器消耗的处理器时间数量。如果是专用于某种特定应用(例如数据库服务器或是应用服务器)。
19、则可用应用相关进程的% Processor Time进行衡量,此时,可接受的上限一般是不超过85%Page Faults count该进程产生的页面失效次数。可以用该值与系统的页面失效的影响Resident size(KB)进程保留的使用内存量。该数值等于进程的代码使用内存十进程的数据使用内存。如果该值在测试过程中持续增加,很可能意味着发生了内存泄漏。Processor%Idle TimeIdle time%描述的是CPU总的空闲时间。如果该值持续低于10%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器%User Time非内核操作耗费的CPU时间。一般来说。如果系统中使用了大
20、量的算法或是复杂的计算操作,该值会比较大%Kernel TimeCPU内核时间是在特权模式下处理线程执行代码所花时间的百分比%IOwait TimeCPU消耗在等待IO处理上的时间,此值需要结合IO的计数器考虑Physical DiskPercent of time the disk is busy指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比Average number of transactions Actively being serviced指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5-2倍。要提高性能,可增加磁盘。在Iostat的
21、结果中,该值显示为ActvAverage number of transactions waiting for service指读取(写入)请求(列队)的平均数。在Iostat的结果中,该值显示为waitReads(writes) per sec物理磁盘上每秒磁盘读、写的次数。两者相加,应小于磁盘设备最大容量。在Iostat 的结果中,该值显示为r/s和w/sAverage service time active transactions in milliseconds指以毫秒计算的在此盘上读取和写入数据的所需平均时间。在Iostat的结果中,该值显示为asvc_tThe number of disk operations per second显示每个磁盘每秒的被操作次数。该值在Vmstat的结果中显示Network Interface参见Unix的Snmp接口内容参见Unix的Snmp接口内容System%User Time系统上所有处理器执行非内核操作的平均时间的百分比,该值反映了用于有用作业上的时间的比率Cpu context switchesCpu上下文切换。在Vmstat的结果中,该值显示为cs