完整版系统压力测试报告模版V10.docx
《完整版系统压力测试报告模版V10.docx》由会员分享,可在线阅读,更多相关《完整版系统压力测试报告模版V10.docx(15页珍藏版)》请在冰豆网上搜索。
完整版系统压力测试报告模版V10
国信嘉宁数据技术有限公司
XXX系统
压力测试报告
创建人:
xxx
创建时间:
xxxx年xx月xx日
确认时间:
当前版本:
V1.0
文档变更记录
文件状态:
[√]草稿
[]正式发布
[]废止
文档编号:
P01
当前版本:
V1.0
编制:
xxx
审核人:
发布日期:
版本编号
修订类型
修订章节
修订内容
编制人/日期
审核人/日期
V1.0
A
全文
初稿
xxx/160808
*修订类型分为:
A-ADDED,M-MODIFIED,D-DELETED。
1.简介
1.1.编写目的
描述编写本测试报告需要说明的内容。
如:
本报告为XX项目的压力测试报告,目的在考察系统性能、测试结论以及测试建议。
示例:
文档是对XXX系统性能(压力)测试所做的说明,为充分利用已有的软硬件资源,配合对各系统应用模块的运行测试方案,查缺补漏完善系统的各项具体功能,保证项目的顺利进行,本测试报告有助于实现以下目标:
明确本次性能测试的测试资源;
明确本次性能测试的测试内容;
明确本次性能测试的测试方法;
使用badboy录制脚本,Jmeter做压力测试和JMeterPlugin生成性图表。
明确本次性能测试的系统性能:
将对系统的性能进行测试,找出系统基于某种硬件及软件(主要为硬件环境)下的性能,找出系统的瓶颈和缺陷所在,及长时间的压力测试,找出系统基于某种硬件环境下的最大负载能力。
1.2.项目背景
对项目背景进行简要说明,可从需求文档或测试方案中获取。
1.3.系统简介
对所测试项目进行简要的介绍,如果有设计说明书可以参考设计说明书,最好添加上架构图和拓扑图。
示例:
xxx系统是一款基于java平台的网站,基于先进的Java技术,默认支持SQLServer数据库,可扩展支持ACCESS、MySql等多种数据库。
支持基于IE、Chrome、Firefox、Opera等浏览器。
XXX系统主要是提供xxx功能,本测试报告主要测试分析XXX功能。
1.4.术语定义和缩写词
列出设计本系统/项目的专用术语和缩写语约定。
对于技术相关的名词和与多义词一定要注明清楚,以便阅读时不会产生歧义。
示例:
1.4.1.JMeter对象
Term
Definition
线程组
线程组是任何测试计划的起点,所有的逻辑控制器和采样器都必须放在线程组之下。
HPPTCookieManager
测试元件,所有的Web测试都应该添加Cookie管理器,否则JMeter就会忽略Cookie,确保所有的HTTP请求使用相同的Cookie。
监听器
监听器提供了对JMeter在测试期间收集到的信息的访问方法。
可以将测试数据导入到文件之中,以供后续分析。
断言
用户可以使用断言来检查从服务器获得的响应内容,通过断言可以测试服务器返回的响应与测试人员的期望是否相符。
控制器
Jmeter有两类控制器:
采样器和逻辑控制器。
二者结合起来驱动了测试进程
采样器
采样器告诉JMeter发送一个请求到指定服务器,并等待服务器的请求,采样器按照其在测试树中的顺序去执行,还可以用逻辑控制器来改变采样器运行的重复次数。
逻辑控制器
逻辑控制器可以帮助用户控制JMeter的测试逻辑,特别是何时发送请求。
1.4.2.图信息
Term
Definition
Lable
定义HTTP请求名称
Sample
表示这次测试中一共发出了多少个请求
Average
平均响应时间
Max
访问页面最大响应时间
Min
访问页面最小响应时间
Median
中位数,也就是50%用户的响应时长
90%Line
99%用户的响应时长
Error%
本次测试中出现错误的请求的数量/请求的总数
Throughput
默认情况下表示每秒完成的请求数(RequestperSecond)
KB/Sec
每秒从服务器端接收到的数据量
响应时间
执行事务所花费的时间
以上为示例内容
1.5.参考资料
请列出编写测试报告时所参考的资料、文档。
需求、设计、测试案例、手册以及其他项目文档都是范围内可参考的资料。
测试使用的国家标准、行业指标、公司规范和质量手册等等。
2.测试概要
测试的概要介绍,包括测试范围、测试方法、测试工具、测试环境等,主要是测试情况简介。
2.1.测试范围
请在此处说明此次测试的测试范围,可以参考测试方案中描述的测试范围。
示例:
根据需求,对登录操作进行并发的压力测试,对主要业务模块中的主要业务进行压力和负载测试。
2.2.测试目标
请在此处说明此次测试的测试通过的性能(压力)目标,可以参考测试方案中描述的测试通过的性能(压力)目标。
示例:
系统在并发用户300时,系统表现稳定。
系统响应时间不超过10s。
通过对系统的性能进行测试,找出系统基于某种硬件及软件(主要为硬件环境)下的性能,找出系统的瓶颈和缺陷所在,及长时间的压力测试,找出系统基于某种硬件环境下的最大负载能力。
2.3.测试方法和测试工具
简要介绍测试中采用的方法和工具。
本次压力测试方法的介绍
例如:
性能验证是采用软件测试当中的黑盒测试方法,对涉及性能的软件功能,如:
用户登录模块,业务处理模块,数据库读取等进行测试,主要验证上述功能是否满足性能要求,具体方法可使用黑盒测试方法。
示例:
测试方法:
使用测试工具实现虚拟用户并发压力测试,具体是使用badboy录制脚本,Jmeter做压力测试和JMeterPlugin生成性图表。
测试工具:
工具名称
用途
生产厂商
版本
2.4.测试环境与配置
在此次项目的测试中,所使用到的环境和配置见下表:
硬件环境
序号
服务器
厂商/型号
配置/数量
IP
操作系统
软件环境
序号
系统软件
厂商
版本
备注
3.测试组织
3.1.测试人员
此次参与测试的人员以及人员职责。
序号
姓名
角色
职责
3.2.测试时间细分及投入人力
以下为测试过程中多个测试轮次的时间和人员安排以及工作内容的简单描述:
测试轮次
子系统/子模块
起止日期
总天数
测试人员
4.测试结果及缺陷分析
4.1.测试执行情况统计分析
本次压力测试测试的子模块共计X个,各个子模块压力测试用例及发现缺陷数对应列表如下:
子系统/子模块
测试案例数
发现缺陷数
4.2.遗留缺陷列表
测试过程共发现问题:
xx个。
共解决问题:
xx个。
未解决问题:
xx个。
请在下表中填写未修改完成的缺陷编号并进行分析和填写预防改进措施。
所测试项目中所遗留的缺陷详见下表:
缺陷ID
缺陷概要
遗留原因分析
预防与改进措施
4.3.测试结果分析
示例:
Xxx模块,包含XXX,XXX。
4.3.1查询结果树
此模块测试设置情景为450个并发用户登录,登出。
每秒增加一个并发用户,系统循环运行一次,要求测试通过并且响应时间不超过10m。
JMeter监听器提供了对JMeter在测试期间收集到的信息的访问方法,查看结果树监视测试运行情况,展示采样器请求和响应细节,以HTML和XML格式展示系统响应的基础部分。
如下图所示我们可以看到测试正常运行,所有HTTP请求都得到了服务器的正常响应,能测试脚本录制成功。
4.3.2图形结果
图形结果监听器反应系统响应时间。
样本数目:
运行时得到的取样器响应结果个数,最新样本:
最近一个取样器结果的响应时间,平均:
所有取样器结果的响应时间平均值,偏离:
所有取样器结果的响应时间标准差,吞吐量:
每分钟响应的取样器结果个数,中值:
所有取样器结果的响应时间中间值。
显示图线为随时间变化曲线,但x轴不是时间轴,是取样器个数的均匀分布轴。
如图所示X轴表示取样器个数的均匀分布轴,测试运行时得到的取样器响应结果个数是1350个,最新样本表示最近一个取样器结果的响应时间达到1ms,所有取样器结果的响应时间标准差是950ms,每分钟响应的取样器结果个数是17016.807/分钟,所有取样器结果的响应时间中值100ms。
4.3.3聚合报告
聚合报告包括测试中一共发出了多少个请求,平均响应时间,中位数,也就是50%用户的响应时间,Note:
关于50%和90%并发用户数的含义,Min:
最小响应时间,Max:
最大响应时间。
Error%:
本次测试中出现错误的请求的数量/请求的总数,Throughput:
吞吐量——默认情况下表示每秒完成的请求数(RequestperSecond),KB/Sec:
千字节/秒,每秒从服务器端接收到的数据量。
如图所示聚合报告显示,每个HTTPRequest的Name属性,测试中一共发出了三条请求,每条请求取样450个;第一条请求平均响应时间最长;中位数,50%用户的响应时间;90%Line,90%用户的响应时间;Min,最小响应时间;Max,最大响应时间;Error%,本次测试中出现错误的请求的数量/请求的总数均为0.00%,请求均通过;Throughput:
每秒完成的请求数,均在100%左右;KB/Sec,每秒从服务器端接收到的数据。
4.3.4CPU,Memory,Swap
CPU占用量百分比图:
CPU占用量百分比,在测试运行2s后CPU占用量变化趋于平稳,且占到80%到90%,CPU占用率比较高。
存储量的使用情况图:
存储量的使用情况,运行中系统所占存储量,图中显示存储量在83%左右,系统存储量占用比较大,需要进一步精简,降低存储量。
系统虚拟内存图:
系统虚拟内存,交换空间是专门用于临时存储内存的一块磁盘空间,通常在页面调度和交换进程数据时使用(通常推荐交换空间的大小应该是物理内存的二到四倍),如图所示,系统运行时在前3m虚拟内存使用率较高,说明内存占用量大。
4.3.5ServerHitsperSeconds
每秒测试计划所产生的点击服务器的次数。
x轴表示Elapsedtime经过的时间,y轴Numberofhits/sec表示每秒点击数,如图中所示系统测试运行5m,在1m和3m时出现点击数较多。
4.3.6ResponseTimesOverTime
每秒钟响应时间,X轴表示的是系统运行的时刻,Y轴表示的是响应时间,F(X,Y)表示系统随着时间的推移,系统的响应时间的变化,可以看出响应时间稳定性。
如图所示,在不同的运行时间的每秒的响应时间不同,第一条请求随系统运行时间响应的时间在增大,响应时间长访问效率低,Login和LoginPage响应较快。
4.3.7TransactionsperSecond
每秒的事务数,X轴表示访问结束的时刻,Y轴表示访问量,F(X,Y)表示在某个结束时刻,一共有多少的访问量结束访问。
如图所示,在不同的结束访问时间的访问量波动较大,所有的请求在开始运行时开始访问,图中所有的HTTP请求都成功发送并得到访问,在3m时所有请求的访问量最多。
4.3.8ActiveThreadsOverTime
每秒的活动线程数,X轴表示访问的时刻,Y轴表示活动线程数,F(X,Y)表示某个时刻的活动线程数。
如图所示,每秒的活动线程数在持续增多,并在2-3m出现峰值,并且在5m时结束线程。
以上为示例内容
5.测试结论
示例:
根据以上测试数据,我们可以确定该系统在300个用户在线登陆后,系统处于正常登陆状态。
该系统可以承受450个并发用户登录,登出;340个并发用户登录XXX系统查询个人信息;330个并发用户用户登陆个人主页修改个人信息;320个并发用户用户登陆个人主页检索信息;310个并发用户用户登陆个人主页检索信息并操作。
如果想要增加承压能力,建议修改网站代码,网络环境配置,数据库的容量。
在最大负载情况下,CPU使用率过高,存储量过高和虚拟内存的使用率高造成系统运行响应慢,系统资源成为了系统比较明显的瓶颈,建议升级CPU并且提供CPU平台。
6.测试建议
对系统存在问题的说明,描述测试所揭露的软件缺陷和不足,以及可能给软件实施和运行带来的影响;可能存在的潜在缺陷和后续工作对缺陷修改和产品设计的建议。