当前位置:
文档之家› 软件性能测试设计与实现周光明
软件性能测试设计与实现周光明
故障并恢复后,验证是否能够继续使用系统, 以及这种情况发生后用户将会受到什么影响
2、特点
其主要目的是验证系统出现故障并恢复后系统是否可以继续使用
3、注意事项
软件性能测试应用场合 1、公司内部验证软件产品能力; 2、客户项目要求验证软件性能; 3、产品之间性能对比测试;
软件性能测试目的 1、发现软件缺陷,如内存泄露、线程死锁等问题; 2、验证软件能力,获取基准性能指标; 3、性能调优,容量规划设计; 4、发现软件性能缺陷,指出改进方向;
性能测试介入
• 性能测试介入阶段
负载测试
1、目的
通过在被测系统上不断增加负载压力,直到性能指标超过预定指标或某种资 源使用已达到饱和状态。
2、特点
其主要目的是找到系统处理能力的极限 在给定环境下运行,需要考虑被测系统的业务压力量和典型场景,使得测试 结果具有业务上的意义 可用来了解系统的性能容量,或者配合性能调优来使用
3、注意事项
增加负载的策略 停止增加负载的标准
压力测试
1、目的
测试系统在系统资源(如CPU、内存使用率、网络带宽等)一定饱和状态下, 系统的处理能力,以及系统是否会出现错误。
2、特点
其主要目的是检查系统处于压力情况时应用的表现 一般通过模拟负载等方法,使得系统的资源使用达到较高水平 一般用于测试系统的稳定性
3、注意事项
行了什么业务(what),最终需要关注怎样的指标(how)
单客户端查询历史数据耗时
结果显示时 间
查 询 客 户 端
网络传输时间 网络
服务器处理时 间
工业库 服务器
常用性能指标
• • • • • •
CPU占用率、内存占用率、网络带宽占用率 存储速度:每秒300,000条数据记录的存储速度 检索速度:每秒20,000条数据记录的检索速度 数据容量:长达数年的历史数据保存和归档
需注意该点在性能对比测试中的误区
注意:性能测试一定要充分利用一切可以利用的资源和工具
基准性能测试
1、目的
通过模拟生产环境运行的业务压力量和使用场景组合, 测试系统是否满足要求的测试方法。
2、特点
验证系统具有宣称的能力 在已确定的环境下进行 根据典型场景设计测试方案和用例
4、注意事项
满足系统运行的基本要求 记录基准性能指标
性能测试场景设计
性能测试场景设计 1、结果导向分析法 2、分析影响性能表现的因素 3、针对影响因素设计相应测试场景
对于待测系统处理机制的深入了解,是性 能测试成功设计和执行的保证。
性能测试环境搭建
1、硬件环境; 2、待测软件设置; 3、操作系统环境; 4、网络环境; 测试环境搭建常见错误:
1、无视软硬件资源不足; 2、无视与客户硬件环境不一致; 3、无视软件参数配置不合理;
对于交互式的应用系统,要考虑思考时间,用于更真实的模拟用户操作。避免 不具有实际业务含义的业务模型。
性能测试需求
• 性能测试需求描述要求
• 1、准确:对于性能指标要准确、清楚的描述;
• •
2、一致:对于性能指标的确认达成统一; 3、特定:性能测试的需求是有条件的;
• 性能测试需求必须要包含多少用户(who)在什么时间(when)或持续多久(when)进
性能测试模型
• 业务模型建立:建立一个能够逼真模拟系统实际运行场景的业务模型; • 测试数据模型建立:准备测试数据和基础数据,确保数据容量和真实性符合实际运行情况; • 监控模型建立:设计需要监控的性能指标,从而发现性能瓶颈; • 测试模型建立:采取基准测试、单业务负载测试、混合负载测试、并发测试的顺序来执行; • 执行模型建立:建立规范的测试流程,明确各个角色的职责; • 风险模型建立:预估风险,并就风险作出处理方案;
设置有意义的饱和状态
并发测试
1、目的
通过模拟用户的并发访问,测试多用户并发访问同一应用,同一个模块或数 据记录时是否存在死锁或其他性能问题
2、特点
其主要目的是发现系统中可能隐藏的并发访问时的问题,如内存泄露、线程 死锁或资源竞争方面的问题 需要相关的工具配置和支持
3、注意事项
在线用户数和并发用户数的区别 理想情况下是使用多台机器真实模拟用户并发场景 使用测试工具模拟并发客户端,要支持快速部署和启动测试
1、产品需求调研阶段; 根据客户应用场景,确定产品应用性能指标 2、开发设计阶段; 分析软件设计中会造成性能瓶颈的因素 3、功能稳定阶段;
开展全面的性能测试,验证产品性能
业务模型
• 业务模型
1、常规业务模型 2、突发事件或峰值业务模型
• 获取业务模型
1、客户业务流程介绍 2、服务器日志记录
业务模型的意义
疲劳强度测试
1、目的
通过给系统加载一定的业务压力情况下,让程序持续运行一段时间,测试系 统在这种条件下是否能够稳定可靠的运行
2、特点
其主要目的是验证系统是否支持长期稳定的运行 需要在压力状态下运行一段时间 需要关注系统的运行状况
3、注意事项
保持一定的运行压力 软硬件环境支持其长时间稳定运行
故障恢复测试
1、构建跟客户应用场景类似的测试场景 2、分析获取性能测试指标 3、预估应用压力及峰值压力场景
业务模型举例:
公司邮件服务器,最高峰时有200人在线,考察某一时间点,其中40%的用户 什么都没做,20%的用户写邮件,20%的用户在看邮件,剩下的20%在不停地
点击收邮件按钮。
思考时间(Thinking Time)
软件性能测试设计与实现
—软件性能测试系列讲座二
• 软件性能测试目的 • 软件性能测试需求确定 • 软件性能测试设计和执行 • 软件性能测试分析及性能调优 • 根据性能瓶颈指出改进方向 • 软件性能测试结束标准 • 工业库性能测试案例分析 • 性能测试工具的引入 • 软件性能测试报告
内容提要
软件性能测试目的
并发客户:支持256个并发客户同时存储和检索实时及历史数据 平均无故障时间:长时间稳定无故障运行7*24小时
性能测试需求的获取
• 开发设计、产品需求设计文档 • 客户根据业务流程提出 • 同类产品的性能指标 • 行业标准、研究报告 • 基准性能测试
注意:考虑突发事件以及峰值情况的确定
1、习惯性的集中登录; 2、突发事件造成大量访问; 3、集中事务处理日期段; 4、节假日等……