软件性能测试报告.docx
《软件性能测试报告.docx》由会员分享,可在线阅读,更多相关《软件性能测试报告.docx(32页珍藏版)》请在冰豆网上搜索。
软件性能测试报告
秘级:
XXXXXX
XXXXXXX系统性能测试报告
XXXXXXXX
文档编号:
XXXXXXX
日期:
XXXXXXX-XXXXXXX-XXXXXXX
文档修订记录
版本号
日期
撰写人
审核人
批准人
变更摘要&修订位置
1测试概述
1.1项目背景
XXXXXXX。
1.2测试目的
测试的目的和目标是:
在XXXXXX提供的测试环境中,XXXXXX运用性能测试工具对XXXXXX产生模拟真实使用环境的压力负载,重现缺陷发生状态,并监控的客户端和服务器性能指标,最终判断性能缺陷所属系统业务模块。
1.3测试内容
经初步判断,出现性能缺陷模块为XXXXXX的XXXXXX这几个使用频繁且业务处理量大的模块。
XXXXXX系统日常运行的基本业务为新增、删除、查询、修改等操作。
因此将本次性能测试的重点确定为被测模块的新增、删除、查询、修改的典型业务。
2测试方案
2.1系统分析
2.1.1系统架构
1)系统逻辑部署
2.1.2硬件环境
型号
主机IP
CPU数
内存
用途
HPsuperdome
8
64G
中间件服务器
HPsuperdome
8
64G
数据库服务器
2.1.3软件环境
名称
版本
操作系统
HPUX11.11
中间件
oracleias(10.12)
数据库
Oracle10g(10.2.0.2)
2.1.4网络拓扑结构
系统采用B/S架构模式,客户端通过OracleIas中间件访问数据库。
中间件和数据库分别部署在两台HPSuperdome服务器上。
2.2测试模型
2.2.1业务模型
使用单个交易的性能测试脚本,将同一模块内相近功能的脚本放在同一个测试场景中,平均设定每个交易的比例。
场景
业务名称
业务比例
场景1
25%
25%
25%
25%
场景2
50%
50%
场景3
20%
20%
20%
20%
20%
场景4
16.67%
16.67%
16.67%
16.67%
16.67%
16.67%
场景5
33.33%
33.33%
33.33%
场景6
25%
25%
25%
25%
场景7
16.67%
16.67%
16.67%
16.67%
16.67%
16.67%
场景8
33.33%
33.33%
33.33%
场景9
25%
25%
25%
25%
场景10
50%
50%
2.2.2测试场景模型
2.2.2.1.基准测试场景
基准测试场景
序号
功能模块
交易名
用户数
迭代次数
Thinktime
循环间隔
1
1
20次
忽略
忽略
2
1
20次
忽略
忽略
3
1
20次
忽略
忽略
4
1
20次
忽略
忽略
5
1
20次
忽略
忽略
6
1
20次
忽略
忽略
7
1
20次
忽略
忽略
8
1
20次
忽略
忽略
9
1
20次
忽略
忽略
10
1
20次
忽略
忽略
11
1
20次
忽略
忽略
12
1
20次
忽略
忽略
13
1
20次
忽略
忽略
14
1
20次
忽略
忽略
15
1
20次
忽略
忽略
16
1
20次
忽略
忽略
17
1
20次
忽略
忽略
18
1
20次
忽略
忽略
19
1
20次
忽略
忽略
20
1
20次
忽略
忽略
21
1
20次
忽略
忽略
22
1
20次
忽略
忽略
23
1
20次
忽略
忽略
24
1
20次
忽略
忽略
25
1
20次
忽略
忽略
26
1
20次
忽略
忽略
27
1
20次
忽略
忽略
28
1
20次
忽略
忽略
29
1
20次
忽略
忽略
30
1
20次
忽略
忽略
31
1
20次
忽略
忽略
32
1
20次
忽略
忽略
33
1
20次
忽略
忽略
34
1
20次
忽略
忽略
35
1
20次
忽略
忽略
36
1
20次
忽略
忽略
37
1
20次
忽略
忽略
38
1
20次
忽略
忽略
39
1
20次
忽略
忽略
2.2.2.2.混合交易负载场景
制作单个交易的性能测试脚本,将同一模块内功能相近的脚本放在同一个测试场景中,并发用户数为50,平均设定每个交易的比例,设定负载序列,按照负载序列逐渐增加并发用户数。
场景一
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
3
4
场景二
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
场景三
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
3
4
5
场景四
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
3
4
5
6
场景五
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
3
场景六
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
3
4
场景八
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
3
场景九
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
3
4
场景十
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
2.2.2.3.单交易负载场景
根据混合场景运行的结果发现:
场景九运行时中间件服务器的CPU使用率持续为100%,另外性能缺陷不存在于场景十包含的功能,所以需要针对场景九包含的贷款发放、贷款回收、利息回收功能分别进行单业务负载场景,进一步将性能缺陷定位到功能点。
并发用户设定为50,设定负载序列,按照负载序列逐渐增加并发用户数。
单交易负载场景
序号
功能名称
功能点
并发用户数
用户加载方式
Thinktime
循环间隔
1
50
每2秒加载1个
忽略
忽略
2
50
每2秒加载1个
忽略
忽略
3
50
每2秒加载1个
忽略
忽略
2.3系统资源监控及关注指标
在进行负载压力测试的同时,用测试工具对中间服务器的资源和性能指标进行监控。
选取中间件服务器的CPU使用率进行分析。
2.4测试工具及使用
本次测试使用HP公司的性能测试工具LoadRunnerv9.0生成虚拟用户,通过LoadRunner负载运行控制器控制生成的虚拟用户对被测系统进行压力负载测试,同时使用LR监控中间件服务器的系统资源和性能指标。
3测试执行结果
3.1基准测试场景执行结果
基准测试场景结果汇总:
序号
功能模块
交易名
用户数
平均事务响应时间(秒)
通过事务数
(单位:
个)
失败事务数
(单位:
个)
1
1
0.327
20
0
2
1
0.223
20
0
3
1
0.27
20
0
4
1
0.263
20
0
5
1
0.559
20
0
6
1
0.336
20
0
7
1
0.266
20
0
8
1
0.474
20
0
9
1
0.341
20
0
10
1
0.303
20
0
11
1
0.346
20
0
12
1
0.667
20
0
13
1
0.584
20
0
14
1
0.613
20
0
15
1
0.417
20
0
16
1
0.408
20
0
17
1
0.443
20
0
18
1
0.33
20
0
19
1
0.34
20
0
20
1
0.381
20
0
21
1
0.321
20
0
22
1
1.007
20
0
23
1
0.977
20
0
24
1
1.225
20
0
25
1
0.992
20
0
26
1
1.085
20
0
27
1
1.364
20
0
28
1
1.406
20
0
29
1
1.427
20
0
30
1
0.282
20
0
31
1
1.026
20
0
32
1
1.022
20
0
33
1
0.197
20
0
34
1
0.298
20
0
35
1
4.994
20
0
36
1
31.838
20
0
37
1
3.382
20
0
38
1
14.739
20
0
39
1
1.609
20
0
3.2混合交易负载场景执行结果
混合交易负载场景执行结果汇总:
混合场景一执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
150
10.226
47.544
100
10.225
10.224
10.047
场景运行结束后,中间件服务器的CPU使用率下降至较低水平。
混合场景二执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
156
39.387
54.89
100
51.738
场景运行结束后,中间件服务器的CPU使用率下降至较低水平。
混合场景三执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
270
18.082
56.202
100
18.102
18.158
18.107
17.949
场景运行结束后,中间件服务器的CPU使用率下降至较低水平。
混合场景四执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
290
20.767
54.145
100
20.399
20.67
20.278
20.402
20.449
场景运行结束后,中间件服务器的CPU使用率下降至较低水平。
混合场景五执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
234
42.709
28.499
50.5
42.423
23.156
场景运行结束后,中间件服务器的CPU使用率下降至较低水平。
混合场景六执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
257
39.127
66.757
100
38.655
38.239
38.901
场景运行结束后,中间件服务器的CPU使用率下降至较低水平。
混合场景七执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
274
20.567
61.018
100
29.059
29.308
29.269
27.69
20.843
场景运行结束后,中间件服务器的CPU使用率下降至较低水平。
混合场景八执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
309
91.636
33.539
74.043
50.96
49.305
场景运行结束后,中间件服务器的CPU使用率下降至较低水平。
混合场景九执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
107
34.815
99.07
100
125.75
5.226
33.093
场景运行结束后,中间件服务器CPU使用率持续为100%。
混合场景十执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
90
68.860
16.498
100
52.132
场景运行结束后,中间件服务器的CPU使用率下降至较低水平。
3.3单交易负载场景执行结果
单交易负载场景执行结果
业务模块
业务
最大用户数
平均事务响应时间(秒)
CPU平均使用率%
CPU最大使用率%
153
117.069
98.952
100
201
76.113
98.764
100
300
22.337
91.467
100
其中查询XXXXXX、XXXXXX回收场景运行结束后,中间件服务器CPU使用率持续为100%,并不会因为用户退出而有明显下降;XXXXXX场景运行结束后中间件服务器CPU使用率下降至较低水平。
4测试结果分析
通过混合场景测试中发现XXXXXX模块存在性能缺陷,表现为在XXXXXX的混合场景测试中,中间件服务器CPU占用率自始至终维持在100%,并且当场景结束后CPU占用率并没有随之下降。
将系统性能缺陷定位到贷后管理模块后,针对该模块包含的典型业务进行单业务负载测试,发现利息回收和贷款回收两个功能的测试结果与混合场景的结果一致,可以认定为该两个功能存在性能缺陷。
4.1混合场景结果分析
4.1.1关键性能指标分析
从loadrunner得到响应时间和中间件服务器CPU使用率等性能指标,根据性能指标分析判断性能缺陷所在场景对应的业务模块。
4.1.1.1.响应时间、系统资源分析
场景一:
XXXXXX事务响应时间与用户变化对应图
结果分析:
事务的响应时间随着用户数不断增加而增大;在用户数增加到130后,事务执行出现错误,错误信息为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以该场景中的功能点不存在性能缺陷。
场景二:
:
XXXXXX事务响应时间与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到155时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以该场景中的功能点不存在性能缺陷。
场景三:
XXXXXX事务与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到270时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以该场景中的功能点不存在性能缺陷。
场景四:
XXXXXX事务与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到280时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以该场景中的功能点不存在性能缺陷。
场景五:
XXXXXX事务与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到230时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以该场景中的功能点不存在性能缺陷。
场景六:
XXXXXX查询事务与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到257时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以该场景中的功能点不存在性能缺陷。
场景七:
XXXXXX事务与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到270时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以该场景中的功能点不存在性能缺陷。
场景八:
XXXXXX事务与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到309时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以该场景中的功能点不存在性能缺陷。
场景九:
XXXXXX与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到107时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率没有下降至较低水平。
所以此场景包含的业务功能存在性能缺陷,需要进行单交易交易负载场景测试。
场景十:
XXXXXX事务与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到90时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以在此场景中CPU不是性能瓶颈,性能缺陷也不存在此场景对应的业务模块中。
则场景九中提交利息回收报表不是导致性能缺陷的功能,需要对其他三个功能进行进一步的性能测试。
4.2单交易负载场景结果分析
4.2.1关键性能指标分析
根据混合业务运行结果,使用混合业务中对应的业务功能进行单业务负载测试,同时监控事务响应时间和中间件服务器的CPU使用率,根据指标分析性能缺陷所在的业务功能模块。
4.2.1.1.响应时间、系统资源分析
XXXXXX负载场景:
XXXXXX事务与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到153时出现业务失败,失败原因为下载资源超时。
在此场景中中间件服务器的CPU使用率持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率没有明显下降。
所以此场景中利息回收功能存在性能缺陷。
XXXXXX负载场景:
XXXXXX事务与运行用户分析
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到201时出现失误失败,失败原因为下载资源超时。
在此场景中中间件服务器的CPU使用率持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率没有明显下降。
所以此场景中贷款回收功能存在缺陷。
XXXXXX查询负载场景:
XXXXXX查询事务与运行用户分
结果分析:
事务响应时间随着运行用户数的增加而增大;在场景运行用户增加到250时出现失误失败,失败原因为下载资源超时。
在此压力下中间件服务器的CPU使用率没有持续达到100%如下图,并且场景停止运行后中间件服务器CPU使用率下降至较低水平。
所以在此场景中贷款发放功能不存在性能缺陷。
5问题及建议
5.1问题
在本次测试覆盖的XXXXXX系统功能点中,发现了导致XXXXXX系统性能急剧下降的性能缺陷。
性能缺陷所在的功能为:
XXXXXX和XXXXXX功能。
5.2建议
系统开发方重点针对XXXXXX和XXXXXX功能检查代码,发现并修改系统中的低效代码。
6结论
根据本次性能测试的结果和XXXXXX对结果的分析,当30到40用户同时操作信贷业务系统的XXXXXX和XXXXXX功能时,中间件服务器的CPU占用持续达到100%,并且不随着用户的退出而降低。
所以XXXXXX的XXXXXX和XXXXXX功能存在明显性能缺陷。