软件开发项目性能测试计划.docx
性能测试计划第三章测试指标及期望本次性能测试需要测试的性能指标包括:1、响应时间:核心系统处理交易的平均响应时间2、吞吐量:系统每秒处理的事务数(TPS)3、资源使用指标:前置和核心系统各服务器CPU占用率、内存占用率、 I/O占用率;LoadRunner压力产生器CPU占用率、内存占用率响应时间本次性能测试中的响应时间是指在一定的负载压力下,由前置系统记录和进 行统计分析的、核心系统处理交易的响应时间,用一定时间段内的统计平均值 ART来表示。本次性能测试中,对所有非批量联机交易的ART指标要求为:ART W 3秒吞吐量在没有遇到性能瓶颈时:TPS=并发用户数*事务数/响应时间。根据统计数据,当前生产环境高峰日交易总量为7500笔。根据二八原那么(80% 的交易量发生在20%的时间段内),当前生产环境对主机的吞吐量指标要求为:TPS_1 2 7500(交易)* 80%(交易量)/ (24(小时)* 20% * 3600(1 小时60分钟*1分钟60秒)=0.34笔/秒17280为获取核心系统主机的最大处理能力,在本次性能测试中可通过不断加压, 让核心系统主机CPU利用率到达85%,记录此时的TPS值,作为新主机处理能力 的一个参考值。为模拟生产上核心主机的异常情况,通过不断加压,让核心系统主机CPU利 用率到达接近100%,观察核心系统的工作情况,记录TPS值。3.1 请求成功率指测试结束时成功请求数占总请求数的比率。请求成功率越高,系统越稳定。对典型功能的场景测试,要求其请求成功率2 99. 999999% 。3.2 资源使用指标在正常的并发测试和批处理测试中,核心系统各服务器主机的资源使用指标 要求:CPU使用率W 80%内存使用率 80%I/O使用率W80%第一章前言1.1目的描述性能测试的范围、方法、资源、进度,作为性能测试的依据,该文档的 目的主要有:1、明确测试范围、测试场景、明确测试目标2、明确测试环境需求,包括:测试需要的软、硬件环境以及测试人力需求3、确定测试方案,测试的方法和步骤4、指定测试工作的时间安排5、分析测试的风险,寻找规避方法确定测试需求输出的结果和结果表现形式L2工程背景工程背景1.3 读者对象工程经理、工程组、测试人员、开发人员1.4 参考文档序号文档名称作者版本/日期1需求文档2技术文档3工程模型文档1.5 测试交付物说明:序号文档名称说明1性能测试计划明确说明性能测试范围,方法,工作周期信息2性能测试脚本根据测试场景录制测试脚本3性能测试报告明确说明测试场景、性能指标、瓶颈测试计划使用公司统一的最新模板变更记录版本号作者操作日期说明VI. 0新建2020-03-16第二章测试计划软硬件配置本此性能测试环境与真实运行环境硬件和网络环境有所不同,是真实环境的 缩小,数据库是真实环境数据库的一个复制(或缩小)。具体的硬软件和网络环境如下:环境资源数量型号/配置/软件名称/软件版本号硬件环境数据库服务器1CPU: 8 核,主频 1. 6GHz内存:80G存储:500*9GIP 地址:10. 1. 189.213Web服务器1其它服务器3J Me ter压力产生器1笔记本电脑PC (windows 10)CPU:双核,主频1.60GHz内存:1G/2GIP 地址:10. 1. 119. 59/10. 1. 119. 109Jmeter控制台1笔记本电脑PC (windows 10)CPU:双核,主频1.60GHz内存:1GIP 地址:10. 1.119. 59软件环境核心服务器1Centos7Tomcat6. 0Java: JDK1.8Nginx:数据库1Oraclel1中间件服务器1JMeter压力产生器操作系统1Windows 7 Professioanl(SP2)J Me ter操作系统1Windows 7 Professioanl (SP2)网络环境LAN (10M)2.1 测试环境拓扑图Web服务器Web服务器数据库服务器2.2 测试工具r序号工具名称用途说明版本iApache-JMeter性能测试开源工具apache-jmeter-5.1.12.3 测试任务和进度测试活动测试时间起始时间结束时间姓名职责性能测试计划2022/11/122022/12/15XX性能测试工程管理和协调性能测试需求分析测试脚本准备开发测试脚本,设计测试场景,执行性能测试测试环境准备和测试数据准备1 .准备性能测试环境(包括测试工具环境、被测系统硬件环境和软件环境)2.准备基础数据和测试数据测试执行测试报告2.4 测试场景251基准测试(新增命名分类)使用一个Vuser,分别运行新增和查询,设置脚本的迭代次数1次,验证所 有脚本是否运行正确、所有新增事务是否成功返回,并获取每个新增的平均交易响应时间 ATR(Average Transaction Response Time) o编号场景名执行用 户数加压持续 时间退出方式思考时间/迭代 延迟负载生 成器数量备注1登录系统user login dataMiddle获取单2数据标准-命令分类-查询列表search_ command_c1assificat ion用户执 行的响 应时间3数据标准-命令分类-新增命名分类 add command classification同时同时thinktime:忽略和服务 器资源, 为之后 的测试1Iminpacing:2s-4s1提供依4数据标准-命令分类-查看记录 show_command_classification据252并发测试(新增命名分类)使用10个Vuser,分别为每个新增执行并发,验证所有脚本是否运行正确、 所有新增事务是否成功返回,并获取每个新增的平均交易响应时间ATR(Average Transaction Response Time)和服务器各项资源。根据需求,需要测试50、100个用户并发。编 号场景名执行 用户 数加 压 方 式持 续 时 间退 出 方 式思考时 间/迭代 延迟集合 点策略负载 生成 器数量备注1登录系统user_login_dataMiddle10同 时运 行 完 成同 时忽略依据 业务 设置12数据标准-命令分类-查询列表search_ command c1assif icat ion3数据标准-命令分类-新增命名分 类addcommandclassification4数据标准-命令分类-查看记录 showcommandclassification253递增测试场景(新增命名分类)使用50个Vuser,每2秒添加2个用户,持续运行30min;验证所有脚本是 否运行正确、所有新增事务是否成功返回,并获取每个新增的平均交易响应时间 ATR(Average Transaction Response Time)和服务器各项资源。编号场景名执行用 户数加压方 式持续 时间退出 方式思考 时间/ 迭代 延迟点策 略负载 生成 器数量备注1登录系统 userlogin50每隔2秒 钟添加2 个用户30min同时无依据 业务 设置1254混合负载场景(命名分类)制作单个功能的性能测试脚本,将同一模块内功能相近的脚本放在同一个测 试场景中,并发用户数为50,平均设定每个功能的比例,设定负载序列,按照 负载序列逐渐增加并发用户数,获取响应时间和服务器各项资源。场景一序功能功能点执行用用户加载持续时间迭代延迟思考时间备注号名称户数*1命名分类查询列表 (20VU)50每2秒加载1个lhRandom:6s-9sRandom50%-150%2新增命名分类(15VU)3查看命令分类(15VU)255稳定性测试(命名分类)使用50用户系统稳定运行的情况下,以一定的负载压力来长时间运行系统 的测试,主要目的是确定被测系统长时间处理较大业务量时的性能,获取响应时 间和服务器各项资源。场景一序号功能名称功能点执行用户数用户加载方式持续时间迭代延迟思考时间负载生成器数量备注1命名分类查询列表 (20VU)50每2秒加载2个24hRandom :3s-9sRandom5s-15s2必要时采用联机测试2新增命名分类(15VU)3查看命令分类(15VU)2.5 测试策略2.5.1 基准测试在测试环境经过确认,脚本预验证之后对本次测试涉及的全部联机交易做基准测试。目的是验证测试脚本及后台环境、初步检查交易本身是否存在 性能缺陷。目的:是获取单用户执行时的各项性能指标,为多用户并发和混合场景的性能测试分析提供参考依据;2.5.2 并发测试并发测试是指并发不同数目的虚拟用户执行检查点操作,目的是对检查 点进行压力加载测试。预测系统投入使用后在一定用户压力情况下的系统响 应时间,根据此响应时间分析、确定系统存在的性能瓶颈,为系统的优化和 调整提供依据。2.5.3 递增测试递增测试是指每隔一定时间段(如5秒、10秒)并发不同数目的虚拟用 户执行检查点操作,对检查点进行递增用户压力加载测试,从而模拟系统真 实的使用情景,使用户预知系统投入使用后的性能水平。2.5.4 混合场景测试通过对系统体系机构和功能模块的分析以及对系统用户的分布和使用 频率的分析,来构造系统综合场景的测试模型,模拟不同用户执行不同操作, 如10%的用户执行登录操作,50%的用户执行查询操作,40%的用户执行上传 文档操作,最大限度地模拟系统的真实场景,使用户预知系统投入使用后的 真实性能水平。从而,对系统做出相应的优化及调整,防止实际情况中出现 系统长时间不响应及崩溃的情况。2.5.5 稳定性测试稳定性测试是指对系统核心功能点进行疲劳强度测试,即用系统稳定运 行情况下能够支持的最大并发用户数,持续执行一段业务时间(如48小时), 记录交易平均响应时间,交易正确率,应用服务器和数据库服务器CPU利用 率、内存使用情况等参数,考察应用服务器和数据库服务器是否出现宕机、 内存泄漏等情况。该测试通常需要和场景测试进行结合,从而可以最大限度 地模拟真实环境下,系统长时间连续运行条件下,系统是否能够保持在稳定 运行状态。