性能测试方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.引言
说明测试方案中所涉及内容的简单介绍,包含:编写目的,项目背景、参考文档,以及预期的读者等。
1.1.编写目的
本文档描述××系统性能测试的范围、方法、资源、进度,该文档的目的主要有:
1.明确测试目的范围。
2.明确测试范围和目标。
3.明确测试环境需求,包括:测试需要的软、硬件环境以及测试人力需求。
4.确定测试方案,测试的方法和步骤。
5.确定测试需要输出的结果和结果表现形式。
6.分析测试的风险,寻找规避办法。
1.2.项目简介
简要描述与测试项目相关的一些背景资料,如被测系统简介,项目上线计划等。
1.3.参考文档
说明文档编写过程参考引用的资料信息。
2.测试目的、范围与目标
2.1.测试目的
根据项目总体计划明确项目测试目的。常见的测试目的如下(依据项目的实际情况修改。
本次性能测试的主要目的在于:
✧测试已完成系统的综合性能表现,检验交易或系统的处理能力是否满足
系统运行的性能要求;
✧发现交易中存在的性能瓶颈,并对性能瓶颈进行修改;
✧模拟发生概率较高的单点故障,对系统得可靠性进行验证;
✧验证系统的生产环境运行参数设置是否合理,或确定该参数;
✧获得不同备选方案的性能表现,为方案选择提供性能数据支持。
2.2.测试功能范围
说明本项目需要进行测试的待测系统功能范围,列出被测对象的测试重要性及优先级等,提供一份简要列表。对于交易类功能要细化到每一个交易码;对于页面类功能要细化到每一个发起页面。下面表格供参考,非强制使用。
如果测试目的为方案验证,需要文字列出需要验证的方案项。
明确列出说明本次测试需要关注的测试指标的定义及范围,不需要关注的测试指标也应列出。下面的内容供参考。
本次性能测试需要获得的性能指标如下所列:
✧交易的响应能力:即在单交易负载和模拟生产交易情况的混合场景负载
压力情况下,系统的响应时间。
✧每秒处理事务数:即应用系统在单位时间内完成的交易量(TPS)。
✧批处理的运行时间。
✧系统可支持的并发用户数量。
本次性能测试的限制性指标为:
✧系统资源使用情况:在正常压力下,应用服务器和数据库服务器的CPU、
Memory占用率应分别低于70%、80%,数据库存储空间和文件系统空间
占用率应低于70%。
✧交易的成功率:系统运行在当前(或规划)的负载120%以上时的稳定性
或可靠性数据。要求为测试交易持续运行8小时以上,交易成功率不低
于99.5%。
本次性能测试不需要关注的指标:
✧业务流程/路径覆盖率。
✧业务数据的完整、正确性。
✧其他诸如系统易用性、可管理性等属于专项测试的内容。]
2.4.测试目标
明确本次测试各功能项的测试指标需要达到的测试目标,该目标须由项目
组提出或最终确认。
该测试目标可能涉及到的具体指标值有:
✧针对不同类型交易的单交易事务平均响应时间
✧针对不同类型交易的单交易事务TPS值
✧在负载情况下的单交易事务平均响应时间
✧在负载情况下的单交易事务TPS值
✧在负载情况下的系统综合TPS值
可以列表方式提出(下表供参考,非强制使用),也可以以文字方式说明,要求有明确的目标数值
说明本项目生产环境的物理架构,可以以物理架构图的方式。
3.2.性能测试环境物理架构
说明本项目性能测试环境的物理架构,可以以物理架构图的方式。3.3.性能测试环境与生产环境资源对比
说明本项目测试环境与生产环境的差异,确定性能测试环境的软硬件资源,包括待测系统各组成部分的配置。下表供参考,非强制使用。
4.1.启动准则
描述开始执行测试的时机,下面准则供参考。
✧测试实施方案评审通过。
✧测试环境准备完毕,包括:
1.数据库安装并调试成功,并经过相应优化,初始数据量满足测试要求。
2.应用服务器安装成功,待测试版本已正确部署。
3.测试客户端机器到位,系统软件安装完毕。
4.网络配置正确,连接通畅,可以满足压力测试需求。
5.测试所需的存储到位。
6.其他环境资源就绪。
✧待测交易的测试数据和测试脚本准备完毕。
✧待测交易(流程)通过功能测试,版本稳定。
4.2.暂停/再启动准则
描述在什么情况下暂停/恢复全部或部分测试工作,下面准则供参考。
✧测试中发现问题,需要项目组修改代码或更换版本;
✧测试中发现服务规划及部署问题,需要重新调整部署方案;
✧需要调整测试环境资源,如加减CPU数目,增加存储等等。
✧测试环境受到干扰,比如服务器被临时征用,或服务器的其它使用会对
测试结果造成干扰。
4.3.结束准则
描述测试结束的条件,有正常退出,也有非正常或意外的退出,下面准则
供参考。
✧完成全部性能测试内容并提交测试报告;
✧对验证测试的内容从测试外渠道获得权威的结论。
5.测试准备
5.1.测试环境安装
说明本次测试的测试环境安装情况。
5.2.测试工具
说明本次测试使用到的测试工具和监控工具。
5.3.测试脚本、数据及其预验证
说明本次测试的测试脚本、测试数据以及混合场景的交易配比情况等。
6.测试方法及案例设计
说明本次测试的测试方法(内容)及测试案例、测试场景设计。下面章节
供参考。
6.1.基准测试
在测试环境经过确认,脚本预验证之后对本次测试涉及的全部联机交易做基准测试。目的是验证测试脚本及后台环境、初步检查交易本身是否存在性能缺陷。
测试方法:
使用xx测试工具向xx服务器发送交易请求,接收并分析返回结果。拟采用xx负载执行,取交易的平均响应时间作为衡量指标,并计算吞吐量
6.2.单交易负载测试
对本次测试涉及的全部联机交易完成基准测试后,分别执行单交易负载测试。目的是获得交易本身的性能表现,诊断交易是否存在性能缺陷。
测试方法:
使用xx测试工具向xx服务器发送交易请求,接收并分析返回结果。拟采用xx的负载执行,取交易的平均响应时间作为衡量指标,并计算吞吐量
6.3.混合场景性能测试
按照规划生产环境交易比例设置测试场景,在xx用户总并发的情况下测试业务的平均交易响应时间、吞吐下指标,监测应用服务器、数据库服务器的资源使用情况、交易正确率等。