3性能测试流程结果分析,报告测试执行测试设计与开发测试需求&计划疲劳强调测试大数据量测试失效恢复测试负载&压力测试测试流程4性能测试流程3.测试执行1.测试需求&计划4.结果分析&报告2.测试设计&开发性能测试•测试需求分析•测试计划制定•测试脚本录制•测试调试开发•负载压力场景设计•结果分析•问题定位•测试报告与评估•搭建环境•部署测试场景•执行测试5测试需求分析测试需求就是应用需求的衍生测试用例也必须覆盖所有的测试需求测试需求的来源是多方面的,如需求文档、用户备忘录或系统日志等6测试需求分析测试需求分析关键内容①测试的对象;②系统配置,例如“预计有多少用户并发访问?”“用户客户端的配置如何?”“使用什么样的数据库”“服务器怎样和客户端通信?”“网络设备的吞吐能力如何,每个环节承受多少并发用户?”等问题;③系统的使用模式。7测试需求分析目标回答问题测量对最终用户的响应时间要花多少时间做完一笔交易?确定最优硬件配置什么样的配置提供了最好的性能?检查可靠性系统能在无错情况下能承担多大及多长时间的负载?检查软、硬件升级这些升级对系统性能影响多大?评估新产品服务器应该选择哪些硬件与软件?测试系统负载在没有较大性能衰减的前提下,系统能够承受多大负载?分析系统瓶颈哪些因素降低交易响应时间用户的提问与我们的测试目标8测试需求分析80~20原理测试强度估算9测试需求分析测试强度估算80~20原理:每个工作日中80%的业务在20%的时间内完成。举例:每年业务量集中在8个月,每个月20个工作日,每个工作日8小时即每天80%的业务在1.6小时完成去年全年处理业务约100万笔,其中15%的业务处理中每笔业务需对应用服务器提交7次请求;其中70%的业务处理中每笔业务需对应用服务器提交5次请求;其余15%的业务处理中每笔业务需对应用服务器提交3次请求。根据以往统计结果,每年的业务增量为15%,考虑到今后3年业务发展的需要,测试需按现有业务量的两倍进行。10测试需求分析测试强度估算每年总的请求数为:(100x15%x7+100x70%x5+100x15%x3)x2=1000万次/年每天请求数为:1000/160=6.25万次/天每秒请求数为:(62500x80%)/(8x20%x3600)=8.68次/秒即服务器处理请求的能力应达到9次/秒11测试需求分析测试需求分析方法充分分析系统有价值的信息任务分布图交易混合图用户概况分析12测试需求分析任务分布图有哪些交易任务在一天的某些特定时刻系统都有哪些主要操作13y登录220250210记帐10151221创建记录1801101209050数据更新90754630查询50302014批处理202515生成报表506040系统备份11812124681012141618202224x14测试需求分析交易混合图高峰期有哪些操作?中间件操作有多少?数据库操作有多少?如果任务失败,那么商业风险有多少?15交易名称日常业务高峰期业务Web服务器负载数据库服务器负载风险登陆70/hr210/hr高低大开一个新帐号10/hr15/hr中等中等小生成订单130/hr180/hr中等中等中更新订单20/hr30/hr中等中等大发货40/hr90/hr中等高大选择的标准:高吞吐量高数据库I/O高商业风险16测试需求分析用户概况分析哪些任务是每个用户都要执行的?针对不同角色的用户,他们的任务是什么?针对每个用户,不同任务的比例如何?17测试需求分析定票部门(170)飞行部门(50)经理(30)输入订单10025更新订单5010计算飞行里程705计算销售8任务频率18测试计划制定要素:测试目标测试案例测试成员测试时间测试环境19测试计划制定-测试目标测试目标首先是基于需求分析抽取出用户的需求寻找用户的性能关注点,用户对系统性能的关注往往集中在少数几个业务活动上,如通过日志分析和用户调查分析获取20测试计划制定-测试目标测试目标可能描述为以下几种:该应用能够以1秒的最大响应时间处理200个并发用户对业务A的访问;峰值时刻有400个用户,允许响应时间延长到3秒。通过性能调优测试,本系统的A业务和B业务在200并发用户的条件下,响应时间提高到3秒,此时服务器的CPU占用不能超过75%,内存使用率不超过70%21测试计划制定要素:测试目标测试案例测试成员测试时间测试环境22测试方案制定设计测试案例好的案例具有以下几个性质:有效性:可以发现缺陷可重用性:可以重复使用的案例,保证测试的一致性可维护性:当测试环境、测试数据发生变化后,测试案例经过简单维护,可以继续使用23测试方案制定—测试案例案例名称及标识案例描述并发用户数业务数据量备注CSTCFXFE-001用户登录用户登录单业务并发测试,持续加压5分钟;100、200、500具备500个业务操作员用户模拟典型业务操作场景,并考察执行业务的响应时间及服务器资源的占用情况CSTCFXFE-002境内贷记业务境内贷记业务并发测试,持续加压5分钟;流程:从境内贷记发起请求,到复核完毕,直到发送成功100、200具备200个业务操作员用户,600W条历史数据模拟典型业务操作场景,并考察执行业务的响应时间及服务器资源的占用情况CSTCFXFE-005疲劳测试境内贷记业务、转汇、退汇业务和查询业务按照7:1:1:1的比例进行混和对前置机进行加压,并持续加压8小时。200具备200个业务操作员用户,600W条历史数据考查在长时间的运行下,系统是否稳定可靠24测试计划制定要素:测试目标测试案例测试成员测试时间测试环境25测试方案制定—测试成员角色职责测试经理1.协调项目各方2.制定测试计划3.监控测试进度4.发现和处理测试中的风险测试设计1.识别用户需求2.设计测试用例3.建立性能场景测试开发1.实现已设计的性能场景2.脚本开发、调试3.确定测试时需要监控的性能指标、性能计数器26测试方案制定—测试成员角色职责测试执行1.部署测试环境2.执行脚本和场景3.根据监控要求记录测试结果、记录性能指标和性能计数器测试分析1.根据测试结果、性能指标的数值、性能计数器进行分析2.分析性能瓶颈、提出优化建议支持角色1.协助测试工程师处理无法解决的问题,包括系统、数据库、网络等各方面的问题27测试计划制定要素:测试目标测试案例测试成员测试时间测试环境28测试方案制定—测试时间工作内容时间(工作日)制定测试方案2制定测试规范及制定测试案例3测试环境准备1性能测试实施测试脚本准备2压力测试实施2测试数据统计分析2提交初步测试结果1提交测试报告2合计1529测试方案制定—测试环境测试环境的基本原则符合软件运行的最低要求,不一定选择将要部署的环境选用比较普及的操作系统和软件平台营造相对简单、独立的测试环境无毒的环境30测试方案制定—测试环境负载压力性能测试,测试环境还需要注意以下几点:必须考虑测试工具的硬件和软件配置需求,比如支持工具的操作系统、工具是否支持当前的应用协议等测试环境与实际生产环境有无差异,硬件配置是否是影响性能的主要因素测试环境中应该包括安装、备份及恢复过程排除网络问题给环境带来的影响31测试方案制定—测试环境好的测试环境的标准:一个稳定、可重复的测试环境能够保证测试结果的正确保证达到测试执行的技术需求保证得到可重复的和易理解的测试结果32测试方案制定—测试环境测试数据在测试环境中需要输入一些适当的测试数据,包括:初始数据系统运行所必须的初始化数据业务数据提供负载压力背景脚本中参数数据脚本中参数数据真实模拟负载33测试方案制定—测试环境怎样准备测试数据手工操作方法利用工具的自动化方法34测试方案制定—测试环境依靠工具准备测试数据的方法自动生成测试数据测试数据管理35测试方案制定—测试环境自动生成测试数据利用数据库测试数据自动生成工具—TESTBytes,确定需要生成的数据类型和生成规则,通过与数据库的连接来自动生成数百万行的测试数据利用LoadRunner的黑盒方法36测试方案制定—测试环境测试数据管理File-Aid是一套为帮助开发者、测试人员、质量保证团队更加有效地在开发、测试和支持C/S或Web应用中的测试数据管理工具。37测试方案制定—测试环境测试数据管理File-Aid提供数据拷贝,构造子集,数据转换,数据编辑,数据浏览,数据生成,数据比较,数据迁移等功能。38测试计划制定-小结要素:测试目标测试案例测试成员测试时间测试环境39性能测试流程3.测试执行1.测试需求&计划4.结果分析&报告2.测试设计&开发性能测试•测试需求分析•测试计划制定•测试脚本录制•测试调试开发•负载压力场景设计•结果分析•问题定位•测试报告与评估•搭建环境•部署测试场景•执行测试40测试设计&开发开发测试工具如:报文发生器利用成熟的商业测试工具LoadRunner,SilkPerformer41测试设计&开发-测试脚本录制调试以测试工具LoadRunner为例42测试设计&开发-场景设计用于设计测试活动需要使用的场景测试场景从不同的剖面模拟实际业务的运行业务和业务比例测试指标的目标需要在测试过程中进行监控的性能计数器43测试设计&开发-场景设计测试场景示例(某订花网站)场景名称业务及分配比例测试指标性能计数器用户登录登录业务,比例100%总用户100响应时间(3s)服务器CPU和内存使用混和业务操作用户注册,20%用户查询订单,40%用户网上订购,40%用户总用户数100响应时间(用户注册5s)(查询订单3s)(网上订购4s)服务器CPU和内存使用,应用服务器资源……………………44性能测试流程3.测试执行1.测试需求&计划4.结果分析&报告2.测试设计&开发性能测试•测试需求分析•测试计划制定•测试脚本录制•测试调试开发•负载压力场景设计•结果分析•问题定位•测试报告与评估•搭建环境•部署测试场景•执行测试45测试执行1搭建测试环境23执行测试和记录结果部署测试场景46测试执行-搭建测试环境硬件环境设备、网络拓扑软件环境应用部署、测试工具数据环境数据规模47测试执行-部署测试场景部署脚本场景运行时设置如循环次数、业务比例、运行时间等等性能指标和资源监控设置(重点关注)48测试执行-性能指标和资源监控设置交易处理性能指标交易:为了完成一个任务,用户对应用程序执行的一组操作,例如登录一个Web站点、搜索一个飞机票信息、在网上买一本书等等。每秒交易数(Transationspersecond)交易响应时间(ResponseTime)虚拟并发用户数(TotalVirtualUsers)吞吐量(Throughout)49测试执行-性能指标和资源监控设置并发性能测试的主要监控指标服务器资源监控,例如:Windows,UNIX,Linux应用服务器监控,例如:IIS、J2EE数据库资源监控,例如:Oracle,SQLServer50测试执行-性能指标和资源监控设置类别计数器名称计数器描述MemoryAvailabeMbytes可用物理内存数Pages/sec每秒由于页面错误从内存读入磁盘或写入磁盘的页面数System%TotalProcessorTime系统上所有处理器都忙于执行非空闲线程的平均时间百分比PhysicalDisk%DiskTime磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比Windows资源监控指标51测试执行-性能指标和资源监控设置类别计数器名称计数器描述MemoryFree(KB)可用物理内存数Swap(KB)已使用的虚拟内存数量(Page)si/so每秒从磁盘交换到内存或从内存交换到磁盘的数量Processor%IdleTimeCPU总的空闲时间PhysicalDiskReads(Writes)/wpersec物理磁盘上每秒磁盘读、写的次数UNIX/Linux资源监控指标52测试执行-性能指标和资源监控设置类别计数器名称计数器描述JVMHeapSizeJVM堆大小,实时值HeapFreeJVM可用堆大小,实时值JDBCConnectionPoolCo