性能测试方案

性能测试⽅案
1. 测试⽬的
【内容】
  本节说明本次提出需求的⽬的所在,希望能够达到的⽬标。
【裁剪原则】
此部分内容不允许裁剪。
本测试报告为xxx系统的性能测试⽅案,⽬的是充分依据xxx系统建设实际,提供完整的⾼可⽤、⾼性能解决⽅案,建设⾼性能、⾼并发的集中式部署平台,并为项⽬的⾮功能需求(性能测试)进⾏了界定和细化,对今后软件测试⼈员、软件开发⼈员做出了引导作⽤。
2. 测试环境
2.1 系统环境标准配置
主机⽤途机型/OS数量CPU内存IP
应⽤软件服务器Centosx虚拟机x台Intel(R) Xeon(R) Gold
6161 CPU @ 2.20GHz
64GB xx
2.2 测试客户端配置
主机⽤途机型/OS数量CPU内存浏览器版本IP
⽤于性能测试的机器Win101Intel(R)
Core(TM) i7-
6500U CPU
@
2.50GHz 2.60
GHz
16G Google Chrome
版本75
动态IP
3. 测试场景⽤例设计
性能测试场景通常包括单业务基准测试、单业务压⼒测试、单业务负载测试、综合业务基准测试、综合业务压⼒测试、综合业务负载测试、综合业务稳定性测试等7种测试场景。
1. 单业务基准测试:测试某个具体业务是否满⾜系统设计或⽤户期望的性能指标。⽐如⽤户期望⾸页查询⽀持300个⽤户并发查询,如果
满⾜了,则认为基准测试完成,否则失败。
2. 单业务压⼒测试:测试某个具体业务在最⼤负载下,持续服务的时长,以此验证被测业务的稳定性。压⼒测试过程中所涉及的负载,
是以系统基准负载为标准,如系统基准负载为50个并发⽤户,则压⼒测试的负载设为50个,通过运⾏时长的变化,验证服务器在系统预设负载下持续服务的能⼒。
3. 单业务负载测试:测试某个具体业务能够承受的最⼤负载,验证被测业务能够承受的最⼤负载数,在最佳负载下,系统仍需满⾜各项
性能指标。
4. 综合业务基准测试:与单业务基准测试类似,但综合业务需考虑业务与业务间的联系,如果相互之间存在资源争⽤,则需单独组合测
试。假设系统需测试的业务有三个:A、B、C,综合业务基准测试是将ABC⼀起运⾏,那么加上ABC三个基准测试,共计4个基准测试场景,分别是ABC、A、B、C,但A与C存在资源争⽤,则需单独将A与C组合,构成⼀个单独的测试场景,则⼀共为ABC、A、B、C、AC5个基准测试场景。
5. 综合业务压⼒测试:与单业务压⼒测试类似。
6. 综合业务负载测试:与单业务负载测试类似。
7. 综合业务稳定性测试:综合业务稳定性测试通常为核⼼业务在基准负载的基础上运⾏相对长的时间,验证服务器持续提供稳定服务的
能⼒。稳定性场景测试的时间由需求⽅设定,⼀般为7*24⼩时不间断执⾏。
通过如上分析,根据盛世悦读确定本次性能测试的场景主要为⾸页查询并发基准测试、⾸页查询业务量基准测试、登录并发基准测试、登录业务量基准测试、盛世币订单并发基准测试、盛世币订单业务量基准测试六个场景。
登录业务并发基准测试场景⽤例
⽤例编号
关联脚本⽤例编
场景类型单脚本基
准测试
场景计划类型场景
场景运⾏步骤线程数开始线程持续运⾏停⽌线程
集合点不设计线程代理不使⽤数据监控Jmeter⾃带
带预期指标值
测试项响应时间业务成功率并发测试CPU使⽤
内存使⽤
登录操作实际指标值
测试项响应时间业务成功率并发测试CPU使⽤
内存使⽤
登录操作
测试执⾏⼈测试⽇期
登录业务量基准测试场景⽤例⽤例编号
关联脚本⽤例编
场景类型单脚本基
准测试
场景计划类型场景
场景运⾏步骤线程数开始线程持续运⾏停⽌线程
集合点不设计线程代理不使⽤数据监控Jmeter⾃带
预期指标值
测试项响应时间业务成功率并发测试CPU使⽤
x501内存使⽤
登录操作实际指标值
测试项响应时间业务成功率并发测试CPU使⽤
内存使⽤
登录操作
测试执⾏⼈测试⽇期
⾸页查询并发基准测试场景⽤例⽤例编号
锂电保护芯片关联脚本⽤例编
场景类型单脚本基
驴肉加工准测试
场景计划类型场景
场景运⾏步骤线程数开始线程持续运⾏停⽌线程
集合点不设计线程代理不使⽤数据监控Jmeter⾃带
预期指标值
测试项响应时间业务成功率并发测试CPU使⽤
内存使⽤
登录操作实际指标值
测试项响应时间业务成功率并发测试CPU使⽤
内存使⽤
登录操作
测试执⾏⼈测试⽇期
⾸页查询业务量基准测试场景⽤例⽤例编号
关联脚本⽤例编
场景类型单脚本基
准测试
场景计划类型场景
场景运⾏步骤线程数开始线程持续运⾏停⽌线程
停⽌线程
集合点不设计线程代理不使⽤数据监控Jmeter⾃带
预期指标值
测试项响应时间业务成功率并发测试CPU使⽤
内存使⽤
登录操作实际指标值
测试项响应时间业务成功率并发测试CPU使⽤
内存使⽤
登录操作
测试执⾏⼈测试⽇期
4. 测试数据说明
性能计划中,本次测试达到如下⽬标:
1) xxx⾸页-查询结果的响应时间<=3S,业务成功率为100%,并发数=300,CPU占⽤率<=80%,内存使⽤率<=80%。
2)订单的响应时间<=5S,业务成功率为100%,并发数=300,CPU占⽤率<=80%,内存使⽤率<=80%。
3)登录响应时间<=3S,业务成功率为100%,并发数=300,CPU占⽤率<=80%,内存使⽤率<=80%。
根据性能测试计划中的⽬标,我们在做登录的时候,为了更真实地模拟不同⽤户登录、⾸页查询等⾏为,需要针对登录⽤户名、⾸页查询等信息进⾏参数化设计,保证每次登录或者查询的信息都不近相同,尽可能模拟真实的业务⾏为。在此过程中,我们可利⽤Jmeter构造测试数据(可以通过连接数据库利⽤存储过程⽣成)。⽐如在本次测试中,测试⼯程师可以利⽤Jmeter模拟真实⽤户注册⾏为,设置线程,通过线程进⾏迭代的⽅式就可以完成对应数量的注册账号,便于后期测试使⽤。已经创建好的数据,我们需要定期进⾏数据库备份,便于回归测试。
5. 测试⼯具
⼯具版本⽤途备注
Jmeter Apache JMeter3.1
r1770033
性能测试
Jmeter简介:
Apache JMeter是Apache组织开发的基于Java的压⼒测试⼯具。⽤于对软件做压⼒测试,它最初被设计⽤于Web应⽤测试,但后来扩展到其他测试领域。它可以⽤于测试静态和动态资源,例如静态⽂件、Java ⼩服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器,等等。JMeter 可以⽤于对服务器、⽹络或对象模拟巨⼤的负载,来⾃不同压⼒类别下测试它们的强度和分析整体性能。另外,JMeter能够对应⽤程序做功能/回归测试,通过创建带有断⾔的脚本来验证你的程序返回了你期望的结果。为了最⼤限度的灵活性,JMeter允许使⽤正则表达式创建断⾔。线路保护
Apache jmeter 可以⽤于对静态的和动态的资源(⽂件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进⾏测试。它可以⽤于对服务器、⽹络或对象模拟繁重的负载来测试它们的强度或分析不同压⼒类型下的整体性能。你可以使⽤它做性能的图形分析或在⼤并发负载测试你的服务器/脚本/对象。
6. 测试⽅法概述
测试类型⽬标测试思路
性能测试针对性能需求以满⾜系
统在压⼒状态下的正常
适⽤.
使⽤Jmeter⼯具去模拟⽤户对xxx。
7. 脚本编写说明及场景执⾏设计
在本次编写的脚本中,主要涉及3个脚本的编写:⽤户登录脚本开发、⾸页查询脚本开发、xxx业务脚本开发。
1)⽤户登录脚本开发
1. 利⽤badboy录制或⾃⼰编写脚本的⽅式进⾏⽤户登录过程,⽣成Jmeter脚本。
2. 登录⽤户名进⾏参数化。
3. 设置计时器
4. 设置断⾔
5. 添加”查看结果数”、“聚合报告”,便于统计测试脚本执⾏过程中的数据表现。
2)xxx的订单业务脚本开发
1. 利⽤badboy录制或者⾃⼰编写脚本的⽅式,打开浏览器⽹页、输⼊⽤户名及密码,登录、点击充值、设置⾦额及⽀付⽅式,点击⽀
付、退出系统等过程,⽣成Jmeter脚本
2. 针对⽤户名进⾏参数化
3. 分析请求脚本,获取需要的内容
4. 设置计时器
5. 设置断⾔
6. 添加”查看结果数”、“聚合报告”,便于统计测试脚本执⾏过程中的数据表现。
3)⽤户登录脚本开发
1. 利⽤badboy录制或⾃⼰编写脚本的⽅式进⾏浏览器登录,输⼊关键字进⾏查询,⽣成Jmeter脚本。
2. 关键字进⾏参数化。
3. 设置计时器
4. 设置断⾔
5. 添加”查看结果数”、“聚合报告”,便于统计测试脚本执⾏过程中的数据表现。
8. 监控对象
主要监控指标如下:
医院纯水系统
Running  users
TPS
Trans response time(90%,标准差)
Hits per second
Throughtput
Connections per seconds
Linux resources(LoadAverage,CPU,MEM,IO,队列,⽹络)
9. 测试通过标准
测试项⽬平均响应时间业务成功率CPU使⽤率内存使⽤率并发数
⾸页-查询<=3S100%<=80%<=80%300
xxx<=5S100%<=80%<=80%100
登录<=3S100%<=80%<=80%100
10. 测试限制与风险
测试限制条件主要存在于⼯具调⽤和⼈员能⼒问题:
1. 测试⼯具:需要使⽤Jmeter在PC上模拟在线⽤户数量峰值和正常值。
2. 测试⼈员能⼒:由于测试⼈员能⼒、精⼒有限,⽆法全覆盖所有的的情况条件组合,只对部分时间点进⾏性能测试。测试风险如下:
风险优先级应对措施
铅封号
需求变更中通过内部及时进⾏沟通,并做好版本
管理、变更管理
⼈员变动⾼需要有熟悉需求的相关⼈员做补充
环境变动⾼预先留有后备测试环境,保证环境的
稳定
11. 测试完成后的后续操作
1、恢复服务器内的设置,如果需要监控CPU、IO需要对Agent-server进⾏进程终⽌,且停掉该端⼝的使⽤。
2、回收脏数据,如果涉及到数据库对应的库表,我们需要数据库内的库表内容进⾏情况处理。
3、其他⼀些未知产⽣的⽂件等信息。

本文发布于:2024-09-22 17:37:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/224948.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   业务   脚本   基准   登录   场景
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议