网站稿件管理发布系统
文 档 编 号 | Manager_System_001 | 保 密 等 级 | 机密 |
作 者 | tarena | 最后修改日期 | 201510 |
审 核 人 | tarena | 最后审批日期 | 201510 |
批 准 人 | tarena | 最后批准日期 | 201510 |
1.1文档目的
说明测试方案中所涉及内容的简单介绍,包含:编写目的、项目背景、参考文档、测试点选取,场景设计等…
1.2参考文献
《网站稿件管理发布系统软件需求规格说明书》
1.3编写目的
从文档描述网站稿件管理发布系统性能测试的范围、方法、资源、进度,作为网站稿件管理发布系统性能测试的依据,该文档的目的主要有:
1、明确测试范围、测试对象
2、明确测试目标
3、明确测试环境需求,包括:测试需要的软、硬件环境以及测试人力需求
4、确定测试方案,测试的方法和步骤
5、指定测试工作的时间安排
6、分析测试的风险,寻找规避办法
7、确定测试需求输出的结果和结果表现形式
2.软件概述
2.1项目介绍
系统特点
✓本系统是一个网站稿件管理发布系统,包括稿件管理和文档上传下载两个主要功能模块。
✓网站编辑用户可以提交稿件,稿件经过批准后可以在网站上发布。
✓查询稿件可以执行标题检索、全文检索等。
✓文档上传下载功能可以管理和共享Word文档。
2.2运行环境
✓服务器设备
CPU主频1GHz以上,内存1GB以上,硬盘自由空间1GB以上。
✓支持软件
操作系统:Windows2003 Server或Windows XP
数据库服务器:MySQL-5.1.28
应用服务器:Tomcat6.0
Java:JDK1.6.0_07
应用软件:Liferay Portal 5.1.1
浏览器:IE6+sp2
Word:office 2000或office XP或office 2003
2.3项目流程
3.测试资源
3.1软硬件配置
性能测试环境(包括测试工具环境)的硬件和软件配置如下表所示:
环境 | 资源 | 数量 | 型号/配置/软件名称/软件版本号 |
硬件环境 | 核心系统新安腾主机 | 1 | HP 安腾 CPU:40核,主频 1.6GHz 内存:80G 存储:500*9G IP地址:10.1.1.213 |
前置系统服务器主机 | 1 | IBM 595 CPU:8核,主频 2.3GHz 内存:16G 存储:20G IP地址:10.1.1.214 | |
LR压力产生器 | 2 | 笔记本电脑 CPU:双核,主频 1.60GHz 内存:1G/2G IP地址:10.1.119.59/10.1.119.109 | |
LR控制台 | 1 | 笔记本电脑 CPU:双核,主频 1.60GHz 内存:1G IP地址: | |
软件环境 | 核心主机操作系统 | 1 | HP-UX 11.23 |
核心主机数据库 | 1 | Oracle 9i | |
核心主机应用软件 | 1 | ECshop | |
核心主机交易中间件 | 1 | BEA Tuxedo 9.1 | |
前置服务器操作系统 | 1 | IBM-AIX 5.3.0.0 | |
前置服务器数据库 | 1 | Oracle 9.2.0.6.0 | |
前置服务器应用软件 | 1 | 南天综合前置系统(PB) | |
前置服务器交易中间件 | 1 | BEA Tuxedo 9.0 | |
LR压力产生器操作系统 | 2 | Windows XP Professioanl(SP2) | |
LR控制台操作系统 | 1 | Windows XP Professioanl(SP2) | |
LR压力产生器、压力产生器交易中间件客户端 | 3 | BEA Tuxedo WorkStation 6.5 |
序号 | 工具名称 | 用途及说明 | 厂商/自产 | 版本 |
1 | LoadRunner | 性能测试工具,Tuxedo协议(License的并发数为500) | HP | 11.0 英文版 |
角色 | 姓名 | 具体职责 | 技能要求 |
性能测试经理 | 性能测试项目管理和协调 性能测试需求分析 测试计划和测试报告编写 | 1、组织协调能力 2、熟悉性能测试体系 3、熟悉应用架构 | |
性能测试设计人员 | 编制测试案例,开发测试脚本,设计测试场景,执行性能测试 | 1、熟悉性能测试体系 2、熟悉性能测试方法和LoadRunner测试工具 3、脚本编写和调试能力 4、执行时的系统资源监控技术 5、性能瓶颈分析能力 | |
测试环境和测试数据准备人员 | 准备性能测试环境(包括测试工具环境、被测系统硬件环境和软件环境) 准备基础数据和测试数据 | 1、LoadRunner部署能力 2、熟悉核心系统、前置系统软硬件配置 3、熟悉数据库操作 | |
性能调优人员 | 核心后台主机系统优化 | 1、熟悉HP主机设置 2、精通数据库调优 3、熟悉应用架构 |
数据对象 | 数据 | 数据文档 | 位置 |
登录用户 | 用户名 密码 | user.dat | D:\\LR_Project\\data |
查询稿件 | 稿件名称 稿件版本号 稿件标题 稿件内容 | search_manuscript.dat | |
增加稿件 | 稿件标题 稿件内容 | add_manuscript.dat | |
显示稿件 | 稿件编号 | show_manuscript.dat | |
查询文档 | 文档名称 | search_document.dat | |
上传文档 | 文档名称 文档重命名 文档说明 | upload_document.dat | |
序号 | 交付物名称 | 责任人 | 参与者 | 交付日期 |
1 | 性能测试计划 | |||
2 | 性能测试脚本 | |||
3 | 性能测试场景 | |||
4 | 性能测试结果 | |||
5 | 性能测试报告 |
在测试工作量估算数据的基础上,考虑现有的资源情况,对资源进行具体安排,根据项目整体进度计划,列出进度表,即是谁在什么时间内完成什么任务
序号 | 名称 | 责任人 | 工期 | 开始时间 | 完成日期 |
1 | 稿件管理发布系统 | 5工作日 | 2014-04-28 | 2014-05-02 | |
1.1 | 测试设计 | 2工作日 | |||
1.1.1 | 编写测试计划 准备测试环境 准备测试数据 开发测试脚本 | ||||
1.2 | 基准、单交易并发测试 | 1-2工作日 | |||
1.2.1 | 单交易基准测试 | ||||
1.2.1 | 单交易并发测试 | ||||
1.3 | 综合场景测试 | ||||
1.3.1 | 综合场景测试第1轮 | ||||
1.3.2 | 综合场景测试第2轮 | ||||
1.4 | 稳定性测试 | ||||
1.5 | 测试总结 | 0-0.5工作日 |
6.1暂停准则:
核心系统和前置系统应用软件通过系统功能测试;
测试环境已经准备完毕,包括:
⏹核心系统和前置系统应用系统已安装完毕
⏹基础数据以及测试数据已经导入核心系统主机数据库
⏹LoadRunner压力产生器及控制台机器已经准备完毕
测试工具LoadRunner及所需要的License已准备好
测试脚本、测试场景已经准备完毕
以上条件,必须全部满足才能开始性能测试执行。
6.2暂停/再启动的准则
6.2.1暂停准则:
测试汇总发现问题,需要网站稿件管理发布系统修改代码,或者需要更换应用服务器
测试环境受到干扰,比如服务器被临时征用,或服务器的其他使用会对测试结果造成干扰
6.2.2再启动准则
测试中发现问题得以解决
测试环境恢复正常
6.3测试退出准则
满足下列条件之一时,可以结束性能测试执行:
⏹压到预定最大并发用户数,系统性能能够满足预期测试指标要求;
⏹到计划结束日期,压到预定最大并发用户数,经过系统调优,系统性能仍然无法满足预期测试指标要求,但已经无法再实施调优。
7.性能测试目标要求
7.1性能测试指标
本次性能测试需要测试的性能指标包括:
1、交易响应时间:核心系统处理交易的平均响应时间
2、交易吞吐量:后台主机每秒能够处理的交易笔数(TPS)
3、并发交易成功率
4、批处理效率
5、资源使用指标:前置和核心系统各服务器CPU占用率、内存占用率、I/O占用率;LoadRunner压力产生器CPU占用率、内存占用率
7.2交易响应时间
本次性能测试中的交易响应时间是指在一定的负载压力下,由前置系统记录和进行统计分析的、核心系统处理交易的响应时间,用一定时间段内的统计平均值ART来表示。
本次性能测试中,对所有非批量联机交易的ART指标要求为:
ART ≤ 5秒
7.3交易吞吐量
根据统计数据,网站稿件管理核心系统当前生产环境高峰日交易总量为7500笔。根据二八原则(80%的交易量发生在20%的时间段内),当前生产环境对主机的交易吞吐量指标要求为:
TPS_1 ≥ 10000(交易) * 80%(交易量) / (24(小时) * 20% * 3600(1小时60分钟*1分钟60秒)) = 0.34 笔/秒 17280
根据规划,网站稿件管理系统未来1年内核心系统的处理能力应达到高峰日交易总量10000笔,则3年后对主机的交易吞吐量指标要求为:
TPS_2 ≥ 10000 * 80% / (24 * 20% * 3600) = 0.46 笔/秒
为获取核心系统主机的最大处理能力,在本次性能测试中可通过不断加压,让核心系统主机CPU利用率达到85%,记录此时的TPS值,作为新主机处理能力的一个参考值。
为模拟生产上核心主机的异常情况,通过不断加压,让核心系统主机CPU利用率达到接近100%,观察核心系统的工作情况,记录TPS值。
7.4并发交易成功率
指测试结束时成功交易数占总交易数的比率。交易成功率越高,系统越稳定。
对典型交易的场景测试,要求其并发交易成功率 ≥ 99% 。
7.5资源使用指标
在正常的并发测试和批处理测试中,核心系统各服务器主机的资源使用指标要求:
CPU使用率 ≤ 80%
内存使用率 ≤ 80%
I/O使用率 ≤80%
8.测试策略
8.1基准测试
在测试环境经过确认,脚本预验证之后对本次测试涉及的全部联机交易做基准测试。目的是验证测试脚本及后台环境、初步检查交易本身是否存在性能缺陷。
目的:是获取单用户执行时的各项性能指标,为多用户并发和混合场景的性能测试分析提供参考依据;
8.2并发测试
并发测试是指并发不同数目的虚拟用户执行检查点操作,目的是对检查点进行压力加载测试。预测系统投入使用后在一定用户压力情况下的系统响应时间,根据此响应时间分析、确定系统存在的性能瓶颈,为系统的优化和调整提供依据。
8.3递增测试
递增测试是指每隔一定时间段(如5秒、10秒)并发不同数目的虚拟用户执行检查点操作,对检查点进行递增用户压力加载测试,从而模拟系统真实的使用情景,使用户预知系统投入使用后的性能水平。
8.4综合场景测试
通过对系统体系机构和功能模块的分析以及对系统用户的分布和使用频率的分析,来构造系统综合场景的测试模型,模拟不同用户执行不同操作,如10%的用户执行登录操作,50%的用户执行查询操作,40%的用户执行上传文档操作,最大限度地模拟系统的真实场景,使用户预知系统投入使用后的真实性能水平。从而,对系统做出相应的优化及调整,避免实际情况中出现系统长时间不响应及崩溃的情况。
8.5疲劳强度测试
疲劳强度测试是指对系统核心功能点进行疲劳强度测试,即用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段业务时间(如48小时),记录交易平均响应时间,交易正确率,应用服务器和数据库服务器CPU利用率、内存使用情况等参数,考察应用服务器和数据库服务器是否出现宕机、内存泄漏等情况。该测试通常需要和场景测试进行结合,从而可以最大限度地模拟真实环境下,系统长时间连续运行条件下,系统是否能够保持在稳定运行状态。
9.测试用例开发
根据测试范围规定的内容,逐条设计测试需求及完成该测试需求的测试过程、测试条件,构造本次测试的测试用例,编写决策树。
表1 时间特性 | 第1页 | 共1页 | |
测试需求 | 测试过程说明 | 过程标引 | |
登录系统 User_Login | 单用户执行登录系统 | E-01 | |
10用户并发执行登录系统 | E-02 | ||
20用户并发执行登录系统 | E-03 | ||
查询稿件 Search_Manuscript | 单用户执行查询稿件 | E-04 | |
10用户并发执行查询稿件 | E-05 | ||
20用户并发执行查询稿件 | E-06 | ||
增加稿件 Add_Manuscript | 单用户执行增加稿件 | E-07 | |
10用户并发执行增加稿件 | E-08 | ||
20用户并发执行增加稿件 | E-09 | ||
显示稿件 Show_Manuscript | 单用户执行显示稿件 | E-10 | |
10用户并发执行显示稿件 | E-11 | ||
20用户并发执行显示稿件 | E-12 | ||
查询文档 Search_Document | 单用户执行查询文档 | E-13 | |
10用户并发执行查询文档 | E-14 | ||
20用户并发执行查询文档 | E-15 | ||
上传文档 Upload_Document | 单用户执行上传文档 | E-16 | |
10用户并发执行上传文档 | E-17 | ||
20用户并发执行上传文档 | E-18 |
综合场景测试1 | 使用50VU共同执行稿件管理模块。15VU执行增加稿件,15VU执行显示稿件,20VU执行查询稿件。整个场景执行1h. | E-19 | |
综合场景测试2 | 使用50VU共同执行系统的文档模块,结合稿件模块部分功能。15VU执行上传文档,20VU执行查询文档,15VU执行查询稿件。整个场景执行1h. | E-20 | |
疲劳强度测试 | 使用50VU共同对系统进行访问,15VU执行查询稿件,15VU执行查询文档,10VU执行显示稿件,5VU执行上传文档,5VU执行增加稿件。整个场景持续执行12h. | E-21 | |
表2 资源特性 | 第2页 | 共1页 | |
测试需求 | 测试过程说明 | 过程标引 | |
登录系统 User_Login | 单用户执行登录系统,并监控服务器的各项资源 | E-22 | |
10用户并发执行登录系统,并监控服务器的各项资源 | E-23 | ||
20用户并发执行登录系统,并监控服务器的各项资源 | E-24 | ||
查询稿件 Search_Manuscript | 单用户执行查询稿件,并监控服务器的各项资源 | E-25 | |
10用户并发执行查询稿件,并监控服务器的各项资源 | E-26 | ||
20用户并发执行查询稿件,并监控服务器的各项资源 | E-27 | ||
增加稿件 Add_Manuscript | 单用户执行增加稿件,并监控服务器的各项资源 | E-28 | |
10用户并发执行增加稿件,并监控服务器的各项资源 | E-29 | ||
20用户并发执行增加稿件,并监控服务器的各项资源 | E-30 | ||
显示稿件 Show_Manuscript | 单用户执行显示稿件,并监控服务器的各项资源 | E-31 | |
10用户并发执行显示稿件,并监控服务器的各项资源 | E-32 | ||
20用户并发执行显示稿件,并监控服务器的各项资源 | E-33 | ||
查询文档 Search_Document | 单用户执行查询文档,并监控服务器的各项资源 | E-34 | |
10用户并发执行查询文档,并监控服务器的各项资源 | E-35 | ||
20用户并发执行查询文档,并监控服务器的各项资源 | E-36 |
Upload_Document | 单用户执行上传文档,并监控服务器的各项资源 | E-37 | |
10用户并发执行上传文档,并监控服务器的各项资源 | E-38 | ||
20用户并发执行上传文档,并监控服务器的各项资源 | E-39 | ||
综合场景测试1 | 使用50VU共同执行稿件管理模块。15VU执行增加稿件,15VU执行显示稿件,20VU执行查询稿件。整个场景执行1h,并监控服务器的各项资源 | E-40 | |
综合场景测试2 | 使用50VU共同执行系统的文档模块,结合稿件模块部分功能。15VU执行上传文档,20VU执行查询文档,15VU执行查询稿件。整个场景执行1h,并监控服务器的各项资源 | E-41 | |
疲劳强度测试 | 使用50VU共同对系统进行访问,15VU执行查询稿件,15VU执行查询文档,10VU执行显示稿件,5VU执行上传文档,5VU执行增加稿件。整个场景持续执行12h,并监控服务器的各项资源 | E-42 |
10.1测试方法
使用一个Vuser,分别运行每个交易的脚本,设置脚本的迭代次数n次,验证所有脚本是否运行正确、所有交易事务是否成功返回,并获取每个交易的平均交易响应时间ATR(Average Transaction Response Time)。
10.2测试场景
编号 | 场景名 | 执行用户数 | 加压方式 | 持续 时间 | 退出方式 | 思考时间/迭代延迟 | 负载生成器数量 | 备注 |
1 | 用户登录 User_Login_Benchmarks | 1Vuser | 同时 | 1min/待定循环次数 | 同时 | Pacing:2s-4s Thinktime:忽略 | 1 | 获取单用户执行的响应时间和服务器资源,为之后的测试提供依据 |
2 | 查询稿件 Search_Manuscript_Benchmarks | |||||||
3 | 增加稿件 Add_Manuscript_Benchmarks | |||||||
4 | 显示稿件 Show_Manuscript_Benchmarks | |||||||
5 | 查询文档 Search_Document_Benchmarks | |||||||
6 | 上传文档 Upload_Ducument_Benchmarks |
11.1测试方法
使用10个Vuser,分别为每个交易执行并发,验证所有脚本是否运行正确、所有交易事务是否成功返回,并获取每个交易的平均交易响应时间ATR(Average Transaction Response Time)。
11.2测试综合场景
编号 | 场景名 | 并发用户数 | 加压方式 | 持续 时间 | 退出方式 | 思考时间/迭代延迟 | 负载生成器数量 | 集合点策略 |
1 | 用户登录 User_Login_Concurrent_10VU | 10 | 同时 | 运行完成 | 同时 | 忽略 | 1 | 设置第一项:让100%VU到达集合点时再一起释放 |
2 | 查询稿件 Search_Manuscript_Concurrent_10VU | |||||||
3 | 增加稿件 Add_Manuscript_Concurrent_10VU | |||||||
4 | 显示稿件 Show_Manuscript_Concurrent_10VU | |||||||
5 | 查询文档 Search_Document_Concurrent_10VU | |||||||
6 | 上传文档 Upload_Ducument_Concurrent_10VU |
11.3测试方法
使用20个Vuser,分别为每个交易执行并发,验证所有脚本是否运行正确、所有交易事务是否成功返回,并获取每个交易的平均交易响应时间ATR(Average Transaction Response Time)。
11.4测试场景
编号 | 场景名 | 并发用户数 | 加压方式 | 持续 时间 | 退出方式 | 思考时间/迭代延迟 | 负载生成器数量 | 集合点策略 |
1 | 用户登录 User_Login_Concurrent_20VU | 20 | 同时 | 运行完成 | 同时 | 忽略 | 1 | 设置第一项:让100%VU到达集合点时再一起释放 |
2 | 查询稿件 Search_Manuscript_Concurrent_20VU | |||||||
3 | 增加稿件 Add_Manuscript_Concurrent_20VU | |||||||
4 | 显示稿件 Show_Manuscript_Concurrent_20VU | |||||||
5 | 查询文档 Search_Document_Concurrent_20VU | |||||||
6 | 上传文档 Upload_Ducument_Concurrent_20VU |
制作单个交易的性能测试脚本,将同一模块内功能相近的脚本放在同一个测试场景中,并发用户数为50,平均设定每个交易的比例,设定负载序列,按照负载序列逐渐增加并发用户数。
场景一 | ||||||||
序号 | 模块名称 | 功能点 | 执行用户数 | 用户加载方式 | Duration | Pacing | Think time | 备注 |
1 | 稿件 | 查询稿件 (20VU) | 50 | 每1秒加载1个 | 1h | Random:4s-6s | Random50%-150% | VU退出方式:每隔1秒退出1个VU |
2 | 显示稿件 (15VU) | |||||||
3 | 增加稿件 (15VU) |
场景二 | ||||||||
序号 | 模块名称 | 功能点 | 执行用户数 | 用户加载方式 | Duration | Pacing | Think time | 备注 |
1 | 文档+稿件 | 查询文档 (20VU) | 50 | 每1秒加载1个 | 1h | Random:4s-6s | Random50%-150% | VU退出方式:每隔1秒退出1个VU |
2 | 上传文档 (15VU) | |||||||
3 | 查询稿件 (15VU) |
使用50用户系统稳定运行的情况下,以一定的负载压力来长时间运行系统的测试,主要目的是确定被测系统系统长时间处理较大业务量时的性能,获取响应时间和服务器各项资源。
场景一 | |||||||||
序号 | 模块名称 | 功能点 | 执行用户数 | 用户加载方式 | Duration | Pacing | Think time | 负载生成器数量 | 备注 |
1 | 稿件+文档 | 查询稿件 (15VU) | 50 | 每1秒加载1个 | 12h | Random:3s-9s | Random50%-150% | 2 | VU退出方式:每隔1秒退出1个VU |
2 | 查询文档 (15VU) | ||||||||
3 | 显示稿件 (10VU) | ||||||||
4 | 上传文档 (5VU) | ||||||||
5 | 增加稿件 (5VU) |