《性能测试培训》PPT课件.ppt
3,性能测试流程,结果分析,报告,测试执行,测试设计与开发,测试需求&计划,测试流程,4,性能测试流程,3.测试执行,1.测试需求&计划,4.结果分析&报告,2.测试设计&开发,性能测试,测试需求分析测试计划制定,测试脚本录制测试调试开发负载压力场景设计,结果分析问题定位测试报告与评估,搭建环境部署测试场景执行测试,5,测试需求分析,测试需求就是应用需求的衍生测试用例也必须覆盖所有的测试需求测试需求的来源是多方面的,如需求文档、用户备忘录或系统日志等,6,测试需求分析,测试需求分析关键内容 测试的对象;系统配置,例如“预计有多少用户并发访问?”“用户客户端的配置如何?”“使用什么样的数据库”“服务器怎样和客户端通信?”“网络设备的吞吐能力如何,每个环节承受多少并发用户?”等问题;系统的使用模式。,7,测试需求分析,用户的提问与我们的测试目标,8,测试需求分析,8020原理测试强度估算,9,测试需求分析,测试强度估算 8020原理:每个工作日中80的业务在20的时间内完成。举例:每年业务量集中在8个月,每个月20个工作日,每个工作日8小时即每天80%的业务在1.6小时完成去年全年处理业务约100万笔,其中15的业务处理中每笔业务需对应用服务器提交7次请求;其中70的业务处理中每笔业务需对应用服务器提交5次请求;其余15的业务处理中每笔业务需对应用服务器提交3次请求。根据以往统计结果,每年的业务增量为15,考虑到今后3年业务发展的需要,测试需按现有业务量的两倍进行。,10,测试需求分析,测试强度估算 每年总的请求数为:(100 x15%x7+100 x70%x5+100 x15%x3)x2=1000万次/年每天请求数为:1000/160=6.25万次/天每秒请求数为:(62500 x80%)/(8x20%x3600)=8.68次/秒即服务器处理请求的能力应达到9次/秒,11,测试需求分析,测试需求分析方法 充分分析系统有价值的信息任务分布图交易混合图 用户概况分析,12,测试需求分析,任务分布图有哪些交易任务 在一天的某些特定时刻系统都有哪些主要操作,13,14,测试需求分析,交易混合图 高峰期有哪些操作?中间件操作有多少?数据库操作有多少?如果任务失败,那么商业风险有多少?,15,选择的标准:高吞吐量 高数据库I/O 高商业风险,16,测试需求分析,用户概况分析哪些任务是每个用户都要执行的?针对不同角色的用户,他们的任务是什么?针对每个用户,不同任务的比例如何?,17,测试需求分析,任务频率,18,测试计划制定,要素:测试目标测试案例测试成员测试时间 测试环境,19,测试计划制定测试目标,测试目标首先是基于需求分析抽取出用户的需求寻找用户的性能关注点,用户对系统性能的关注往往集中在少数几个业务活动上,如通过日志分析和用户调查分析获取,20,测试计划制定测试目标,测试目标可能描述为以下几种:该应用能够以1秒的最大响应时间处理200个并发用户对业务A的访问;峰值时刻有400个用户,允许响应时间延长到3秒。通过性能调优测试,本系统的A业务和B业务在200并发用户的条件下,响应时间提高到3秒,此时服务器的CPU占用不能超过75%,内存使用率不超过70%,21,测试计划制定,要素:测试目标测试案例测试成员测试时间 测试环境,22,测试方案制定,设计测试案例 好的案例具有以下几个性质:有效性:可以发现缺陷可重用性:可以重复使用的案例,保证测试的一致性可维护性:当测试环境、测试数据发生变化后,测试案例经过简单维护,可以继续使用,23,测试方案制定测试案例,24,测试计划制定,要素:测试目标测试案例测试成员测试时间 测试环境,25,测试方案制定测试成员,26,测试方案制定测试成员,27,测试计划制定,要素:测试目标测试案例测试成员测试时间 测试环境,28,测试方案制定测试时间,29,测试方案制定测试环境,测试环境的基本原则符合软件运行的最低要求,不一定选择将要部署的环境选用比较普及的操作系统和软件平台 营造相对简单、独立的测试环境 无毒的环境,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,SilkPerformer,41,测试设计&开发测试脚本录制调试,以测试工具Load Runner为例,42,测试设计&开发场景设计,用于设计测试活动需要使用的场景测试场景从不同的剖面模拟实际业务的运行业务和业务比例测试指标的目标需要在测试过程中进行监控的性能计数器,43,测试设计&开发场景设计,测试场景示例(某订花网站),44,性能测试流程,3.测试执行,1.测试需求&计划,4.结果分析&报告,2.测试设计&开发,性能测试,测试需求分析测试计划制定,测试脚本录制测试调试开发负载压力场景设计,结果分析问题定位测试报告与评估,搭建环境部署测试场景执行测试,45,测试执行,部署测试场景,46,测试执行搭建测试环境,硬件环境 设备、网络拓扑软件环境 应用部署、测试工具数据环境 数据规模,47,测试执行部署测试场景,部署脚本场景运行时设置 如循环次数、业务比例、运行时间等等性能指标和资源监控设置(重点关注),48,测试执行性能指标和资源监控设置,交易处理性能指标 交易:为了完成一个任务,用户对应用程序执行的一组操作,例如登录一个Web站点、搜索一个飞机票信息、在网上买一本书等等。每秒交易数(Transations per second)交易响应时间(Response Time)虚拟并发用户数(Total Virtual Users)吞吐量(Throughout),49,测试执行性能指标和资源监控设置,并发性能测试的主要监控指标 服务器资源监控,例如:Windows,UNIX,Linux应用服务器监控,例如:IIS、J2EE数据库资源监控,例如:Oracle,SQLServer,50,测试执行性能指标和资源监控设置,Windows资源监控指标,51,测试执行性能指标和资源监控设置,UNIX/Linux资源监控指标,52,测试执行性能指标和资源监控设置,J2EE资源监控指标,53,测试执行性能指标和资源监控设置,J2EE资源监控指标,54,测试执行性能指标和资源监控设置,数据库资源监控指标,55,测试执行性能指标和资源监控设置,数据库资源监控指标,56,测试执行性能指标和资源监控设置,数据库资源监控指标,57,测试执行,部署测试场景,58,性能测试流程,3.测试执行,1.测试需求&计划,4.结果分析&报告,2.测试设计&开发,性能测试,测试需求分析测试计划制定,测试脚本录制测试调试开发负载压力场景设计,结果分析问题定位测试报告与评估,搭建环境部署测试场景执行测试,59,结果分析&报告,对测试结果进行分析,依据测试的目标给出测试结论结果分析(借助工具分析图)问题定位测试报告与评估,60,61,62,