1、 编号:密级:XXX大数据平台性能测试方案V1-1.0拟 制 人: 审 核 人: 批 准 人: 2016年01月08日文件变更记录*A - 增加 M - 修订 D - 删除版本号日期变更类型(A*M*D)修改人摘要审核人备注V1.02016-01-08A新建性能测试方案目 录目 录I1 引言11.1编写目的11.2测试目标11.3读者对象11.4 术语定义12 环境搭建12.1 测试硬件环境12.2 软件环境23 测试范围23.1 测试功能点23.2 测试类型23.3性能需求33.4准备工作33.5 测试流程34.业务模型44.1 基准测试44.1.1 Hadoop/ Spark读取算法的基准
2、测试44.1.2 Hadoop/ Spark写入算法的基准测试54.1.3 Hadoop/ Spark导入算法的基准测试64.1.4 Hadoop/ Spark导出算法的基准测试74.2 负载测试84.2.1 Hadoop/ Spark并行读取/写入算法的负载测试84.2.2 Hadoop/ Spark并行导入/导出算法的负载测试94.3 稳定性测试104.3.1 Hadoop/ Spark并行读取/写入/导入/导出算法,7*24小时稳定性测试105 测试交付项126 测试执行准则126.1 测试启动126.2 测试执行126.3 测试完成137 角色和职责138 时间及任务安排139 风险和
3、应急149.1影响方案的潜在风险149.2应急措施141 引言1.1 编写目的本测试方案将对XXX大数据平台的测试方案、测试范围,测试的软件硬件环境、测试进度、测试人员的分工和职责以及测试流程进行详细的定义和整体的描述。1.2 测试目标本次性能测试的目标是检测XXX大数据平台在服务器上运行时,了解该服务器的各项性能情况。1.3 读者对象本方案的预期读者是:项目负责人、测试人员、运维人员和其他相关人员。1.4 术语定义术语定义性能测试通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试场景用于根据性能要求定义在每一个测试会话进行期间发生的事件事务表示要度量的最终指
4、定的某个特定业务2 环境搭建2.1 测试硬件环境服务器名数量期望到位阶段备注服务器1开发提测前2.2 软件环境 资源名称配置3 测试范围3.1 测试功能点编号测试点对应算法备注1Hadoop读取2Hadoop写入3Hadoop导入4Hadoop导出5Spark读取6Spark写入7Spark导入8Spark导出3.2 测试类型类型定义备注基准测试单事物单用户测试,目的是对选择的单用户在无压力情况下(无额外进程运行并占用系统资源)情况下,获取系统处理单请求的情况负载测试通过逐步增加系统负载,测试系统性能的变化稳定性测试通过给系统加载一定业务压力,运行7*24小时,以此检测系统是否稳定运行。3.3
5、性能需求名称指标备注CPU使用率不高于80%内存使用率不高于80%I/O使用率不高于80%响应时间Network使用率不高于80%3.4准备工作1. 测试功能点全部通过功能测试,确保功能上没有问题;2. 测试环境服务器已搭建,被测项目已部署;3. 准备测试客户机;4. 准备好测试数据;5. 创建测试场景,并配置好每个场景的设置;6. 测试过程中保存好测试数据和分析结果,并规范对执行结果进行命名3.5 测试流程 4.测试策略4.1 基准测试4.1.1 Hadoop/ Spark读取算法的基准测试场景1:数据容量100G时,进行读取算法的基准测试用例名称数据量100G,读取功能的基准测试算法读取验
6、证功能Hadoop/ Spark的读取测试测试目的对比Hadoop/ Spark的读取算法,进行数据容量100G读取操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量100G2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的读取代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景2:数据容量500G时,进行读取算法的基准测试用例名称数据量500G,读取功能的基准测试算法读取验证功能Hadoop/ Spark的读取测试测试目的对比Hadoop/ Spark的读取算法,进行数据容量500G
7、读取操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量500G2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的读取代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景3:数据容量1T时,进行读取算法的基准测试用例名称数据量1T,读取功能的基准测试算法读取验证功能Hadoop/ Spark的读取测试测试目的对比Hadoop/ Spark的读取算法,进行数据容量1T读取操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量1T2. 对redpower服务器进行资源监控3.
8、 客户端执行Hadoop/ Spark的读取代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark4.1.2 Hadoop/ Spark写入算法的基准测试场景1:数据容量100G时,进行写入算法的基准测试用例名称数据量100G,写入功能的基准测试算法写入验证功能Hadoop/ Spark的写入测试测试目的对比Hadoop/ Spark的写入算法,进行数据容量100G写入操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量100G2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的写入代码运行结果
9、类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景2:数据容量500G时,进行写入算法的基准测试用例名称数据量500G,写入功能的基准测试算法写入验证功能Hadoop/ Spark的写入测试测试目的对比Hadoop/ Spark的写入算法,进行数据容量500G写入操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量500G2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的写入代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景3:数据容量1T时
10、,进行写入算法的基准测试用例名称数据量1T,写入功能的基准测试算法写入验证功能Hadoop/ Spark的写入测试测试目的对比Hadoop/ Spark的写入算法,进行数据容量1T写入操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量1T2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的写入代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark4.1.3 Hadoop/ Spark导入算法的基准测试场景1:数据容量100G时,进行导入算法,查看服务器的相关性能指标用例名称数据量100G,导入
11、功能的基准测试算法导入验证功能Hadoop/ Spark的导入测试测试目的对比Hadoop/ Spark的导入算法,进行数据容量100G导入操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量100G2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的导入代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景2:数据容量500G时,进行导入算法,查看服务器的相关性能指标用例名称数据量500G,导入功能的基准测试算法导入验证功能Hadoop/ Spark的导入测试测试目的对比Hadoop/ S
12、park的导入算法,进行数据容量500G导入操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量500G2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的导入代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景3:数据容量1T时,进行导入算法,查看服务器的相关性能指标用例名称数据量1T,导入功能的基准测试算法导入验证功能Hadoop/ Spark的导入测试测试目的对比Hadoop/ Spark的导入算法,进行数据容量1T导入操作时,redpower服务器运行情况前置条件操作步骤1.准备数
13、据容量1T2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的导入代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark4.1.4 Hadoop/ Spark导出算法的基准测试场景1:数据容量100G时,进行导出算法,查看服务器的相关性能指标用例名称数据量100G,导出功能的基准测试算法导出验证功能Hadoop/ Spark的导出测试测试目的对比Hadoop/ Spark的导出算法,进行数据容量100G导出操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量100G2. 对redpower服务器
14、进行资源监控3. 客户端执行Hadoop/ Spark的导出代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景2:数据容量500G时,进行导出算法,查看服务器的相关性能指标用例名称数据量500G,导出功能的基准测试算法导出算法验证功能Hadoop/ Spark的导出测试测试目的对比Hadoop/ Spark的导出算法,进行数据容量500G导出操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量500G2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的导出代码运行结果类别CPU使用率内存
15、使用率I/ONETWORK响应时间备注HadoopSparkSpark场景3:数据容量1T时,进行导出算法,查看服务器的相关性能指标用例名称数据量1T,导出功能的基准测试算法导出验证功能Hadoop/ Spark的导出测试测试目的对比Hadoop/ Spark的导出算法,进行数据容量1T导出操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量1T2. 对redpower服务器进行资源监控3. 客户端执行Hadoop/ Spark的导出代码运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark4.2 负载测试4.2.1 Hadoop/
16、 Spark并行读取/写入算法的负载测试场景1:数据容量100G时,并行读取/写入算法的混合测试场景用例名称数据量100G,并行读取/写入的负载测试算法读取/写入验证功能Hadoop/ Spark并行读取/写入测试测试目的对比Hadoop/ Spark的并行读取/写入,进行数据容量100G操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量100G2. 对redpower服务器进行资源监控3. 客户端并行执行Hadoop/ Spark的读取/写入算法运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景2:数据容量500G时,并
17、行读取/写入算法的混合测试场景用例名称数据量500G,并行读取/写入的负载测试算法读取/写入验证功能Hadoop/ Spark并行读取/写入测试测试目的对比Hadoop/ Spark的并行读取/写入,进行数据容量500G操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量500G2. 对redpower服务器进行资源监控3. 客户端并行执行Hadoop/ Spark的读取/写入算法运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景3:数据容量1T时,并行读取/写入算法的混合测试场景用例名称数据量1T,并行读取/写入的负载测试
18、算法读取/写入验证功能Hadoop/ Spark并行读取/写入测试测试目的对比Hadoop/ Spark的并行读取/写入,进行数据容量1T操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量1T2. 对redpower服务器进行资源监控3. 客户端并行执行Hadoop/ Spark的读取/写入算法运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark4.2.2 Hadoop/ Spark并行导入/导出算法的负载测试场景1:数据容量100G时,并行导入/导出算法的混合场景测试用例名称数据量100G,并行导入/导出的负载测试算法导入/导
19、出验证功能Hadoop/ Spark并行导入/导出测试测试目的对比Hadoop/ Spark的并行导入/导出,进行数据容量100G操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量100G2. 对redpower服务器进行资源监控3. 客户端并行执行Hadoop/ Spark的导入/导出算法运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景2:数据容量500G时,并行读取/写入算法的混合场景测试用例名称数据量500G,并行导入/导出的负载测试算法导入/导出验证功能Hadoop/ Spark并行导入/导出测试测试目的对比Ha
20、doop/ Spark的并行导入/导出,进行数据容量500G操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量500G2. 对redpower服务器进行资源监控3. 客户端并行执行Hadoop/ Spark的导入/导出算法运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景3:数据容量1T时,并行读取/写入算法的混合场景测试用例名称数据量1T,并行导入/导出的负载测试算法导入/导出验证功能Hadoop/ Spark并行导入/导出测试测试目的对比Hadoop/ Spark的并行导入/导出,进行数据容量1T操作时,redpowe
21、r服务器运行情况前置条件操作步骤1.准备数据容量1T2. 对redpower服务器进行资源监控3. 客户端并行执行Hadoop/ Spark的导入/导出算法运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark4.3 稳定性测试4.3.1 Hadoop/ Spark并行读取/写入/导入/导出算法,7*24小时稳定性测试场景1:数据容量100G时,并行读取/写入/导入/导出稳定性测试用例名称数据量100G,并行读取/写入/导入/导出稳定性测试算法读取/写入/导入/导出验证功能Hadoop/ Spark并行读取/写入/导入/导出稳定性测试测试目的对比Ha
22、doop/ Spark的并行读取/写入/导入/导出,进行数据容量100G操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量100G2. 对redpower服务器进行资源监控3. 客户端并行执行Hadoop/ Spark的读取/写入/导入/导出算法,运行时长7*24小时运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景2:数据容量500G时,并行读取/写入/导入/导出稳定性测试用例名称数据量500G,并行读取/写入/导入/导出稳定性测试算法读取/写入/导入/导出验证功能Hadoop/ Spark并行读取/写入/导入/导出稳定
23、性测试测试目的对比Hadoop/ Spark的并行读取/写入/导入/导出,进行数据容量500G操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量500G2. 对redpower服务器进行资源监控3. 客户端并行执行Hadoop/ Spark的读取/写入/导入/导出算法,运行时长7*24小时运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark场景3:数据容量1T时,并行读取/写入/导入/导出稳定性测试用例名称数据量1T,并行读取/写入/导入/导出稳定性测试算法读取/写入/导入/导出验证功能Hadoop/ Spark并行读取/写入/
24、导入/导出稳定性测试测试目的对比Hadoop/ Spark的并行读取/写入/导入/导出,进行数据容量1T操作时,redpower服务器运行情况前置条件操作步骤1.准备数据容量1T2. 对redpower服务器进行资源监控3. 客户端并行执行Hadoop/ Spark的读取/写入/导入/导出算法,运行时长7*24小时运行结果类别CPU使用率内存使用率I/ONETWORK响应时间备注HadoopSparkSpark5 测试交付项测试阶段提交文档文档要求测试方案XXX大数据平台-性能测试方案1、测试经理制定项目的测试计划测试设计及实现XXX大数据平台-性能测试用例1、测试人员编写项目所有测试用例2、
25、评审通过后导入到禅道中,并上传至SVN服务器测试报告XXX大数据平台-性能测试报告1、主导测试完成测试报告2、包括性能指标分析图6 测试执行准则6.1 测试启动 在开始进行测试时必需满足的条件。这些条件涉及:1. 开发提测checklist内容符合要求,已提交至测试部门。2. 系统功能测试已通过。3. 性能测试方案、测试流程、测试进度的制订已完成,并经过严格评审。4. 性能测试所需的资源已经到位。5. 测试组人员配置合理,测试人员的工作技能符合测试要求。6. 性能测试所需的软、硬件和操作系统等测试环境准备完毕。6.2 测试执行1. 根据测试方案相关测试环境的内容,检查测试环境(包括硬件及软件)
26、,确保测试环境符合要求。2. 对于测试用例的描述信息,按测试意图对每一个测试用例设计操作流程中重要环节的动作、输入数据和预期的反映(注:此流程可不必详细到每一个具体的步骤,但应确保测试执行人员可以据此信息顺利执行,而不必询问测试用例的开发人员)。3. 执行测试活动,并记录执行日期,对于每个测试用例还应记录关键操作步骤、输入数据以及任何与测试人员预期结果不符的系统响应。4. 每个测试用例执行完毕后,视具体情况对系统进行备份或根据备份数据对系统进行恢复。6.3 测试完成1.达到性能要求。即在指定的负载下,系统的性能指标达到测试标准;2.在长时间运行后,系统不崩溃,各功能正常;服务器CPU,内存,响
27、应时间等参数保持稳定;场景运行停止后,一段时间内占用的资源可以正常释放。 7 角色和职责人员名称角色数量需求职责性能测试经理1部门经理性能测试设计员1性能测试工程师测试开发人员3性能测试工程师、开发工程师测试环境准备人员3性能测试工程师、开发工程师测试数据准备人员3相关项目配合人员脚本场景准备人员2性能测试工程师、开发工程师性能调优准备人员2性能测试工程师、开发工程师8 时间及任务安排任务名称开始时间结束时间所需时长负责人测试方案2016-01-062016-01-083方案评审2016-01-112016-01-111环境部署5数据准备5测试场景准备5基准测试执行5负载测试执行5稳定性测试执
28、行21测试报告2在实际测试过程中,由于测试环境有时不太稳定、和功能测试共用测试环境以及测试场景执行出错需重复测试等原因,实际进度可能会稍有推迟。9 风险和应急9.1影响方案的潜在风险1)选择的业务流不具有代表性。即选择的测试功能点经过负荷测试和长时间测试后不能重现系统问题,如内存溢出,速度慢等问题;选择测试功能点的原则:客户使用系统时经常操作的业务流,以及觉得反应比较慢的几个功能模块; 2)不是在实际环境中的测试(即模拟的测试环境和客户实际使用环境配置差别较大),由于测试环境的不同,测试结果和实际使用环境中的结果有一定的出入; 3)测试环境中的数据量比实际环境中使用一段时间后的数据量要少的多,系统目前的性能不能代表数据量增长后的性能。9.2应急措施1.对上述潜在风险因素的应急措施逐项给以明确规定。通常的应急措施有:l通过适当加班来保证计划的按时完成l2.如果是由于被测试产品存在重大错误而严重影响测试进度,则考虑按照测试暂停标准来暂停该测试